Corso di Apprendimento Automatico - A.A. 2008/2009

Docente Telefono Orario di ricevimento Studio
Roberto Navigli 06-49918472 Per appuntamento Via Salaria 113 - 3° Piano st. 312

Orari del corso

Quando Sorted ascending Dove
Mercoledì 14.10-15.45 Aula I NEC
Martedì 15.45-17.15 Aula I NEC

Avvisi

Importante! Iscrizione al gruppo Google

Tutti gli studenti del corso sono pregati di iscriversi al gruppo Google accessibile cliccando qui. Il gruppo ha diversi fini:

  • Permettere agli studenti di scambiarsi opinioni e informazioni sul corso e sul progetto
  • Ricevere informazioni relative al corso dal docente
  • Colloquiare col docente fuori dell'orario di lezione
  • Discutere il progetto

Introduzione

Il corso introduce un'area fondamentale dell'Intelligenza Artificiale, detta Apprendimento Automatico (Machine Learning). Il corso si svolge in circa 40-45 ore di lezione frontale (10-11 settimane). Durante il corso, verranno introdotti e discussi i principali approcci all'apprendimento automatico (metodi supervisionati, non supervisionati, apprendimento per rinforzo, ecc.). Gli studenti potranno effettuare delle esercitazioni pratiche utilizzando il software Weka, che mette a disposizione implementazioni dei vari algoritmi e utilità varie per lo studio dei risultati.

Testi

Il testo adottato è:

  • Tom Mitchell, Machine Learning, McGraw-Hill, 1997, testo aderente a una buona parte del corso, da complementare con il materiale fornito

Per approfondire alcuni argomenti, si consigliano i seguenti testi:

cui si aggiungono i lucidi usati dal docente.

Modalità d'esame

L'esame consiste in una prova orale, per verificare la conoscenza degli algoritmi studiati, ed un progetto, sull'uso di (alcuni) degli algoritmi studiati, in vari ambiti applicativi. La prova orale può essere sostituita da una prova di esonero che si terrà all'incirca a metà corso (il 21 aprile 2009, in orario di lezione).

Il progetto può essere svolto da soli o in gruppo (normalmente 2 studenti, eccezionalmente 3 se giustificato adeguatamente). In un progetto di gruppo dovrà essere messo in evidenza il contributo di ciascun partecipante mediante una chiara suddivisione in moduli. Ciascuno studente sarà esaminato su tutto il progetto e, in profondità, sul modulo di sua competenza. Il progetto viene assegnato dal docente. L'elenco dei progetti si trova sul gruppo Google del corso, che permette l'interazione tra studenti e docente sul progetto.

Testi d'esame degli anni precedenti

Diario delle lezioni

Data Argomenti PPT PDF Note
25 febbraio 2009 Introduzione ppt pdf  
3 marzo 2009 Appprendimento di concetti ppt pdf  
4 marzo 2009 Alberi di decisione (1) ppt pdf  
10 marzo 2009 Alberi di decisione (2), Valutazione delle prestazioni ppt pdf
11 marzo 2009 Esercitazione  
17 marzo 2009 Reti neurali (1) ppt pdf
18 marzo 2009 Reti neurali (2)  
24 marzo 2009 Seminario Prof. Madhu Sudan h10 Goethe Institut  
25 marzo 2009 Reti neurali (3) pdf
7 aprile 2009 Apprendimento probabilistico ppt pdf
8 aprile 2009 Esercitazione (1)   pdf
15 aprile 2009 Esercitazione (2)   pdf
21 aprile 2009 Prova intermedia (Soluzione A, Soluzione B, Risultati)      
28 aprile 2009 Algoritmi genetici ppt
29 aprile 2009 Programmazione genetica  
5 maggio 2009 Presentazione dei progetti vedi mailing list
6 maggio 2009 Apprendimento per rinforzo ppt
12 maggio 2009 Apprendimento non supervisionato (1) ppt
13 maggio 2009 Apprendimento non supervisionato (2)  
19 maggio 2009 Apprendimento automatico per l'elaborazione del linguaggio naturale ppt
20 maggio 2009 Sviluppare un classificatore con Weka, Apprendimento basato su istanze: kNN  
26 maggio 2009 Altri strumenti utili: Cluto, JGap, Graphviz, TreeTagger  

Programma dettagliato

Introduzione. Il problema dell'apprendimento. Classificatori. Addestramento. Rappresentazione del dominio. Funzione obiettivo e funzione appresa.

Apprendimento di concetti. Rappresentazione delle ipotesi, spazio delle ipotesi. Algoritmo FIND-S. Algoritmo VersionSpace. Concetto di bias o inclinazione. Studio delle curve di apprendimento. Sovradattamento, rumore, attributi irrilevanti.

Alberi di decisione. Caratteristiche. Principio del rasoio di Occam. Algoritmo ID3, concetto di entropia, stima dell'entropia di una classificazione, misure di impurità di una classificazione. Scelta dell'attributo migliore: guadagno informativo e gain ratio. Problemi dell'apprendimento: sovradattamento (reduced error pruning, rule error pruning), valori mancanti.

Reti Neurali. Storia delle reti neurali. Neurone, rete neurale, caratteristiche. Percettrone, funzione somma e funzione soglia o di attivazione, funzione obiettivo. Funzioni rappresentabili con il percettrone, algoritmo di addestramento del percettrone, convergenza del percettrone. Discesa del gradiente (delta rule), discesa del gradiente stocastica. Reti stratificate alimentate in avanti, algoritmo di Back Propagation. Condizioni di terminazione, convergenza, momento.

Apprendimento Bayesiano. Richiami di calcolo delle probabilità: spazio di campionamento, esiti, eventi, probabilità, probabilità condizionata, somma di probabilità, probabilità congiunte, proprietà fondamentali, teorema di Bayes. Teorema di Bayes nell'Apprendimento Automatico, Naive Bayes.

Algoritmi Genetici. AG: Motivazioni. Algoritmo tipo. Rappresentazione delle ipotesi. Operatori per gli algoritmi genetici. Selezione delle ipotesi migliori. GABIL. Il problema del crowding e possibili soluzioni. II problema del commesso viaggiatore. Applicazioni. Programmazione genetica. Passi preparatori per la PG. Il problema dei blocchi. Meta-programmazione genetica. Applicazioni.

Apprendimento per Rinforzo. Apprendimento per Rinforzo: Motivazioni. Definizione del modello. Obiettivi. Varianti. Q-Learning: algoritmo, condizioni di convergenza, scelta delle azioni future. Q-Learning per il caso non deterministico.

Apprendimento Non Supervisionato. Unsupervised Learning: Motivazioni. Tecniche di clustering: clustering gerarchico e clustering partitivo. Clustering gerarchico agglomerativo e divisivo. Clustering partitivo: k-means, metriche di prossimità (distanza e similarità), scelta dei semi per k-means. Clustering basato su grafi. Clustering basato sul minimo albero ricoprente. Hard e soft clustering. Problemi nell'apprendimento non supervisionato. Misure di valutazione esterna: entropia e purezza.

Apprendimento basato su istanze. Motivazioni. Lazy learning. Algoritmo k-nearest neighbour (k-NN).

Valutazione delle Prestazioni. Modalità di test di un classificatore. Matrice di confusione. Misure per valutare le prestazioni: precisione, recall, accuratezza, F1 measure, scelta delle misure appropriate.

-- RobertoNavigli - 06 Oct 2009

Topic revision: r1 - 2009-10-06 - RobertoNavigli






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback