Introduzione al Machine Learning predittivo
• Cosa è il ML e perché se ne parla tanto oggi. Realtà vs hype.
• ML vs AI vs Data Mining vs Statistica: come non confonderli.
• Esempi di ML noti al pubblico. Il ruolo trainante di Google, Amazon e Facebook.
• Cenni storici. Il ruolo del ML in azienda oggi.
• Perchè il ML può aiutare le aziende a prendere decisioni migliori.
• Sviluppare una mentalità data-driven, col supporto dell’intuizione (sinergia).
• Quali aspetti del business di una azienda sono adatti al ML (predittivo)?
• Criteri per riconoscerli. La gestione dell'incertezza in azienda.
• Cos’è il ML in tempo reale. Best practice e casi d'uso nell'applicazione in azienda del ML.
Dati e variabili
• Analisi dati esplorativa: cos’è ed a cosa serve (cenni > tema sviluppato meglio nel corso apposito).
• Cosa sono i pattern e le relazioni (nei dati aziendali) e come essi possono aiutare a prevedere una
risposta.
• Cos'è un modello basato sui dati aziendali.
• Cos'è un dataset: osservazioni e variabili. Sinonimi di "variabile": una fonte di confusione.
• Tipi di variabili numeriche: intere e continue.
• Tipi di variabili categoriche (aka nominali o qualitative o discrete): nominali, ordinali, intervalli e rapporti.
(cenni > tema sviluppato meglio nel corso Analisi esplorativa dei dati). Riduzione variabili / PCA (cenni > tema
sviluppato meglio nel corso sul ML descrittivo).
I modelli
• Comprensione vs. previsione.
• Le tipologie classiche di «problema di ML»: previsione numerica, classificazione, associazione,
clustering, profiling, analisi causale, riduzione delle variabili, previsione dei link e rilevamento outlier.
• Una framework più ampia: modelli descrittivi vs predittivi vs prescrittivi.
• Tipologie di input ai modelli.
• Tipologie di output dei modelli: tabelle, modelli lineari, alberi, regole, cluster, istanze. Sviluppo vs
deployment di un modello.
• Modelli supervisionati vs non-supervisionati vs rinforzati. Il rapporto segnale-rumore (ovvero la
significatività del modello). Training e test data set.
• Modelli semplici vs modelli complessi.
• Modelli rigidi vs modelli flessibili.
• Una causa frequente di confusione: problema vs algoritmo.
La previsione numerica
• Algoritmi di previsione numerica: regressione lineare e varianti, alberi di regressione, regole.
Esempi.
• La potatura degli alberi (pruning).
• Dataset imperfetti (è sempre così): come trattare con algoritmi robusti outlier, dati mancanti e dati
poco affidabili.
Dataset mal classificati. Cosa fare.
• La generalizzazione.
• Overfitting e variabili omesse (i due principali problemi dei modelli): come evitarli.
• Underfitting.
• L'importante trade-off tra bias a varianza.
• I dati sparsi, ovvero la maledizione della multidimensionalità. Cosa fare.
• Il pericolo della estrapolazione.
• Includere nel modello l’interazione tra variabili.
• Previsioni per variabili qualitative: quali modelli?
La classificazione
• Algoritmi di classificazione: KNN, alberi di classificazione, regole di classificazione, ecc. Esempi.
• Cos'è il "decision boundary".
• Similarità e "distanza": come si calcola (metodo euclideo ed altri).
• L’information gain e l’entropia.
• Classificazione binaria vs non-binaria. Esempi.
• Il problema della «class unbalance»: soluzioni.
• Classificazione non-lineare.
• Altri classificatori: reti neurali e support vector machine.
• Metodi ensemble (boosting, bagging, forest): cenni.
• Problemi di regressione vs problemi di classificazione: confronto ed applicazione.
Oltre la regressione lineare semplice
• Linearizzazione tramite trasformazione di variabile.
• Regressione multipla e multivariata (cenni).
• Regressione non-lineare.
• Regressione step-wise (cenni).
La valutazione e la selezione del modello
• Valutazione dell'accuratezza dei modelli predittivi.
• Domanda chiave: in un dato campo qual è il livello di tolleranza agli errori dell’azienda e dei suoi
clienti?
• Processo iterativo per confronto.
• Prediction error: tipologie a seconda del modello. R quadro.
• L'esame dei residui.
• La matrice di confusione.
• I lift chart e le curve ROC (cenni).
• La validazione incrociata (cross-validation).
• Il bootstrapping.
• Valutazione oggettiva vs soggettiva.
• Capacità di spiegazione vs capacità di previsione del modello.
• Meglio un modello accurato od uno facilmente comprensibile?
• Combinare modelli (ensemble): perché e come.
• Combinare tool: perché e come.
• L’importanza dei modelli semplici.
Il processo di ML
• Il processo di ML (CRISP-DM? ASUM-DM?, alternative).
• L'importanza del preprocessing.
Il processo di modellizzazione: 3 fasi (Larson).
• Algoritmi eager vs lazy.
Falsi miti (frequenti)
• Ma quanti dati servono per un ML efficace? Più ne ho, meglio è.
• Big data ha reso inutile il campionamento, od addirittura i modelli. ("More data or better models?")
• La conoscenza teorica di modelli ed algoritmi non conta, ci sono i tool.
• La conoscenza del dominio applicativo non conta.
• Le prestazioni del modello migliorano al crescere della dimensione del training dataset.
Ambienti di sviluppo e tool
• Sviluppi custom con: Excel, R, Python, o Java?
• L’interfaccia grafica R di Data Mining (rattle).
• Cenni su una framework Java open-source per ML (Weka).
• Web Application di ML.
• Lo stack Hadoop – NoSQL – Apache Spark.
• Quali motori Hadoop / NoSQL per quali scenari di utilizzo? Match tra workload analitici e piattaforme.
• SAS Lasr, Dataliicks, Apache Zeppelin.
• Tool di Machine Learning Automation come: DataRobot, Tellmeplus, IBM Data Science Experience.
• Le framework commerciali di Machine Learning: scikit-learn (per Python), Tensorflow di Google,
CNTK di Microsoft, Apache Spark Mlib (open-source).
• Altri tool: rassegna (Oracle, SAS, Microsoft, IBM, Google, Amazon, Microstrategy, Rapid Miner?, Fico,
Tibco?).
• ML predittivo in tempo reale con Apache KafKa e Spark Streaming.
• Sviluppo custom vs tool: pro e contro.
• Standard internazionali.
• La diffusione dei tool di ML al 2017.
• Analisi e ricerche «riproducibili» (cioè con dati freschi). Come realizzarle?
Istruzioni per partire
• In definitiva, quali algoritmi scegliere?
• Fogli di istruzione (cheat sheet) di algoritmi.
• Gli 8 schemi di Witten.
• Punto chiave: come cominciare ad applicare ML in azienda e massimizzare le probabilità di riuscita.
• Tempi di creazione di un modello.
• Tempi e costi per partire.
• In generale: come l’azienda può diventare Machine Learning ready. Linee-guida.
• Tecnologie gratuite (ed ottime) per partire con ML.
• Uno stack agile per la Data Science (Russell Jurney).
• L’importanza del deployment delle ricerche.
Integrare i (primi) modelli di Maching Learning nell'azienda
• Integrazione dei modelli costruiti dal Data Scientist con quelli costruiti dai tool (sinergia)
• Integrazione del ML nella filiera produttiva esistente (ICT)
• Integrazione del ML nel modo di lavorare: come il Data Scientist si integra con gli utenti e con gli altri
sviluppatori
• Integrazione di modelli ML tra gruppi di lavoro diversi e tool diversi
• Integrazione delle query
• Integrazione della data visualization
Integrazione dei modelli predittivi in report smart e dashboard aziendali.
• Uno stack tecnologico unico per sviluppatori applicativi e Data Scientist: suggerimenti.
Varie
• Analisi predittive su big data: quali strumenti ed architetture (Hadoop e Spark Mlib).
• Time series forecasting (cenni):
• La manutenzione dei modelli
• Il ruolo del massive parallel. Cenni.
• Visualizzazione grafica dei risultati.
• ML predittivo con Big Data in assenza di memoria: consigli.
• Aspetti etici, legali e culturali nel ML.
• Bibliografia, riviste e siti.