Machine Learning - PowerPoint PPT Presentation

About This Presentation
Title:

Machine Learning

Description:

Title: Machine Learning Author: Fabio Rossi Last modified by: Fabio Rossi Created Date: 5/6/2004 8:52:07 AM Document presentation format: Presentazione su schermo – PowerPoint PPT presentation

Number of Views:107
Avg rating:3.0/5.0
Slides: 51
Provided by: Fabio49
Category:

less

Transcript and Presenter's Notes

Title: Machine Learning


1
Machine Learning
  • Come migliorarsi attraverso lesperienza

Rossi Fabio
2004-05-12
2
Indice
  • Apprendimento Automatico
  • Definizioni
  • Applicazioni
  • Alberi di decisione
  • Definizione, obbiettivi
  • Esempi
  • Inductive logic Programming
  • Definizioni, tassonomie
  • Alcune regole e tecniche

3
Definizioni 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

4
Definizioni 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.

5
Impieghi dellApprendimento Automatico
  1. Data Mining (estrazione di conoscenza) scoprire
    regolarità e patterns in dati multi-dimensionali
    e complessi (es. cartelle cliniche).
  2. Miglioramento delle performance macchine che
    migliorano le loro capacità (es. movimenti di un
    robot).
  3. Software adattabili programmi che si adattano
    alle esigenze dellutente (es. Letizia).

6
Scelte nella definizione di un sistema di
apprendimento
  1. Componenti Migliorabili decidere quali sono le
    componenti sulle quali lavorare
  2. Scelta e Rappresentazione di una funzione
    obiettivo che rappresenti il compito
  3. Scelta di un algoritmo di apprendimento
  4. Modalità di training supervisionato, guidato da
    obiettivi

7
2. 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.

8
2. 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.

9
3. 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

10
4. 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)

11
4.1.a. Supervisionato
Back
12
4.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
13
4.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
14
4.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
15
4. Modalità di training
  • DefiniamoKB Conoscenza baseKA Conoscenza
    aggiuntivaE Input EsternoMi Motore
    Inferenziale
  • Apprendimento DichiarativoKB E KB

Apprendimento
16
4.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

17
4.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

18
Apprendimento 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.

19
Apprendimento 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

20
Apprendimento 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

21
Apprendimento InduttivoCompletezza e Consistenza
22
Alberi di Decisione
  • Metodo di apprendimentodi conoscenza simbolica

23
Alberi 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

24
Alberi di Decisione
25
Alberi 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

26
Alberi 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).

27
Alberi 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.

28
Alberi di Decisione Come utilizzare gli esempi D?
29
Alberi 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

30
Alberi 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

31
Alberi 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

32
Inductive Logic Programming
  • Per la rappresentazione
  • degli esempi e dei concetti

33
Conoscenza e ApprendimentoCome utilizzare la
conoscenza a priori
Lapproccio induttivo puro cerca
ipotesi Ipotesi ? Descrizioni
Classificazioni. Ovviamente cerca Ipotesi
semplici e consistenti con le descrizioni
34
Conoscenza 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

35
Inductive Logic ProgrammingDefinizione
  • E il settore dellApprendimento Automatico che
    impiega la programmazione logica come linguaggio
    di rappresentazione degli esempi e dei concetti
  • ML LP ILP

36
Inductive 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)

37
Inductive 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"

38
Inductive 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
    )

39
Inductive 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
40
Inductive 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)

41
Inductive 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-

42
Inductive 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!

43
Inductive 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.

44
Inductive 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

45
Inductive 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).

46
Inductive 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)

47
Inductive 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

48
Inductive 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.

49
Inductive 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.

50
Inductive 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

51
Inductive 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.

52
Inductive 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.

53
Inductive 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)

54
Inductive 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).

55
Bibliografia
  • Fonti del
  • seminario

56
BibliografiaMachine 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.

57
BibliografiaInductive 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.
Write a Comment
User Comments (0)
About PowerShow.com