Il machine learning e data mining è un importante settore dell'informatica con moltissime applicazioni. Il corso si propone di presentare un ampio spettro dei metodi di Machine Learning e Data Mining attualmente disponibili e di discutere le loro proprietà ed applicabilità nel contesto di diversi settori tramite esempi. L'obiettivo principale del corso è quello di consentire agli studenti la risoluzione di problemi di apprendimento automatico e data mining attraverso una adeguata formulazione del problema, una scelta appropriata dell'algoritmo/i adatto/i a risolvere il problema e l'esecuzione di esperimenti per valutare efficacia delle tecniche adottate.
Durante il corso verranno principalmente esposti i concetti e le idee di base che permettono l'effettivo utilizzo di algoritmi di apprendimento, piuttosto che la loro formulazione puramente matematica.
1) Introduzione: Machine Learning e Data Mining (ML&DM)
2) Rappresentazione e preprocessing dei dati per ML&DM
3) Apprendimento supervisionato (apprendimento induttivo, alberi di decisione, apprendimento di regole, reti neurali, regressione e classificazione con modelli lineari, support vector machines)
4) Apprendimento Bayesiano e reti Bayesiane
5) Apprendimento non-supervisionato e clustering
6) Utilizzo di Weka ed R
*Introduzione
- Obiettivi del corso
- Risorse disponibili
- Possibili Applicazioni del Machine Learning
- Cos'è il Data Mining?
- Obiettivi del Data Mining
- Problematiche delle tecniche di Machine Learning
*Apprendimento di concetti
- Notazione
- Il problema dell'apprendimento di concetti
- Formulare ipotesi
- Misure di performance
- Apprendimento di concetti come ricerca nello spazio delle ipotesi
- Algoritmo Find-S
- Algoritmo List-Then-Eliminate
- Algoritmo Candidate Elimination
- Apprendimento con e senza Bias
* Algoritmi di Classificazione: concetti di base ed Alberi di Decisione
- Tecniche di classificazione
- Alberi di decisione
- Problemi di apprendimento risolvibili attraverso Alberi di Decisione
- Apprendimento induttivo di alberi di decisione
- Criteri per la divisione dei nodi
- Misure di impurità dei nodi
- Criteri di stop per il processo induttivo
- Bias induttivo nell'apprendimento con Alberi di Decisione
- Problematiche nell'apprendimento con Alberi di Decisione
* Overfitting negli Alberi di Decisione
- Apprendimento negli Alberi di Decisione con dati rumorosi
- Esempio di Overfitting con dati rumorosi
- Evitare l'Overfitting
- Pruning dei nodi per ridurre l’errore di generalizzazione
- Note sulla riduzione dell'errore
- Convertire un Albero di Decisione in Regole
* Valutazione di Ipotesi ed Algoritmi di Classificazione
- Metodi statistici per stimare l'accuracy
- Esempio
- Due definizioni di errore
- Errore di campionamento come stimatore dell'errore reale
- Intervalli di confidenza
- Confrontare due ipotesi
- Valutazione di Algoritmi Apprendimento
- Valutazione delle performance degli algoritmi di apprendimento
- K-Fold Cross Validation
- Curve ROC
- Matrice di confusione
*Reti Neurali Artificiali
- Approccio Connessionista
- Percettrone
- Superficie di Decisione del Percettrone
- Unità lineari
- Discesa del gradiente
- Discesa del gradiente batch
- Discesa del gradiente Incrementale
- Discesa del gradiente per unità con Threshold
- Reti a piu’ strati (reti alimentate in avanti)
- Unità sigmoidali
- Algoritmo di Backpropagation
- Modifiche della regola di Backpropagation
- Convergenza e Minimi Locali
- Quali funzioni possono essere apprese?
- Overfitting in ANNs
- Reti ricorrenti
* Apprendimento Bayesiano
- Formule di Base
- Teorema di Bayes
- Algoritmo a forza bruta per MAP Concept Learning
- Algoritmi di apprendimento vs. Algoritmi MAP
- Esempi
- Classificatore Ottimo Bayesiano
- Classificatore di Gibbs
- Classificatore Naive Bayes
- Classificazione di testi
* Elaborazione del Linguaggio Naturale
- Come gestire i testi?
- Codifica One-hot vector
- Codifica Bag of Words
- N-Grams
- Frequenza dei termini e frequenza inversa dei documenti
- Word Embedding
- Embedding Representation
- Sentiment Analysis
*Analisi dei Dati
- Attributi
- Data set
- Qualità dei dati
- Outliers
- Valori mancanti
- Preprocessing dei dati
- Campionamento
- La "Maledizione della Dimensionalità"
- Selezione di feature
- Trasformazione degli attributi
- Esempi
* Cluster Analysis
- Tipi di clustering
- Tipi di cluster
- Algoritmi di clustering
- K-means Clustering
- Bisecting K-means
- Clustering gerarchico
- DBSCAN
- Validità del clustering
- Misure di validità
- Esempi
*Metodi d'Insieme
- Combinare più modelli
- Decomposizione Bias-variance
- Bagging
- Random Forests
- Boosting
- Stacking
- Esempi
*Support Vector Machines
- Idee di base
- Iperpiani e superfici di decisione
- Massimizzare il margine
- Support vectors
- Cassi non linearmente separabili
- Classificatore basato su support vector
- Funzioni kernel
- Kernels
- OVO: One versus One
- OVA: One versus All
- Esempi
* Regressione
- Classificazione e regressione
- Regressione lineare
- Regressione logistica
- Criterio di massima versosimiglianza
- Esempi
*Machine Learning e Data Mining con Weka
- Utilizzo di Weka
- Utilizzare l'Explorer
- Costruire un classificatore
- Utilizzare i filtri
- Visualizzare i dati
- Esempi
*Machine Learning e Data Mining con R
- RStudio
- R: gestione della sessione
- Tipi di base
- Factor, Vettori e Matrici
- Liste e Data Frames
- Funzioni
- R graphics
- dplyr
- Connessione a Databases
Il corso utilizzerà una selezione dei capitoli dei seguenti libri (che verrà indicata all'inizio del corso); ulteriore materiale verrà fornito dai docenti sul sito del corso:
Mitchell; Machine Learning; McGraw-Hills; 1997; 978-0070428072
Tan, Steinbach, Kumar; Introduction to Data Mining; Pearson Addison Wesley; 2005; 0321321367
James, Witten, Hastie,Tibshirani; An Introduction to Statistical Learning with Applications in R; Springer; 2013; 978-1461471387
Witten, Frank, Hall; Data Mining: Practical Machine Learning Tools and Technique; Morgan Kaufmann; 2011; 978-0123748560
Lezioni e esercitazioni frontali, uso di internet e laboratorio
Esame scritto e sviluppo di un progetto
Sito web:
http://mldm.unibs.it/