Title: Machine Learning
1Machine Learning
- Come migliorarsi attraverso lesperienza
Rossi Fabio
2004-05-12
2Indice
- Apprendimento Automatico
- Definizioni
- Applicazioni
- Alberi di decisione
- Definizione, obbiettivi
- Esempi
- Inductive logic Programming
- Definizioni, tassonomie
- Alcune regole e tecniche
3Definizioni di Apprendimento Automatico
- Definizione1
- Learning is constructing or modifying
representations of what is being
experiencedMichalski 1986 - Definizione2
- Learning denotes changes in the system that are
adaptive in the sense that they enable the system
to do the same task or tasks drawn from the same
population more efficiently and more effectively
the next time Simon 1984
4Definizioni di Apprendimento Automatico
- Apprendere migliorare la capacità di esecuzione
di un certo compito, attraverso lesperienza - Migliorare nel task T
- Rispetto ad una misura di prestazione P
- Basandosi sullesperienza E
- E esempi di comportamenti positivi o
negativi forniti da un istruttore, oppure un
sistema di ricompense. - In A.I. Tecniche che consentono ad agenti (o
sistemi automatici ) di migliorare il proprio
comportamento attraverso lanalisi delle proprie
esperienze.
5Impieghi dellApprendimento Automatico
- Data Mining (estrazione di conoscenza) scoprire
regolarità e patterns in dati multi-dimensionali
e complessi (es. cartelle cliniche). - Miglioramento delle performance macchine che
migliorano le loro capacità (es. movimenti di un
robot). - Software adattabili programmi che si adattano
alle esigenze dellutente (es. Letizia).
6Scelte nella definizione di un sistema di
apprendimento
- Componenti Migliorabili decidere quali sono le
componenti sulle quali lavorare - Scelta e Rappresentazione di una funzione
obiettivo che rappresenti il compito - Scelta di un algoritmo di apprendimento
- Modalità di training supervisionato, guidato da
obiettivi
72. funzione obiettivo
- Funzione obiettivo espressione formale della
conoscenza appresa. Viene usata per determinare
le prestazioni del programma di apprendimento. - Esempi di funzioni obiettivo polinomi, alberi di
decisione, reti neurali, insiemi di regole.
82. funzione obiettivo e funzione appresa
- Nota Difficilmente un sistema riesce ad
apprendere perfettamente una funzione obbiettivo
f (lesempio della funzione altezza-peso è un
caso). - In genere viene appresa un funzione, avente la
forma prescelta (polinomio, regole,..), che
rappresenta una stima , o IPOTESI (indicata con
h), per la funzione obiettivo. - Lobiettivo è di apprendere una h che approssimi
f il meglio possibile.
93. algoritmo di apprendimento
- Scelta dellalgoritmo e della funzione obiettivo
ovviamente correlate - Metodi statistici
- Bayesian learning
- Markov models
- Metodi algebrici
- Gradient descent
- Support Vector Machines
- Metodi knowledge-based
- Alberi di decisione
- Regole di associazione
104. Modalità di training
- Basato sullinformazione a disposizione
- Supervisionato (esempi disponibili)
- Con rinforzo (premi a fronte di comportamenti
corretti) - Non supervisionato (senza esempi)
- Basato sul ruolo dellapprendista (learner)
- Apprendimento passivo (apprende da esempi
a-priori) - Apprendimento attivo (apprende anche durante il
funzionamento)
114.1.a. Supervisionato
Back
124.1.b. Con rinforzo
- Lapprendista interagisce con lambiente e riceve
una ricompensa (numerica) positiva o negativa
(es. se un robot che fa goal il peso della
sequenza di azioni che lo ha portato a fare goal
viene aumentato) - Cosa si apprende una strategia di comportamento
(un piano o sequenza di azioni) - Misura della prestazione si cerca di
massimizzare a lungo termine la ricompensa
complessivamente ottenuta. - Percepisco la valutazione ma non conosco lazione
Back
134.1.c. Non supervisionato
- Si percepisce solo levoluzione delle percezioni
e non la bontà delle azioni. - Lesperienza di apprendimento è rappresentata da
dati non classificati (ad esempio, scontrini
fiscali, cartelle cliniche, pagine web). - Cosa si apprende regole associative fra i dati
(es if cocacola then patatine).
Back
144.2. Apprendimento attivo e passivo
- Apprendimento passivo
- Lapprendista può apprendere solo dai dati che
vengono messi a disposizione (E) - Apprendimento attivo
- Lapprendista può fare domande ed esperimenti
Back
154. Modalità di training
- DefiniamoKB Conoscenza baseKA Conoscenza
aggiuntivaE Input EsternoMi Motore
Inferenziale - Apprendimento DichiarativoKB E KB
Apprendimento
164.3.a Apprendimento Deduttivo
- Nel caso DICHIARATIVO si può avere
- Apprendimento DeduttivoKB KB KA con KB
KAse KB Mi E KA E KA Mi E - In genere aumento lefficienza del sistema
174.3.b Apprendimento Induttivo
- Apprendimento InduttivoKB KB KA con
KB?KA E - Con KB non inconsistente e relazione
debole di conseguenza logica - In genere aumento la conoscenza del sistema
18Apprendimento Induttivo
- Il sistema parte dai fatti e dalle osservazioni
derivanti da un insegnante o dallambiente
circostante e le generalizza, ottenendo
conoscenza che, auspicabilmente, sia valida anche
per casi non ancora osservati (induzione). Due
tipi di apprendimento induttivo - Apprendimento da esempi la conoscenza è
acquisita a partire da un insieme di esempi
positivi che sono istanze del concetto da
imparare e di esempi negativi che sono
non-istanze del concetto. - Apprendimento di regolarità non ce un concetto
da imparare, lobiettivo e quello di trovare
regolarità (ovvero caratteristiche comuni) nelle
istanze date.
19Apprendimento Induttivo
- ProblemaIn generale possono esserci molte
ipotesi per la funzione obiettivo, alle quali è
possibile assegnare, al di là del semplice
criterio di consistenza con gli esempi, un grado
di preferenza detto inclinazione - Approccio Incrementale Si cerca di modificare
lipotesi corrente ad ogni nuovo esempio fornito
20Apprendimento Induttivo Definizione formale del
problema
- Dato
- Un insieme di osservazioni (esempi, istanze)
x?X(es x feature vector) x (a1,a2..an), ai
assume valori su ?0,1?) - Una funzione obiettivo o concetto da apprendere
(indicata con f) (es. valutazione dellinteresse
di una pagina web per un utente)
Interessante X??0,1? dove X è linsieme delle
rappresentazioni feature-vector di pagine web - Uno spazio di ipotesi H (che dipende dalla
modalità di rappresentazione di f) - Un insieme di apprendimento D
- D lt(x1,f(x1))(x, f(xm))gt
- Dove f(xi)1 se xi è un esempio positivo di f, 0
altrimenti - Determinare unipotesi h in H tale che h(x)
f(x) ?x in D
21Apprendimento InduttivoCompletezza e Consistenza
22Alberi di Decisione
- Metodo di apprendimentodi conoscenza simbolica
23Alberi di Decisione
- Un albero di decisione prende in ingresso un
elemento x?X descritto mediante un insieme di
proprietà (coppie attributo-valore) ed emette in
uscita una "decisione binaria ( si o no) - Nodi ed Archi corrispondono al test della
proprietà che può avere come risultato uno dei Vi
24Alberi di Decisione
25Alberi di Decisione Obiettivo
- Lo scopo è, come in tutti i modelli di
apprendimento induttivo da esempi, imparare la
definizione di una funzione obiettivo espressa in
termini di albero di decisioni. - Un albero di decisione può essere espressa come
una disgiunzione (OR) di implicazioni, aventi il
valore della decisione come conclusione.
Nell'esempio, la funzione obiettivo (decisione) è
"Attendo" ed è implicata, fra l'altro, dalla
implicazione - ?r Clienti(r,Pieno) ? AttesaStimata(r,10-30) ?
Fame(r,N) ? Attendo(r) - Dove r rappresenta listanza (di ristorante) da
valutare
26Alberi di Decisione
- La decisione deve basarsi sull'esame di esempi D
x?X, così descritti - ogni esempio è rappresentato da un vettore che
rappresenta i valori degli attributi prescelti
per descrivere le istanze del dominio x
ltv1vali,v2valj,..vnvalmgt - (utilizzando attributi booleani lta1,a2,..aNgt
ai0,1 ) - gli attributi sono proprietà che descrivono gli
esempi del dominio (es fame?si,no? Prezzo ?
,,? Attesa ? 0-10,10-30..,gt60? - Gli alberi di decisione hanno il potere
espressivo dei linguaggi proposizionali, ovvero - qualsiasi funzione booleana può essere scritta
come un albero di decisione (e viceversa).
27Alberi di Decisione Quando è appropriato usarli?
- Quando è appropriato usare alberi di decisione?
- Gli esempi (istanze) sono rappresentabili in
termini di coppie attributo-valore. - La funzione obiettivo assume valori nel discreto.
Un albero di decisioni assegna classificazioni
booleane ma può essere esteso al caso di funzioni
a più valori. Non è comune, ma possibile,
l'utilizzo di questa tecnica per apprendere
funzioni nel continuo (discretizzando i valori
di f(x)). - E appropriato rappresentare il concetto da
apprendere mediante una forma normale
disgiuntiva. - I dati di apprendimento possono contenere errori,
oppure attributi di cui il valore è mancante.
28Alberi di Decisione Come utilizzare gli esempi D?
29Alberi di Decisione Come utilizzare gli esempi D?
- L'insieme di addestramento D è l'insieme completo
degli esempi sottoposti al sistema di
apprendimento - Una soluzione semplice sarebbe creare una
espressione congiuntiva per ogni esempio e
costruire una disgiunzione ma il sistema non
avrebbe alcun potere predittivo su esempi non
visti! Il problema è estrarre uno schema dagli
esempi, che sia in grado di estrapolare esempi
non visti
30Alberi di DecisioneAlgoritmo
- L'obiettivo è di estrarre uno schema coinciso.
- Rasoio di Ockham l'ipotesi più probabile è la
più semplice che sia consistente con tutte le
osservazioni. - Il problema di identificare l'albero più piccolo
è intrattabile. Tuttavia esistono euristiche che
consentono di trovare alberi "abbastanza"
piccoli. - L'idea consiste nellanalizzare dapprima gli
attributi più importanti, ovvero quelli che
discriminano di più. - Supponendo per ora di poter fare questa scelta ad
ogni passo i, l'algoritmo di creazione di un
albero delle decisioni da un set di esempi D è il
seguente
31Alberi di Decisione Algoritmo
- Scelgo lattributo più importante come radice e
suddivido gli esempi - Per ogni nodo successore
- Se ci sono sia es. positivi che negativi
ricorsivamente applico lalgoritmo con un
attributo in meno - Se sono tutti es. positivi metto la foglia SI
- Se sono tutti es. negativi metto la foglia NO
- Se non ci sono esempi restituisco un valore di
default calcolato in base alla maggioranza del
nodo progenitore - Se non ci sono più attributi ma ho ancora esempi
misti ho una situazione di errore (rumore) o di
vero non determinismo
32Inductive Logic Programming
- Per la rappresentazione
- degli esempi e dei concetti
33Conoscenza e ApprendimentoCome utilizzare la
conoscenza a priori
Lapproccio induttivo puro cerca
ipotesi Ipotesi ? Descrizioni
Classificazioni. Ovviamente cerca Ipotesi
semplici e consistenti con le descrizioni
34Conoscenza e ApprendimentoCome utilizzare la
conoscenza a priori
- Schema KBIL knowledge Based Inductive
LearningLa conoscenza di fondo e le nuove
ipotesi vengono combinate per spiegare gli
esempi. - Fondo ? Ipotesi ? Descrizioni
Classificazioni
35Inductive Logic ProgrammingDefinizione
- E il settore dellApprendimento Automatico che
impiega la programmazione logica come linguaggio
di rappresentazione degli esempi e dei concetti - ML LP ILP
36Inductive Logic ProgrammingDefinizione del
problema
- Dati
- un insieme P di possibili programmi
- un insieme E di esempi positivi
- un insieme E- di esempi negativi
- un programma logico consistente B, tale cheB
e, per almeno un e ? E - Trovareun programma logico P ? P tale che
- ? e ? E, B,P e (P è completo)
- ? e- ? E-, B,P e- (P è consistente)
37Inductive Logic ProgrammingTerminologia
- B background knowledge, conoscenza a priori,
predicati di cui conosciamo già la definizione. - E E- costituiscono il training set
- P programma target, B,P è il programma ottenuto
aggiungendo le clausole di P dopo quelle di B. - P viene detto hypothesis space. Definisce lo
spazio di ricerca. La descrizione di tale spazio
delle ipotesi prende il nome di language bias. - B,P e si dice "P copre e"
38Inductive Logic ProgrammingEsempio
- Apprendimento del predicato father.Dati
- P programmi logici contenenti clausole
father(X,Y) - acon a congiunzione di letterali
scelti fra - parent(X,Y),parent(Y,X),male(X),male(Y),female(X)
,female(Y) - B parent(john,mary),male(john),parent(david,st
eve),male(david),parent(kathy,ellen),female(kathy
)
39Inductive Logic ProgrammingEsempio
- Efather(john,mary),father(david,steve)
- E-father(kathy,ellen),father(john,steve)
- Trovare
- un programma per calcolare il predicato father
che sia consistente e completo rispetto ad E, E- - Possibile soluzione
- father(X,Y)-parent(X,Y),male(X).
Altro Esempio
40Inductive Logic ProgrammingEsempio (2)
- Apprendimento di intersectionDati
- P programmi logici contenenti clausole
int(X,Y,Z)- acon a ? null(X),null(Y),null(Z),c
ons(X1,X2,X),int(X2,Y,W)
int(X2,Y,Z),cons(X1,W,Z),member(X1,Y),
notmember(X1,Y) - Eint(4,2,6,5,2,8,2)
- E-int(4,2,6,5,2,8,2,6),
int(4,2,6,5,2,8,4,2,6)
41Inductive Logic ProgrammingEsempio (2)
- B
- null().
- cons(X,Y,XY).
- member(X,XY).
- member(X,ZY)-member(X,Y).
- notmember(X,).
- notmember(X,ZY)-X?Z,notmember(X,Y).
- Trovare
- Un programma per calcolare l'intersezione che sia
consistente e completo rispetto ad E, E-
42Inductive Logic ProgrammingEsempio (2)
- Possibile soluzioneP1
- int(X,Y,Z) - null(X), null(Z).
- int(X,Y,Z) -cons(X1,X2,X),member(X1,Y),int(X2,Y,W
),cons(X1,W,Z). - int(X,Y,Z) - cons(X1,X2,X),int(X2,Y,Z).
- Attenzione P1 deriva int(1,1,), che è
falso. - Non è garantito che il programma sia consistente
anche per gli esempi che non sono nel training
set!
43Inductive Logic ProgrammingAree di Applicazione
- acquisizione di conoscenza per sistemi esperti
- knowledge discovery nei database scoperta di
informazioni potenzialmente utili dai dati
memorizzati in un database - scientific knowledge discovery generazione di
una teoria scientifica a partire da osservazioni
generazione di esperimenti discriminanti test
della teoria - software engineering sintesi di programmi logici
- inductive engineering costruzione di un modello
di un dispositivo partendo da esempi del suo
comportamento.
44Inductive Logic ProgrammingApplicazioni di
successo
- predizione della relazione struttura -
attività nella progettazione di medicine - predizione della struttura secondaria delle
proteine, importante per determinare l'attività
di una medicina. - classificazione dei documenti in base alla
loro struttura - diagnosi di guasti in apparati elettromeccanici
- regole temporali per la diagnosi di guasti
ai componenti di satelliti
45Inductive Logic ProgrammingClassificazione dei
sistemi
- Esistono diverse dimensioni di
classificazione dei sistemi di ILP. - Possono richiedere che tutti gli esempi
siano dati all'inizio (batch learners) oppure
possono accettarli uno ad uno (incremental
learners). - Possono apprendere un solo predicato alla
volta (single predicate learners) oppure più
di uno (multiple predicate learners). - Durante l'apprendimento possono fare domande
allutente per chiedere la validità delle
generalizzazioni e/o per classificare esempi
generati dal sistema (interactive learners)
oppure non avere interazione con l'esterno
(non-interactive learners). - Infine, un sistema può imparare una teoria da
zero oppure partendo da una teoria preesistente
incompleta e/o inconsistente (theory revisors).
46Inductive Logic ProgrammingClassificazione dei
sistemi
- Sebbene si tratti di dimensioni indipendenti, i
sistemi esistenti appartengono a due gruppi
opposti. - Da una parte ci sono i sistemi batch, non
interattivi che apprendono da zero un concetto
alla volta (empirical systems) - dall'altro ci sono i sistemi incrementali,
interattivi che fanno theory revision e imparano
più predicati alla volta (interactive or
incremental systems)
47Inductive Logic ProgrammingRelazione di
generalità
- I sistemi apprendono una teoria compiendo
una ricerca nello spazio delle clausole ordinato
secondo la relazione di generalità. - Nel caso della programmazione logica induttiva la
relazione di generalità e basata su quella di
?-sussunzione - La clausola C1 ? -sussume C2 se esiste una
sostituzione ? tale che C1? ? C2. - Si dice che una clausola C1 e almeno tanto
generale quanto una clausola C2 (e si scrive C1
C2) se C1 ?-sussume C2 - C1 e piu generale di C2 (C1gtC2) se C1 C2 ma
non C2 C1
48Inductive Logic ProgrammingEsempio di
?-sussunzione
- C1grandfather(X,Y)?father(X,Z).
- C2grandfather(X,Y)?father(X,Z),parent(Z,Y).
- C3grandfather(john,steve)?father(john,mary),
parent(mary,steve). - C1 ?-sussume C2 con la sostituzione vuota ??
- C1 ?-sussume C3 con la sostituzione
?X/john,Y/steve,Z/mary. - C2 ?-sussume C3 con la sostituzione
?X/john,Y/steve,Z/mary.
49Inductive Logic Programming proprietà della
?-sussunzione
- La ?-sussunzione ha limportante proprietà che se
C1 ?-sussume C2 allora C1 C2. - Non e pero vero viceversa.
- Per questa ragione la ?-sussunzione viene
utilizzata per rappresentare la relazione di
generalità essa approssima la relazione di
generalità intuitiva che è basata sulla relazione
di conseguenza logica.
50Inductive Logic ProgrammingAlgoritmi
- Gli algoritmi per ILP si dividono in bottom-up e
top-down a seconda che utilizzino operatori di
generalizzazione o specializzazione. - Gli algoritmi bottom-up partono dagli esempi
(specifici o bottom) e li generalizzano ottenendo
una teoria che li copre. - Vengono utilizzati degli operatori di
generalizzazione ottenuti invertendo le regole
deduttive di unificazione, risoluzione e
implicazione
51Inductive Logic ProgrammingAlgoritmi Top-Down
- Gli algoritmi top-down imparano programmi
generando le clausole in maniera sequenziale (una
dopo laltra). La generazione di una clausola
avviene partendo da una clausola generale (con il
body vuoto) e specializzandola (applicando un
operatore di specializzazione o raffinamento)
fino a che non copre più nessun esempio negativo.
52Inductive Logic ProgrammingTop-Down criteri di
terminazione
- Gli algoritmo top-down differiscono tra di loro a
seconda del criterio di necessita e di
sufficienza. - In genere, il criterio di Sufficienza richiede
che tutti gli esempi positivi siano coperti. - In genere, il criterio di Necessità richiede che
nessun esempio negativo sia coperto dalla
clausola. Nel caso di dati rumorosi, questo
criterio può essere rilassato e si può ammettere
la copertura di un certo numero di esempi
negativi.
53Inductive Logic Programming Top-Down Esempio
- P father(X,Y) - a con a ? parent(X,Y),parent(Y
,X), male(X),male(Y),female(X),female(Y) - B parent(john,mary),male(john),
parent(david,steve),male(david),
parent(kathy,ellen),female(kathy) - Efather(john,mary),father(david,steve)
- E-father(kathy,ellen),father(john,steve)
54Inductive Logic Programming
- 1 passo di specializzazione father(X,Y) -
true.copre tutti gli e ma anche gli e- - 2 passofather(X,Y) - parent(X,Y).copre tutti
gli e ma anche l'e- father(kathy,ellen). - 3 passofather(X,Y) - parent(X,Y),
male(X).copre tutti gli e e nessun e- - Gli esempi positivi coperti vengono rimossi, E
diventa vuoto e l'algoritmo termina generando la
teoria - father(X,Y) - parent(X,Y), male(X).
55Bibliografia
56BibliografiaMachine Learning
- T. M. Mitchell, Machine Learning,
McGraw-Hill,1997 - J. R. Quinlan, C4.5 Programs for machine
learning, Morgan Kaufmann Publishers, San Mateo,
California, 1993 - J. R. Quinlan, Improved Use of Continuous
Attributes in C4.5, Journal of Artificial
Intelligence Research, 4, pag. 77--90, 1996.
ftp//ftp.cs.cmu.edu/project/jair/volume4/quinlan9
6a.ps - I.H. Witten, E. Frank, Data Mining Practical
Machine Learning Tools and Techniques with Java
Implementations, Morgan Kaufmann, 1999.
57BibliografiaInductive Logic Programming
- S. Muggleton e C. Feng, Efficient induction of
logic programs, Proceedings of the 1st Conference
on Algorithmic Learning Theory Ohmsma, Tokyo,
pag. 368-381, 1990. - G.D. Plotkin. A note on inductive
generalisation.In B. Meltzer and D. Michie,
editors, Machine Intelligence 5, pages 153-163.
Edinburgh University Press, Edinburgh, 1969. - J. R. Quinlan, Determinate literals in inductive
logic programming, Proceedings of Twelfth
International Joint Conference on Artificial
Intelligence, Morgan Kaufmann, 1991.