MACHINE LEARNING
cod. 1009202

Anno accademico 2024/25
2° anno di corso - Primo semestre
Docente
Stefano CAGNONI
Settore scientifico disciplinare
Sistemi di elaborazione delle informazioni (ING-INF/05)
Ambito
Ingegneria informatica
Tipologia attività formativa
Caratterizzante
48 ore
di attività frontali
6 crediti
sede: PARMA
insegnamento
in INGLESE

Obiettivi formativi

L'obiettivo dell'insegnamento è fornire conoscenze teoriche e pratiche di base su alcuni algoritmi di Apprendimento Automatico e Calcolo Evolutivo, finalizzati a risolvere problemi di classificazione e di analisi di dati.
I metodi descritti nel corso permetteranno agli studenti di:
1. apprendere ed usare algoritmi di apprendimento induttivo
- apprendere ed usare le reti neurali e altri modelli di apprendimento automatico
- apprendere ed usare algoritmi di calcolo evolutivo

Prerequisiti

Conoscenze di base di algebra lineare e teoria delle probabilità, come quelli tipicamente offerti nei corrispondenti corsi della laurea triennale

Contenuti dell'insegnamento

Lezioni:
- Principi dell'Apprendimento Automatico
- Apprendimento Supervisionato
Alberi di Decisione
Algoritmi di Bagging/Boosting
Reti Neurali
Principi di Deep Learning
Support Vector Machines

- Apprendimento non supervisionato
Clustering
Reti neurali: algoritmi non supervisionati

- Calcolo Evolutivo
Algoritmi Genetici
Programmazione Genetica

- Swarm Intelligence

Esercitazoni:
1. Alberi di Decisione / kNN
2. Clustering
3. Reti Neurali non supervisionate
4. Reti Neurali Convolutive
5. Algoritmi genetici
6. Programmazione Genetica
- Particle Swarm Optimization

Programma esteso

Parte 1: Introduzione
Lezione 1: Come preparare un esperimnto di Apprendimento Automatico.
Lezione 2: Classificazione basata su apprendimento / Valutazione della qualità della classificazione
Lezione 3: Introduzione a WEKA

Parte 2: Alberi di Decisione
Lezione 4: Alberi di Decisione
Lezione 5: Bagging e Boosting
Lezione 6: Support Vector Machines

Parte 3: Clustering
Lezione 7: Fondamenti di clustering supervisionato e non supervisionato: K-means / Isodata

Parte 4: Neural Networks
Lesson 8: Introduzione alle reti neurali
Lezione 9: Algoritmi supervisionati: l'algoritmo di Backpropagation
Lezione 10: Reti auto-organizzanti di Kohonen (SOM) and Learning Vector Quantization (LVQ)
Lezione 11: Nozioni di Deep Learning

Parte 4: Calcolo Evolutivo
Lezione 12: Principi
Lezione 13: Algoritmi Genetici e Programmazione Genetica
Lezione 14: Particle Swarm Optimization (PSO)
Lezione 15: Questioni aperte e principali linee di ricerca

Esercitazioni:
Esercitazione 1: Uso di WEKA
Esercitazione 2: Alberi di Decisione / kNN
Esercitazione 3: Clustering
Esercitazione 4: Reti neurali supervisionate
Esercitazione 5: Reti Neurali non supervisionate
Esercitazione 6: Algoritmi Genetici
Esercitazione 7: Programmazione Genetica
Esercitazione 8: Particle Swarm Optimization
Esercitazione 9: Il gioco della formica

Bibliografia

[1] L. Vanneschi, S. Silva, “Lectures on Intelligent Systems” Springer, 2023
[2] C. W. Therrien, "Decision, estimation and classification" Wiley, 1989
[3] C. M. Bishop "Pattern Recognition and Machine Learning", Springer, 2006.
[4] R O Duda, P, E. Hart, D. G. Stork, "Pattern classification", 2nd Ed., Wiley, 2001
[5] A. Eiben, J. Smith "Introduction to Evolutionary Computing", 2nd ed., Springer, 2015.
[6] A.P. Engelbrecht "Computational Intelligence: An Introduction", 2nd. Edition, Wiley, 2007

Metodi didattici

30 ore di insegnaemento in aula. 18 ore di pratica in laboratorio o in aula sui PC degli studenti.

Vengono assegnate delle esercitazioni da svolgere a casa non obbligtoriamente, in preparazione per la prova scritta.

Modalità verifica apprendimento

Prova scritta:
domande a risposta aperta sugli argomenti teorici del corso e le corrispondenti esercitazioni.

Dopo avere superato la prova scritta, gli studenti dovranno svolgere un progetto, consistente nello sviluppo di un'appliczione basata su metodi di Apprendimento Automatico. Gli studenti dovranno far una presetazione del progetto svolto come atto finale prima dell registrazione del voto.

Altre informazioni

Ricevimento su appuntamento (Pal. 1 Sede Scientifica di Ingegneria).

email stefano.cagnoni[AT]unipr.it