Lezione 15 - Progetto: crea un'app per l'apprendimento automatico
45 minuti
Panoramica
In questo progetto da completare in uno o due giorni, gli studenti applicano le competenze acquisite finora nell'unità e creano un'app di apprendimento automatico utilizzando dati del mondo reale. Agli studenti vengono forniti diversi insiemi di dati del mondo reale provenienti da una varietà di contesti e scelgono quale insiemi di dati desiderano esaminare. Addestrano e salvano il modello, quindi creano una semplice app di "Sviluppo App" che utilizza il modello. Questo mini-progetto è un'opportunità per valutare in che modo gli studenti possono utilizzare le caratteristiche per creare modelli di apprendimento automatico accurati e quanto bene possono creare app che utilizzano l'apprendimento automatico.
Domanda del giorno: posso usare dati del mondo reale per creare un'app che utilizza l'apprendimento automatico?
Opportunità di valutazione
Viene fornita una tabella con i criteri di valutazione per valutare il mini-progetto
Mappatura delle competenze
AP - Algorithms & Programming
- 2-AP-19 - Document programs in order to make them easier to follow, test, and debug.
DA - Data & Analysis
- 3A-DA-12 - Create computational models that represent the relationships among different elements of data collected from a phenomenon or process.
- 3B-DA-05 - Use data analysis tools and techniques to identify patterns in data representing complex systems.
BI-3 - Computers can learn from data
3-A-ii - Nature of Learning - finding patterns in data
- 3-A-ii.9-12 - Use either a supervised or unsupervised learning algorithm to train a model on real world data, then evaluate the results.
3-A-iii - Nature of Learning - training a model
- 3-A-iii.6-8 - Train and evaluate a classification or prediction model using machine learning on a tabular dataset
3-C-i - Datasets - feature sets
- 3-C-i.6-8 - Create a dataset for training a decision tree classifier or predictor and explore the impact that different feature encodings have on the decision tree.
3-C-iii - Datasets - bias
- 3-C-iii.6-8 - Explain how the choice of training data shapes the behavior of the classifier, and how bias can be introduced if the training set is not properly balanced.
Pianificazione
Obiettivi
Gli alunni saranno in grado di:
- creare un modello di apprendimento automatico utilizzando un insieme di dati provenienti dal mondo reale
- creare un'app che utilizzi un modello di apprendimento automatico
Preparazione
- Riguarda gli esrcizi di Code Studio prima della lezione
- Stampa copie della guida alle attività per ogni studente
- Consulta il forum "Aula insegnanti" per gli insegnanti verificati per trovare strategie o risorse aggiuntive condivise dagli altri insegnanti
Collegamenti
Attenzione! Fai una copia di tutti i documenti che intendi condividere con gli alunni.
Per gli insegnanti
- Crea un'app di apprendimento automatico - Diapositive (Scarica)
Per gli studenti
- Crea un'app di apprendimento automatico - Criteri di valutazione
- Crea un'app di apprendimento automatico - Guida al progetto
Guida didattica
Preparazione
Inizia
Inizia subito: fai subito iniziare questo progetto agli studenti in modo che abbiano il tempo di concluderlo. Anche se questo mini-progetto è previsto per un solo periodo di lezione, puoi considerare di estenderlo su due giorni: un giorno per addestrare un modello e creare una scheda modello e un giorno per personalizzare l'app.
Distribuisci a ciascuno studente una copia della Create an ML App - Project Guide.
Mostra agli studenti la diapositiva con la panoramica del progetto. Leggi la panoramica sulla guida al progetto e le prossime diapositive.
Attività (40 minuti)
Code Studio: chiedi agli studenti di accedere a Code Studio e aprire il primo esercizio. Gli studenti possono scegliere tra diversi insiemi di dati del mondo reale per addestrare un modello.
Girando tra i banchi: monitora gli studenti mentre esaminano la guida al progetto. Le diapositive contengono le stesse istruzioni per aiutare a concentrare e indirizzare gli studenti nel loro lavoro.
Fase 1 - Esamina i tuoi dati: gli studenti sceglieranno un insieme di dati dall'elenco fornito in Laboratorio IA
Fase 2 - Addestra il tuo modello: gli studenti sceglieranno almeno 2 caratteristiche per addestrare il proprio modello. Annoteranno le loro scelte nella guida del progetto.
Dovrebbero mirare a ottenere un'accuratezza di almeno il 70% per ottenere un punteggio pieno sulla tabella con i criteri di valutazione.
Lievi variazioni nell'accuratezza: gli studenti possono notare che se si allenano sulle stesse identiche caratteristiche più e più volte, possono ottenere calcoli di accuratezza leggermente diversi ogni volta. Questo perché, a questo esercizio, Bot IA sta randomizzando il 10% dei dati di test anziché utilizzare sempre l'ultimo 10% dell'insieme di dati. Questo è in genere il modo in cui viene calcolata l'accuratezza dell'apprendimento automatico con un insieme di dati reali, poiché evita problemi in cui la fine dell'insieme di dati potrebbe non rappresentare l'intero dato.
Se gli studenti lo chiedono, puoi usare una spiegazione simile a quella sopra: Bot IA sta randomizzando i dati dei test ogni volta. Ciò significa anche che gli studenti possono subire lievi variazioni nella loro accuratezza, ma il modello che si sta creando è sempre essenzialmente lo stesso.
Fase 3 - Salva il tuo modello, crea una scheda modello: gli studenti creeranno una scheda modello in Laboratorio IA e salveranno il loro modello. Annoteranno anche alcune delle loro risposte nella guida al progetto.
Fase 4 - Crea la tua app: gli studenti creeranno la loro app in Sviluppo App. Le app devono avere almeno un tema e una schermata di benvenuto per guadagnare un punteggio pieno nella tabella con i criteri di valutazione.
Elementi di progettazione esterni alla schermata: a seconda del numero di caratteristiche che gli studenti utilizzano nel loro modello, alcuni dei loro elementi di progettazione potrebbero apparire fuori dallo schermo. Questo tende a verificarsi quando si utilizzano più di 6 caratteristiche in un modello.
Esistono due strategie che puoi usare per aiutare gli studenti a risolvere questo problema:
Strategia #1: crea nuovi elementi. Gli studenti possono utilizzare la "modalità interfaccia" per estrarre nuovi elementi da utilizzare nella loro app. Potrebbero anche decidere di spostare gli elementi su schermate diverse per rendere l'app più facile da usare. Dopo aver aggiunto questi nuovi elementi della "modalità interfaccia", gli studenti dovranno aggiornare il codice per utilizzare anche i nuovi elementi. Gli studenti possono fare riferimento alla Lezione 13, in particolare all'esercizio 1, come esempio di come aggiornare il codice per risolvere questo problema.
Strategia #2: riposiziona gli elementi. Anche se gli elementi sono fuori dallo schermo, puoi usare la "modalità interfaccia" per selezionarli manualmente e riposizionarli in modo che siano sullo schermo. Ciò comporta la modifica della proprietà della posizione y su 0 in modo che sia sullo schermo e quindi la ridisposizione dell'elemento come faresti normalmente.
Fase 5 - Riflessione: gli studenti rifletteranno sul loro modello e su come potrebbe essere migliorato. Gli studenti dovrebbero anche esaminare la tabella con i criteri di valutazione per verificare di aver soddisfatto tutti i requisiti del progetto.
Conclusione (5 minuti)
Invia progetti
Assicurati che gli studenti inviino i loro progetti in Sviluppo App. Raccogli le loro guide al progetto così da esaminarle insieme alla tabella con i criteri di valutazione del progetto.
(Opzionale) Perché l'IA è importante
Se questa è l'ultima lezione che gli studenti completeranno in questa unità, considera la possibilità di mostrare il video Perché la IA è importante come atto finale di questa unità. Questo video funge da invito all'azione per gli studenti a rimanere informati e a partecipare agli sforzi dell'IA nella loro vita, soprattutto perché il campo richiede prospettive diverse (come quelle dei tuoi studenti!)
Riflessione
Manda gli studenti su Code Studio per completare la loro riflessione sul loro atteggiamento nei confronti dell'informatica. Sebbene le loro risposte siano anonime, i dati aggregati saranno disponibili una volta che almeno cinque studenti avranno completato il sondaggio. Alcune domande sono le stesse del sondaggio preliminare all'inizio dell'unità, che può mostrare l'avanzamento degli studenti o i cambiamenti nell'atteggiamento degli studenti nei confronti dell'informatica.
Questo compito è disponibile previa Licenza Creative Commons (CC BY-NC-SA 4.0).
Se sei interessato ad utilizzare i materiali di Code.org per scopi commerciali, contattaci.