Apprendimento Automatico Progetti A.A. 2007/2008.

26
Apprendimento Automatico Progetti A.A. 2007/2008

Transcript of Apprendimento Automatico Progetti A.A. 2007/2008.

Page 1: Apprendimento Automatico Progetti A.A. 2007/2008.

Apprendimento Automatico

Progetti A.A. 2007/2008

Page 2: Apprendimento Automatico Progetti A.A. 2007/2008.

Punteggio assegnato alle prove

Prova scritta (25/30) Due esoneri hanno come voto complessivo la

media Progetto (5/30)

Deve essere almeno sufficiente (2,5 punti)

Page 3: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 1: Face Recognition

Determinare una funzione obiettivo, ad esempio la classificazione dell'espressione, della posa, degli occhi o dell'utente ritratto in una foto

Determinare la rappresentazione delle istanze Apprendere un classificatore basato su rete

neurale alimentata in avanti Il progetto ricalca quello assegnato da Tom

Mitchell alla Carnegie Mellon: http://www.cs.cmu.edu/~tom/faces.html

Page 4: Apprendimento Automatico Progetti A.A. 2007/2008.

Face Recognition: immagini da classificare

Le immagini, in formato PGM, si trovano a: http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-

8/ml94faces/faces/ Formato dei file delle immagini PGM:

http://netpbm.sourceforge.net/doc/pgm.html Libreria Java per il caricamento di file PGM:

http://www.thur.de/~Voland/pub/java/pgmdiff/pgm.java

Page 5: Apprendimento Automatico Progetti A.A. 2007/2008.

Face Recognition: classi Il nome di ciascun file immagine è del tipo:

user-id_posa_espressione_occhi_scala.pgm user-id: nome della persona posa: posizione della testa scelto tra { straight, left,

right, up } espressione: espressione facciale scelta tra { neutral,

happy, sad, angry } occhi: stato degli occhi { open, closed } scale: dimensione dell'immagine scelta tra { 1, 2, 4}

indica rispettivamente: 128x120, 64x60, 32x20

Page 6: Apprendimento Automatico Progetti A.A. 2007/2008.

Face Recognition

Page 7: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 1: Elementi di Valutazione

Rappresentazione delle istanze Struttura e parametrizzazione della Rete

Neurale Analisi delle prestazioni

Valutate anche rispetto alle baseline (es. la classe più frequente, una scelta a caso, ecc.)

Page 8: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 2: Analisi di Mercato

Dato un insieme di dati relativi agli utenti sulla rete, scegliere una funzione obiettivo (ad esempio: identificare la fascia di reddito degli utenti (attributo Household Income) oppure la disponibilità a pagare per ottenere servizi (attributo Willingness to Pay Fees))

Data set ottenibile all’indirizzo: http://archive.ics.uci.edu/beta/datasets/

Internet+Usage+Data Scegliere due classificatori giudicati appropriati

al task e applicarli al problema

Page 9: Apprendimento Automatico Progetti A.A. 2007/2008.

Analisi di Mercato degli Utenti Internet

File final_general.col

• Actual Time• Age• Community Building• Community Membership_Family• Community Membership_Hobbies• Community Membership_None• Community Membership_Other• Community Membership_Political• Community Membership_Professional• Community Membership_Religious• Community Membership_Support• Country Disability_Cognitive• Disability_Hearing• Disability_Motor• Disability_Not Impaired• Disability_Not Say• Disability_Vision• Education Attainment• Falsification of Information• Gender• Household Income• …

File changes

Universal: (when applicable)• Not Say! = 0 • Don't Know = 98• Other = 99

Education level:• grammar=0• high school=1• professional=2• some college=3• college=4• masters=5• doctoral=6• special=7• other=99

Gender:• female=0• male=1

Page 10: Apprendimento Automatico Progetti A.A. 2007/2008.

Analisi di Mercato degli Utenti Internet

final_general.dat.gz: (5 41 2 0 0 1 0 0 0 0 0 40 0 0 0 1 0 0 5 1 1 8 0 0 0 0 0

0 0 1 0 5 2 3 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 99 2 93819 )

(2 28 2 0 0 0 0 0 0 0 1 40 0 0 0 1 0 0 3 2 0 1 1 0 0 0 0 0 0 0 0 5 3 5 6 1 2 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 2 0 0 0 0 1 0 4 0 95708)

(99 25 0 1 1 0 0 0 1 0 0 7 0 0 0 1 0 0 4 2 1 8 0 0 0 0 0 0 0 0 1 5 0 99 6 4 2 1 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 2 1 1 1 0 0 0 0 1 1 99 2 97218)

Page 11: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 2: Elementi di Valutazione

Classificatori prescelti Analisi delle prestazioni

Valutate anche rispetto alle baseline (es. la classe più frequente, una scelta a caso, ecc.)

Studio delle prestazioni al variare della dimensione del data set

Studio delle prestazioni quando valuto il classificatore su: un test set separato, il training set, ten-fold cross validation, ecc.

Page 12: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 3: Natural Language Processing (NLP)

Apprendere un classificatore per risolvere l’ambiguità di una parola Può essere supervisionato o non supervisionato

Una parola può esprimere più significati o sensi: the musicians left their instrument cases backstage it may rain in which case the picnic will be canceled

Fissata la parola di interesse (es. case) avremo un classificatore che data una frase rappresentata in un certo modo fornisce il senso più appropriato (Word Sense Disambiguation) Nel caso non supervisionato, in realtà siamo noi a creare i

sensi senza conoscere un inventario a priori (Word Sense Discrimination)

Page 13: Apprendimento Automatico Progetti A.A. 2007/2008.

WordNet WordNet è un dizionario gratuito in formato elettronico della

lingua inglese (http://wordnet.princeton.edu) E’ organizzato come una rete semantica: dato un senso di una

parola, è possibile ottenere informazioni quali: Iperonimi, ovvero antenati nella gerarchia tassonomica (case is-a

container is-a instrumentality is-a artifact is-a object)

Page 14: Apprendimento Automatico Progetti A.A. 2007/2008.

Word Sense Disambiguation Data una frase contenente la parola in esame:

The musicians left their instrument cases backstage.

Si applica il part-of-speech tagging (categorizzazione sintattica): The/DT musician/NN leave/VB their/JJ instrument/NN

case/NN backstage/RB. DT: articolo o aggettivo indicativo NN: nome VB: verbo PRP: pronome possessivo JJ: aggettivo RB: avverbio

Page 15: Apprendimento Automatico Progetti A.A. 2007/2008.

Word Sense Disambiguation

Determinare le caratteristiche per rappresentare un’istanza

Data la lunghezza variabile di una frase, ci concentriamo sull’”intorno” della parola in esame (es. case): Lemma di k parole a sinistra e destra di case: their,

instrument, (a sinistra), backstage, - (a destra) Il lemma è la forma “normalizzata” di una parola

(singolare per i nomi, infinito per i verbi, ecc.) Part of speech di k parole a sinistra e destra: JJ,

NN, RB, -

Page 16: Apprendimento Automatico Progetti A.A. 2007/2008.

Word Sense Disambiguation

Altre caratteristiche che si possono aggiungere alla rappresentazione (opzionale): Informazioni ottenute da dizionari (es. WordNet)

Iperonimi, concetti in alto nella gerarchia tassonomica (solo per i nomi)

Informazioni di dominio delle parole della frase WordNet domains

Per ogni parola della frase, si possono conteggiare i domini associati ai diversi sensi delle varie parole

case#n#1: law (legge) case#n#11: furniture (arredamento) ecc.

Page 17: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 3: Elementi di Valutazione

Scelta delle feature Algoritmo di apprendimento Valutazione:

nel caso supervisionato, vi fornisco io le etichette per ciascun esempio nel data set

nel caso non supervisionato, se fissiamo il numero di cluster pari o vicino al numero di sensi in WordNet per la parola in esame, possiamo valutare se i cluster ottenuti hanno una correlazione rispetto ai sensi in WordNet

Page 18: Apprendimento Automatico Progetti A.A. 2007/2008.

Giochi Classici: Progetto 4 Scegliere un classificatore per uno dei giochi seguenti:

Tris (Tic Tac Toe)

Dama (http://www.aaai.org/AITopics/html/checkers.html)

MasterMind

Se utilizzate un classificatore “classico” (es. decision trees), potreste voler:

Generare insiemi d'addestramento di varie dimensioni per capire quale dimensione è sufficiente per apprendere un classificatore accurato

Valutare il classificatore in una partita reale contro di voi o contro un giocatore preconfezionato

Altre idee?

Oppure: programmazione genetica, apprendimento per rinforzo

Valutare il classificatore in una partita reale contro di voi oppure contro un giocatore preconfezionato

Page 19: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 4: Elementi di Valutazione

Rappresentazione delle istanze o dei programmi Scelta del classificatore Valutazione del modello appreso

Page 20: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 5: Videogioco Pac-man (http://it.wikipedia.org/wiki/Pac-Man):

Page 21: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 5: Videogioco Pac-man (http://it.wikipedia.org/wiki/Pac-Man):

Abbiamo un mondo costituito da una matrice NxN Ogni elemento della matrice è: vuoto, pillola

normale, pillola speciale, muro Due tipi di agenti: Pac-man e i fantasmini Apprendere un buon agente di tipo Pac-man, che

vinca il maggior numero di partite

Page 22: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 5: Elementi di Valutazione

Rappresentazione degli agenti Scelta dell’algoritmo di apprendimento Valutazione del modello appreso Fantasia!

Page 23: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 6: Controllo del Traffico Apprendere un modello per il controllo del

traffico Problemi:

Rappresentare la strada

Page 24: Apprendimento Automatico Progetti A.A. 2007/2008.

Esempio http://www.vishnu.bbn.com/papers/traffic/traffic.html Utilizza la programmazione genetica (PG) Ad esempio, la funzione di fitness scelta è:

Per implementare il controllo dei segnali, si devono realizzare alcune funzioni che le “creature” di PG possono utilizzare per accedere alle informazione sugli incroci

Function Description Result Type

QUEUE_FULL Is the traffic backed up to the sensors? boolean

WAITING Is a car waiting at the intersection? boolean

TIME_SINCE_CHANGE How many seconds ago was the light last changed?

integer

APPROACHING Is a car current approaching the intersection? boolean

CONSTANT_X Get the value of the constant X for the current signal and the current active street

integer

Page 25: Apprendimento Automatico Progetti A.A. 2007/2008.

Esempio

Le regole apprese:

Page 26: Apprendimento Automatico Progetti A.A. 2007/2008.

Progetto 6: Elementi di Valutazione

Rappresentazione degli oggetti (incroci, semafori, veicoli)

Scelta dell’algoritmo di apprendimento Valutazione del modello appreso (su quante

simulazioni la coda raggiunge il sensore di coda piena?)

Fantasia!