La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Machine Learning Come migliorarsi attraverso l’esperienza Rossi Fabio2004-05-12.

Presentazioni simili


Presentazione sul tema: "Machine Learning Come migliorarsi attraverso l’esperienza Rossi Fabio2004-05-12."— Transcript della presentazione:

1 Machine Learning Come migliorarsi attraverso l’esperienza Rossi Fabio

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 experienced [Michalski 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 l’esperienza Migliorare nel task T Rispetto ad una misura di prestazione P Basandosi sull’esperienza 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 l’analisi delle proprie esperienze.

5 Impieghi dell’Apprendimento 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 dell’utente (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…. peso altezza A=bP

8 2. funzione obiettivo e funzione appresa Nota: Difficilmente un sistema riesce ad apprendere perfettamente una funzione obbiettivo f (l’esempio 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. L’obiettivo è di apprendere una h che approssimi f “il meglio possibile”.

9 3. algoritmo di apprendimento Scelta dell’algoritmo 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 sull’informazione a disposizione:  Supervisionato (esempi disponibili) Supervisionato  Con rinforzo (premi a fronte di comportamenti corretti) Con rinforzo  Non supervisionato (senza esempi) Non supervisionato Basato sul ruolo dell’apprendista (learner)  Apprendimento passivo (apprende da esempi a- priori) Apprendimento passivo  Apprendimento attivo (apprende anche durante il funzionamento) Apprendimento attivo

11 4.1.a. Supervisionato Si ha a disposizione un insieme di esempi classificati x: dove vi sono valori delle variabili di ingresso, ed O è l’uscita. Pendono anche il nome di attributi o features. Implica l’esistenza di un istruttore che conosce la risposta corretta Si apprende una funzione obiettivo La misura della prestazione consiste nel minimizzare l’errore di approssimazione della funzione obiettivo sugli esempi a disposizione Back

12 4.1.b. Con rinforzo L’apprendista interagisce con l’ambiente 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 l’azione Back

13 4.1.c. Non supervisionato Si percepisce solo l’evoluzione delle percezioni e non la bontà delle azioni. L’esperienza 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:  L’apprendista può apprendere solo dai dati che vengono messi a disposizione (E) Apprendimento attivo:  L’apprendista può fare domande ed esperimenti Back

15 4. Modalità di training Definiamo: KB Conoscenza base KAConoscenza aggiuntiva EInput Esterno M i Motore Inferenziale Apprendimento Dichiarativo KB + EKB* Apprendimento

16 4.3.a Apprendimento Deduttivo Nel caso DICHIARATIVO si può avere: Apprendimento Deduttivo: KB* = KB + KA con KB KA se KB Mi EKA = E KA Mi E  In genere aumento l’efficienza del sistema

17 4.3.b Apprendimento Induttivo Apprendimento Induttivo: KB* = KB + KA con KB  KAE  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 dall’ambiente 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 c’e’ un concetto da imparare, l’obiettivo e’ quello di trovare regolarità (ovvero caratteristiche comuni) nelle istanze date.

19 Apprendimento Induttivo Problema: In 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 l’ipotesi 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: (a 1,a 2..a n ), a i assume valori su  0,1  ) Una funzione obiettivo o concetto da apprendere (indicata con f) (es. valutazione dell’interesse di una pagina web per un utente): Interessante: X   0,1  dove X è l’insieme 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: Dove f(x i )=1 se x i è un esempio positivo di f, 0 altrimenti Determinare: un’ipotesi h in H tale che h(x) = f(x)  x in D

21 Apprendimento Induttivo Completezza e Consistenza

22 Alberi di Decisione Metodo di apprendimento di 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 V i PROPRIETA’ V1V1 V2V2 VkVk …

24 Alberi di Decisione Clienti? NoSi No Si No Si NoSi 0 Alcuni Pieno Attesa stimata? Alternative?fame? Prenotazione? E' Venerdì o sabato? Alternative? Bar? Pioggia? > NoSi No Si No SiNo Si No Si NoSi No Si Aspettare o meno?

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 l’istanza (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: (utilizzando attributi booleani : a i ={0,1} ) gli attributi sono proprietà che descrivono gli esempi del dominio (es: fame=  si,no  Prezzo =  $,$$,$$$  Attesa =  0- 10, ,>60  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? Es.Alt.BarV/SFa.Clien.Pz.Pio.Pre.Tip.Att.A ? X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 SI NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO Alc Pien Alc Pie P Alc A Nes Pie P Nes P $$$ $ $.. Fr Tail F.F Ta Si No Si Si …

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 Decisione Algoritmo 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 nell’analizzare 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 1. Scelgo l’attributo più importante come radice e suddivido gli esempi 2. Per ogni nodo successore: Se ci sono sia es. positivi che negativi ricorsivamente applico l’algoritmo 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 Apprendimento Come utilizzare la conoscenza a priori L’approccio induttivo “puro” cerca ipotesi: Ipotesi  Descrizioni Classificazioni. Ovviamente cerca Ipotesi “semplici” e consistenti con le descrizioni

34 Conoscenza e Apprendimento Come utilizzare la conoscenza a priori Schema KBIL: knowledge Based Inductive Learning La conoscenza di fondo e le nuove ipotesi vengono combinate per spiegare gli esempi. Fondo  Ipotesi  Descrizioni Classificazioni Approccio induttivo basato sulla Conoscenza osservazioni Ipotesi predizioni Conoscenza a priori

35 Inductive Logic Programming Definizione E’ il settore dell’Apprendimento Automatico che impiega la programmazione logica come linguaggio di rappresentazione degli esempi e dei concetti ML + LP = ILP

36 Inductive Logic Programming Definizione 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 che B e+, per almeno un e+  E+ Trovare: un programma logico P  P tale che   e+  E+, B,P e+ (P è completo)   e-  E-, B,P e- (P è consistente)

37 Inductive Logic Programming Terminologia 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 Programming Esempio Apprendimento del predicato father. Dati  P : programmi logici contenenti clausole father(X,Y) :- α con α 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,steve),male(david), parent(kathy,ellen),female(kathy)}

39 Inductive Logic Programming Esempio E+={father(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 Programming Esempio (2) Apprendimento di intersection Dati:  P : programmi logici contenenti clausole int(X,Y,Z):- α con α  {null(X),null(Y),null(Z),cons(X1,X2,X),int(X2,Y,W) int(X2,Y,Z),cons(X1,W,Z),member(X1,Y), notmember(X1,Y)}  E+={int([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 Programming Esempio (2) B:  null([]).  cons(X,Y,[X|Y]).  member(X,[X|Y]).  member(X,[Z|Y]):-member(X,Y).  notmember(X,[]).  notmember(X,[Z|Y]):-X≠Z,notmember(X,Y). Trovare:  Un programma per calcolare l'intersezione che sia consistente e completo rispetto ad E+, E-

42 Inductive Logic Programming Esempio (2) Possibile soluzione: P1:  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 Programming Aree 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 Programming Applicazioni 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 Programming Classificazione 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 all’utente 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 Programming Classificazione 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 Programming Inductive Logic Programming Relazione 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 (C1>C2) se C1 ≥ C2 ma non C2 ≥ C1

48 Inductive Logic Programming Esempio di Inductive Logic Programming Esempio di θ -sussunzione C1=grandfather(X,Y)←father(X,Z). C2=grandfather(X,Y)←father(X,Z),parent(Z,Y). C3=grandfather(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 Inductive Logic Programming proprietà della θ -sussunzione La θ -sussunzione ha l’importante 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 Programming Algoritmi 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 Programming Algoritmi Top-Down Gli algoritmi top-down imparano programmi generando le clausole in maniera sequenziale (una dopo l’altra). 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 Programming Top-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) :- α con α  {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)} E+={father(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° passo father(X,Y) :- parent(X,Y). copre tutti gli e+ ma anche l'e- father(kathy,ellen). 3° passo father(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 Bibliografia Machine 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 , ftp://ftp.cs.cmu.edu/project/jair/volume4/quinlan96a.ps I.H. Witten, E. Frank, Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations, Morgan Kaufmann, 1999.

57 Bibliografia Inductive Logic Programming S. Muggleton e C. Feng, Efficient induction of logic programs, Proceedings of the 1st Conference on Algorithmic Learning Theory Ohmsma, Tokyo, pag , G.D. Plotkin. A note on inductive generalisation.In B. Meltzer and D. Michie, editors, Machine Intelligence 5, pages Edinburgh University Press, Edinburgh, J. R. Quinlan, Determinate literals in inductive logic programming, Proceedings of Twelfth International Joint Conference on Artificial Intelligence, Morgan Kaufmann, 1991.


Scaricare ppt "Machine Learning Come migliorarsi attraverso l’esperienza Rossi Fabio2004-05-12."

Presentazioni simili


Annunci Google