Programma del corso di Algoritmi e Strutture Dati (Soft

Transcript

Programma del corso di Algoritmi e Strutture Dati (Soft
Programma del corso di Algoritmi e Strutture Dati (Soft Computing)
Docente: Leonardo Vanneschi
Dipartimento di Informatica, Sistemistica e Comunicazione (D.I.S.Co.)
Università di Milano-Bicocca
1. Concetti introduttivi e motivazioni del corso
•
•
•
•
Problemi complessi ed NP-completi.
Definizione e concetti fondamentali del Machine Learning.
Definizione informale del termine Soft Computing.
Cenni sui domini applicativi del Soft Computing.
2. Spazi di Ricerca e Tecniche di Ottimizzazione
•
•
•
•
•
Problemi di Ottimizzazione Combinatoria e loro complessità.
No Free Lunch Theorem.
Ricerca Locale (Local Search o Hill Climbing).
Paesaggi di fitness, loro significato e importanza, loro struttura topologica.
Simulated Annealing
- Definizioni generali e funzionamento.
- Teoria del Simulated Annealing e suo comportamento asintotico.
3. Algoritmi Genetici
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Cenni ai concetti di base della teoria dell'evoluzione di Darwin.
Operatori genetici.
Funzionamento generale dell'Algoritmo Genetico "standard" [Holland, 1975].
Genotipo e Fenotipo.
Il concetto di schema e la sua importanza nell'interpretazione del funzionamento degli
Algoritmi Genetici.
Teorema degli Schemi.
Teoria dei Building Blocks.
Problema del k-Armed Bandit.
Comportamento asintotico degli Algoritmi Genetici.
Cromosoma diploide (modello di Bagley, primo e secondo modello di Hollstien-Holland).
Operatori di inversione e riordinamento (modelli di Bagley, Frantz).
Partially matched crossover, cycle crossover (Goldberg).
Ripartizione degli individui in specie:
- fitness sharing (Goldberg).
- riproduzione stretta (modelli di Hollstien e Brooker).
Ottimizzazione Multiobiettivo:
- VEGA (Shaffer).
- Modello di Baker.
Valutazione sperimentale delle prestazioni di un Algoritmo Genetico (funzioni di test di
Whitley).
4. Programmazione Genetica
•
•
•
•
•
•
•
Rappresentazione e principali differenze con gli Algoritmi Genetici.
Operatori Genetici.
Calcolo della Fitness.
Proprietà di Chiusura e Sufficienza.
Steady State.
Automatically Defined Functions (ADF).
GP Benchmarks (even parity, multiplexer, symbolic regression, artificial ant on the Santa Fe
trail).
Problemi di ricerca ancora aperti in GP.
Difficoltà dei problemi in GP.
- fitness distance correlation.
- funzioni sintetiche (trap functions, royal trees).
Programmazione Genetica Parallela e Distribuita (definizioni e studio sperimentale).
Concetto di diversità di una popolazione e problema della convergenza prematura.
Concetto di bloat e metodi per combatterlo (PADGP; Tarpeian methods).
•
•
•
•
•
5. Ancora sul Machine Learning
•
•
•
•
•
•
Concetto di apprendimento. Apprendimento di una funzione.
Concetto di generalizzazione. Training set e test set.
Apprendimento supervisionato e non supervisionato.
Problemi di classificazione e clustering.
Prestazioni di un classificatore. Splitting dei dati. Crossvalidation e sue varianti. Precision
e Recall. Veri positivi, falsi positivi, veri negativi e falsi negativi. F-measure. K-statistic.
Il concetto di feature. Feature selection.
6. Reti Neurali
•
•
•
•
•
•
•
•
Concetti introduttivi.
Perceptron:
- Modello a un neurone
- Perceptron Learning Rule.
- Teorema di convergenza del Perceptron.
- Cenni alle principali funzioni di attivazione.
Adaline:
- Struttura generale
- Delta rule. Concetto di discesa del gradiente.
Problemi linearmente separabili e non linearmente separabili.
Strati di neuroni nascosti.
Teorema dell'Approssimazione Universale.
Backpropagation
Reti Neurali cicliche o ricorsive:
- Reti di Jordan
- Reti di Elman
- Reti di Hopfield (cocetto di memoria associativa, regola di apprendimento di Hebb).
•
Reti Neurali auto-organizzative
- Reti ad apprendimento competitivo.
- Reti di Kohonen o Self Organizing Maps (SOM).
7. Sistemi Fuzzy
•
•
•
•
•
•
•
Concetti generali. Il mondo crisp e il mondo fuzzy.
Insiemistica fuzzy:
- Definizione di insieme fuzzy.
- Funzione di appartenenza.
- Nucleo, supporto, alfa-cut.
- Insiemi fuzzy normali e convessi.
- Operazioni sugli insiemi: unione, intersezione, ecc.
- Norma e conorma triangolari. Definizioni e loro proprietà.
Relazioni Fuzzy:
- Prodotto cartesiano fuzzy.
- Relazioni di equivalenza e somiglianza.
Principio di estensione di Zadeh.
Numeri ed aritmetica fuzzy:
- Definizione generale di numero fuzzy.
- Operazioni aritmetiche sui numeri fuzzy.
- Famiglie di numeri fuzzy; numeri fuzzy L-R e operazioni aritmetiche su essi.
Logica fuzzy:
- Proposizioni e predicati fuzzy.
- Operatori logici fuzzy (negazione, congiunzione, disgiunzione, implicazione, ecc.).
- Ragionamento approssimato.
- Regola di inferenza fuzzy. Sistemi di inferenza fuzzy.
- Sistemi esperti fuzzy.
Metodi di defuzzificazione.
8. Sistemi Ibridi
•
•
Cenni all'integrazione tra sistemi fuzzy e algoritmi evolutivi.
Sistemi neuro-fuzzy:
- 3-layer fuzzy Perceptron. MIN-MAX fuzzy Perceptron.
- Neural Fuzzy Control (NEFCON).
9. Classificatori bayesiani (cenni)
•
•
•
•
Il teorema di Bayes e le sue ricadute sui problemi di classificazione.
Naive Bayes.
Tree Augmented Naive Bayes (TAN)
Concetti fondamentali delle reti bayesiane.