fbpx

Come estrarre informazioni da grandi dataset: descrivere, prevedere, raggruppare, classificare i dati

Il corso presenta importanti metodologie di Data Mining e Machine Learning per l’esplorazione di grandi quantità di dati, con l’obiettivo di estrarvi informazioni non immediatamente visibili ma ad alto valore aggiunto.

Obiettivi, didattica, destinatari

  • Il Data Mining si occupa dell’analisi di grandi quantità di dati, con l’obiettivo di estrarvi informazioni non immediatamente visibili ma ad alto valore aggiunto; in genere si tratta di individuare “modelli” utili a fini descrittivi o previsionali. Molte tecniche di Data Mining poggiano su algoritmi di Machine Learning, in grado di apprendere automaticamente i loro compiti dall’esperienza. Il corso intende introdurre il partecipante ad alcune tra le metodologie più comuni, focalizzandosi sulla formulazione dei modelli, sulle ipotesi retrostanti, sui dati richiesti, sui risultati generati, sulla loro interpretazione ma anche sugli algoritmi con cui i modelli elaborano i dati di input per produrre quelli di output.
  • Le lezioni combinano elementi teorici essenziali con esempi ed applicazioni pratiche su dati reali, illustrative delle varie tecniche, sfruttando il software open source RapidMiner ed il software Matlab.
  • Il campo di applicazione delle tecniche di Data Mining e Machine Learning è in continua crescita ed è già oggi sterminato: non è affatto esagerato affermare che chiunque ambisca ad utilizzare in modo efficiente grandi database, massimizzandone il potenziale informativo, deve ricorrere a queste tecniche. Il corso è quindi rivolto ad un’ampia platea di figure professionali, con competenze e livelli di seniority anche molto diversi: ad esempio chi si occupa di analisi e previsioni di mercato, direct marketing, web marketing, strategie di vendita, individuazione di frodi (finanziarie, alimentari, ecc.), valutazione del rischio (ingegneristico, creditizio, ecc.), diagnostica medico-sanitaria, riconoscimento di testi ed immagini, per non parlare di analisti e ricercatori nelle scienze applicate.

Programma

  1. Cluster Analysis– Consente di raggruppare per similitudine dati multidimensionali. Verranno presentati gli algoritmi più comuni: quello gerarchico – che permette anche di visualizzare il processo di formazione dei cluster mediante il dendrogramma – ed il k-means, che determina l’appartenenza ad un gruppo in base alle distanze dalle “medie” dei vari cluster. Si accennerà anche alle misture di Gaussiane. Applicazioni: segmentazione degli utenti di un negozio online, identificazione di pattern in immagini da strumentazione bio-medica.  [4 ore]
  2. Principal Component Analysis– Consente di “sintetizzare” un gran numero di variabili correlate che descrivono un certo fenomeno, in un numero ridotto di variabili “latenti”, non correlate, facili da interpretare, che spiegano il fenomeno (quasi) come le variabili originarie. Per individuare le variabili latenti verranno applicati i criteri di massimizzazione della varianza e di minimizzazione dell’errore di ricostruzione. Verrà poi introdotta la Factor Analysis, una tecnica di riduzione della dimensione dei dati con diversi punti di contatto con la PCA. Si accennerà anche alle PCA probabilistiche e bayesiane. Applicazioni: analisi di mercato, posizionamento strategico di prodotti e marche. [5 ore ]
  3. Regressione lineare – Consente di stimare una relazione funzionale lineare tra una variabile di interesse ed una (regressione semplice) o più (regressione multipla) variabili che possono spiegarla. Verrà esaminato il caso in cui la relazione è affetta da errori sferici e Gaussiani; si vedrà come si stimano i suoi coefficienti e quali proprietà possiedono; si misurerà la sua capacità di spiegare i dati osservati, si vedrà come condurre test statistici sui coefficienti e come sfruttare il modello a fini previsivi. Applicazioni: studio del mercato automobilistico, studio delle relazioni tra contesto sociale e criminalità, analisi dei feedback degli utenti di un blog. [6 ore ]
  4. Algoritmi di classificazione– Una procedura di classificazione assegna un dato multidimensionale ad una di due (o più) categorie o gruppi di interesse. Qui verranno introdotti i modelli lineari di classificazione ed applicato l’algoritmo dei minimi quadrati per la classificazione. Si vedrà poi la regressione logistica ed infine agli alberi decisionali. Cenni verranno fatti agli algoritmi di Newton-Raphson e del gradient descent. Applicazioni: valutazione di categorie di rischio in ambito medico e finanziario, segmentazione dei lettori di e-book, analisi di mercato. [7 ore ]
  5. Reti neurali artificiali– Sono modelli o algoritmi di auto-apprendimento, che sulla base di un insieme di dati di input-output, riescono ad individuare relazioni nascoste tra i dati, utilizzabili a fini di classificazione o previsione. Tali relazioni possono essere anche molto complesse, tali da sfuggire alle tecniche di esplorazione descritte nei moduli precedenti.  Verrà introdotto il concetto di percettrone e generalizzato nelle reti feed-forward, si discuterà di approssimazione quadratica e di algoritmo di back-propagation. Un cenno, infine riguarderà le reti Bayesiane. Applicazioni: riconoscimento di pattern, previsione di serie storiche in ambito medico e finanziario. [5 ore]
  6. Web Mining e Text Mining – Il Web Miningè la disciplina che applica le tecniche del DM per scoprire regolarità presenti in risorse disponibili sul Web, ad esempio per classificare pagine dei siti in base al contenuto testuale. Verranno trattati i concetti di base della disciplina: apprendimento attraverso regole di associazione, rilevamento delle similarità, analisi delle sequenze, apprendimento per rinforzo, Hidden Markov Model, algoritmi PageRank. Un sotto-settore specifico di grande interesse è il Text Mining, che verrà brevemente presentato. Applicazioni: ricerca di sequenze rilevanti, web recommendations[6 ore ]
  7. Support Vector Machines– Sono algoritmi di classificazione e di regressione di recente sviluppo. Le SVM per la classificazione estendono l’approccio basato sulle reti neurali monostrato perché permettono di separare i dati in modo non lineare e migliorano quello basato sulle reti multistrato grazie ad un addestramento efficiente. Una volta definito il concetto di SVM come classe di funzioni, si introdurranno i rischi di errore di classificazione effettivo ed empirico e si vedrà come controllare il primo tramite il secondo e la così detta dimensione VC. Si vedrà quindi come addestrare una SVM che minimizzi la dimensione VC, sia nel caso lineare che in quello non lineare, mostrando che il problema di ottimizzazione si può affrontare con la teoria della dualità. Infine, si accennerà alle SVM per problemi di regressione ed agli algoritmi di decomposizione per problemi di programmazione convessa. Applicazioni: problemi di classificazione e regressione su dati bio-medici. [7 ore ]
  8. Algoritmi genetici– Sono algoritmi, ispirati alla teoria dell’evoluzione darwiniana, che partendo da un insieme di possibili soluzioni ad un problema, consentono di generare iterativamente nuove soluzioni fino a raggiungere quella ottima. Si vedrà, in primo luogo, come codificare le soluzioni (codifica binaria, reale, ad albero) e valutare la bontà di una soluzione attraverso la funzione di fitness. Verranno quindi introdotte alcune tecniche di selezione delle soluzioni (roulette, categoria, torneo, Boltzmann) e creazione di ulteriori soluzioni (crossover, mutazione) che evitino la perdita di quelle potenzialmente interessanti in fase di selezione o la convergenza verso soluzioni di ottimo locale anziché globale. Infine, si valuterà la convergenza degli algoritmi. Applicazioni: problemi di classificazione e previsione su dati botanici ed automotive[6 ore]