Corso pratico di Machine Learning & Artificial Intelligence
Negli ultimi anni “Machine Learning” e “AI” sono fra le parole più usate e ricercate. La ragione di ciò è dovuta principalmente all’aumento esponenziale della quantità di dati prodotti, all’incremento della potenza di calcolo e ai progressi effettuati nello sviluppo di algoritmi più efficienti.
Il Machine Learning viene utilizzato ovunque, spesso a nostra insaputa, con lo scopo di creare nuovo valore dai dati, per le aziende di ogni settore. Buona parte degli strumenti che utilizziamo giornalmente, dai sistemi di raccomandazione al riconoscimento facciale, dai fitness tracker agli assistenti domestici, analizzano i dati e prendono decisioni tramite questi algoritmi. I casi di applicabilità sono numerosi e spesso, sono limitati solo dalla fantasia.
Gli obiettivi principali del Machine Learning consistono nel comprendere la struttura dei dati, analizzarli tramite algoritmi e modelli intelligenti e generare nuovi insight che possono essere facilmente compresi e utilizzati dalle persone. Rispetto alla programmazione tradizionale, gli algoritmi di Machine Learning possono imparare dai dati di input e, tramite l’utilizzo dell'analisi statistica, produrre predizioni, classificare informazioni, prendere decisioni, riconoscere immagini e suoni ed altro ancora.
Questo corso, partendo da una panoramica sulle metodologie e sui modelli più diffusi, apprendimento supervisionato versus non supervisionato e approcci algoritmici più comuni, si pone l’obbiettivo di fornire ai discenti le basi teorico-pratiche per iniziare ad applicare i principali algoritmi di Machine Learning ai propri casi reali. Gli esempi sono implementati in linguaggio Python utilizzando le librerie di M.L. più diffuse.
Destinatari
- Analisti
- Progettisti
- Sviluppatori
- Data Analyst
- Chiunque sia interessato ad approfondire, in modo pratico, i concetti relativi al Machine Learning
Prerequisiti
- Conoscenze base di programmazione
- Consigliata conoscenza dei principali concetti di statistic
- Consigliata conoscenza base del linguaggio di programmazione Python
Requisiti per l'aula
- Video proiettore con risoluzione minima nativa di 1024x768 (meglio se superiore)
- Connessione internet non filtrata per il portatile del docente
- Essendo un corso pratico i discenti dovranno essere forniti di un PC
NOTA: il docente utilizzerà un proprio portatile sul quale sono installati tutti gli esempi del corso. Se questo non fosse possibile, è necessario concordare in anticipo la predisposizione di un PC fornito dal cliente.
Contenuti
- Breve introduzione ad AI e ML - Cosa sono, a cosa servono e differenze fra i concetti; il processo di Machine Learning; che cos’è un modello; apprendimento supervisionato versus non supervisionato; introduzione ai modelli di Machine Learning più diffusi; criteri di scelta fra i modelli.
- Setup di un ambiente per le sperimentazioni (Jupyter Notebook e Anaconda).
- Introduzione a Data Exploration, Analysis e Visualization (Pandas, Matplotlib, Plotly).
- Analisi dei dati e loro visualizzazione - Lettura, scrittura e Creazione di dati; indicizzazione, selezione, assegnazione e rinomina dei dati; riepilogo, mappe e reportistica sui dati; visualizzazione dei dati (principali formati tabellari e grafici).
- Introduzione al processo di Data Preparation (Pandas).
- Data Preparation - Raggruppamento e ordinamento dei dati: grouping, pivoting e joining; features selection; gestione dei dati errati; gestione dei valori mancanti; manipolazione di set di dati in 1D, 2D e 3D; normalizzazione dei dati; divisione e creazione dei dataset fra Training e Testing.
- Introduzione ai diversi modelli e loro utilizzi (Scikit-learn e Keras).
- Implementazione dei Modelli Classici - Apprendimento supervisionato - Regressione Lineare e Logistica; classificazione (SVM, Decision Tree, Random Forest); Apprendimento non supervisionato - clustering (K-nearest neighbor); PCA; Apprendimento per rinforzo - Q–Learning.
- Introduzione alle Reti Neurali - Introduzione ai modelli e diversi casi d’uso; Perceptron; CNN; LSTM.
- Validazione dei modelli - Scoring (CM, ROC), interpretazione risultati.
- Esercitazioni
Durata
3 giorni (introduttivo) 5 giorni (avanzato)