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)
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
Face Recognition:
immagini da classificare

Le immagini, in formato PGM, si trovano a:


Formato dei file delle immagini PGM:


http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo8/ml94faces/faces/
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
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
Face Recognition
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.)
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+Usa
ge+Data
Scegliere due classificatori giudicati appropriati
al task e applicarli al problema
Analisi di Mercato
degli Utenti Internet
File final_general.col
File changes
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Universal: (when applicable)
•
Not Say! = 0
•
Don't Know = 98
•
Other = 99
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
…
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
…
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
00105230111110000001000100000
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
00005356121210000000000000001
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)
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.
Progetto 3:
Natural Language Processing (NLP)

Apprendere un classificatore per risolvere l’ambiguità
di una parola


Una parola può esprimere più significati o sensi:



Può essere supervisionato o non supervisionato
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)
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)
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
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, -
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.
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
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
Progetto 4: Elementi di Valutazione

Rappresentazione delle istanze o dei programmi

Scelta del classificatore

Valutazione del modello appreso
Progetto 5: Videogioco

Pac-man (http://it.wikipedia.org/wiki/Pac-Man):
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
Progetto 5: Elementi di Valutazione

Rappresentazione degli agenti

Scelta dell’algoritmo di apprendimento

Valutazione del modello appreso

Fantasia!
Progetto 6: Controllo del Traffico


Apprendere un modello per il controllo del
traffico
Problemi:

Rappresentare la strada
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
Esempio

Le regole apprese:
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!
Scarica

Apprendimento Automatico