26
Apprendimento Automatico Tecniche ‘classiche’ di apprendimento (parte 2) Stefano Cagnoni

Apprendimento Automatico

  • Upload
    noleta

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

Apprendimento Automatico. Tecniche ‘classiche’ di apprendimento (parte 2) Stefano Cagnoni. Alberi di Decisione per Informazione Incerta. I valori di un training set possono essere soggetti a rumore: Un insieme di attributi può essere erroneamente considerato insufficiente. - PowerPoint PPT Presentation

Citation preview

Page 1: Apprendimento Automatico

Apprendimento Automatico

Tecniche ‘classiche’ di apprendimento(parte 2)

Stefano Cagnoni

Page 2: Apprendimento Automatico

2

Alberi di Decisioneper Informazione Incerta

I valori di un training set possono essere soggetti a rumore:

Un insieme di attributi può essere erroneamente considerato insufficiente.

Si genera un albero inutilmente complesso.

Se si sa che il training set può contenere degli errori, possiamo limitarne la complessità usando due strategie:

Potatura in avanti.

Potatura all’indietro.

Page 3: Apprendimento Automatico

3

Alberi di Decisioneper Informazione Incerta

La potatura in avanti può decidere di non espandere un nodo in più nodi in base: al numero di istanze contenute nell’insieme corrispondente al nodo. alla loro distribuzione tra le classi corrispondenti ai possibili nodi figli, in

funzione dei diversi attributi su cui basare la partizione.

Esempio: Se abbiamo 100 istanze e l’unico attributo disponibile le divide in due classi

di 99 e 1 elementi, possiamo decidere di non espandere il nodo ritenendo generata da un errore l’unica istanza della seconda classe.

La potatura all’indietro genera tutto l’albero e poi decide quali nodi eliminare in base ad una stima empirica dell’errore di classificazione.

Page 4: Apprendimento Automatico

4

C4.5

Programma freeware per la costruzione di alberi di decisione

Composto da 4 eseguibili C4.5 genera un albero binario C4.5rules genera regole derivate dall’albero Consult classifica usando l’albero Consultr classifica usando le regole

Scaricabile dal sito http://www.rulequest.com/Personal/

Page 5: Apprendimento Automatico

5

C4.5

Basato sull’algoritmo ID3 con alcune estensioni (gestione di attributi continui e pruning)

(http://www2.cs.uregina.ca/~hamilton/courses/831/notes/ml/dtrees/c4.5/tutorial.html)

Basato sul guadagno di informazione Insieme finito di classi. A seconda che l’attributo sia simbolico o numerico i nodi generano

un successore per ogni possibile valore una serie di successori divisi in base al confronto con una costante o all’appartenenza ad

intervalli prefissati L’algoritmo inizia con tutti gli esempi, un insieme di possibili nodi test e la radice

come nodo attuale. Finché gli esempi assegnati ad un certo nodo non appartengono alla stessa classe e ci sono attributi disponibili

si sceglie come il nodo col max guadagno informativo si genera l’insieme dei successori ogni esempio è assegnato al successore determinato dal valore dell’attributo scelto si applica ID3 ricorsivamente ai successori.

Page 6: Apprendimento Automatico

6

C4.5

Utilizza vari file xxxxx.names definizione degli attributi xxxxx.data dati per la costruzione dell’albero (training set) xxxxx.test dati per la verifica delle prestazioni (test set) xxxxx.rules regole derivate dall’albero corrispondente

xxxxx.tree miglior albero in forma binaria xxxxx.unpruned albero generato dall’algoritmo prima della

potatura

Page 7: Apprendimento Automatico

7

C4.5

xxxxx.names definizione degli attributi

class1, class2, ….. classn. | classi

attr1: val1attr1,val2attr1,….valmattr1. attr2: continuous.….attrk: val1attrk,val2attrk,….valmattrk.

(NB INSERIRE un <cr> dopo l’ultima riga!!!)

Page 8: Apprendimento Automatico

8

C4.5

xxxxx.data training set xxxxx.test test set

| attr1, attr2, attr3, ……., attrm

valattr1, valattr2, valattr3, …. valattrm, decisione | esempio1 valattr1, valattr2, valattr3, …. valattrm, decisione | esempio2 valattr1, valattr2, valattr3, …. valattrm, decisione | esempio3 …..valattr1, valattr2, valattr3, …. valattrm, decisione | esempioN

Page 9: Apprendimento Automatico

9

C4.5

Esempio (golf.names)

Play, Don't Play.

outlook: sunny, overcast, rain.

temperature: continuous.

humidity: continuous.

windy: true, false.

Page 10: Apprendimento Automatico

10

C4.5

Esempio (golf.data)

sunny, 85, 85, false, Don't Playsunny, 80, 90, true, Don't Playovercast, 83, 78, false, Playrain, 70, 96, false, Playrain, 68, 80, false, Playrain, 65, 70, true, Don't Playovercast, 64, 65, true, Playsunny, 72, 95, false, Don't Playsunny, 69, 70, false, Playrain, 75, 80, false, Playsunny, 75, 70, true, Playovercast, 72, 90, true, Playovercast, 81, 75, false, Playrain, 71, 80, true, Don't Play

Page 11: Apprendimento Automatico

11

C4.5

Output del programma

C4.5 [release 8] decision tree generator Tue May 11 15:37:34 2004---------------------------------------- Options:

File stem <golf>

Read 14 cases (4 attributes) from golf.data

Decision Tree:

outlook = overcast: Play (4.0)outlook = sunny:| humidity <= 75 : Play (2.0)| humidity > 75 : Don't Play (3.0)outlook = rain:| windy = true: Don't Play (2.0)| windy = false: Play (3.0)

Evaluation on training data (14 items): Before Pruning After Pruning---------------- ---------------------------Size Errors Size Errors Estimate

8 0( 0.0%) 8 0( 0.0%) (38.5%) <<

Page 12: Apprendimento Automatico

12

Generalizzazione e Specializzazione

La generalizzazione e la specializzazione sono un ottimo strumento per l’apprendimento:

(is ?x gatto) possibile(accarezzare ?x)

(is ?x felino) possibile(accarezzare ?x) [generalizzazione NON valida]

(and (is ?x felino) (piccolo ?x)) possibile(accarezzare ?x) [specializzazione valida]

(and (is ?x carnivoro) (piccolo ?x)) possibile(accarezzare ?x) [generalizzazione valida]

Tali strumenti vanno applicati finché non si trova una definizione del concetto che descriva le istanze positive contenute nel training set e non si applichi ad alle istanze negative.

Page 13: Apprendimento Automatico

13

Generalizzazione e Specializzazione

Se abbiamo la descrizione:

(su a1 a2) (su a1 a3) (not (a-contatto a2 a3) (parti a (a1 a2 a3))

(is a1 mattone) (is a2 mattone) (is a3 mattone) (is a arco)

Problema di identificazione della situazione: Bisogna ignorare tutte le caratteristiche non interessanti.

Problema della descrizione: Bisogna avere delle descrizioni adeguate. Bisogna utilizzare descrizioni simili.

a1

a3a2

Page 14: Apprendimento Automatico

14

Generalizzazione e Specializzazione

Le variabili sono più generali delle costanti:

(and (su ?x tavolo) (su ?y tavolo)) più specifica

(and (su ?x ?z) (su ?y tavolo))

(and (su ?x tavolo) (su ?y?z))

(and (su ?x ?z) (su ?y ?z))

(and (su ?x ?z) (su ?y ?v)) più generale

Il problema diventa un problema di ricerca (del livello di descrizione adeguato al problema).

Page 15: Apprendimento Automatico

15

Generalizzazione e Specializzazione

Data la forma:

(su ?x tavolo)

l’aggiunta di una clausola in ‘or’ generalizza:

(or (su ?x tavolo) (sospeso ?x soffitto))

l’aggiunta di una clausola in ‘and’ specializza:

(and (su ?x tavolo) (a-contatto ?x parete1))

Page 16: Apprendimento Automatico

16

Accoppiamento di Descrizioni

Date le due descrizioni:

(su a1 a2) (su a1 a3) (not (a-contatto a2 a3)) (parti a (a1 a2 a3))

(is a1 mattone) (is a2 mattone) (is a3 mattone) (is a arco)

(su a1 a2) (su a1 a3) (not (a-contatto a2 a3)) (parti a (a1 a2 a3))

(is a1 cuneo) (is a2 mattone) (is a3 mattone) (is a arco)

Il sistema deve accoppiare le due descrizioni, cioè sostituire le parti che differiscono con un versione che le accomuni:

(or (is a1 mattone) (is a1 cuneo))Generalizzando: (is a1 prisma)

Page 17: Apprendimento Automatico

17

Analogia

Può essere che una situazione sia simile a situazioni passate e che il modo in cui ci eravamo comportati possa aiutare a decidere come comportarci in futuro.

Tuttavia è un metodo che non permette di generalizzare facilmente.

Problema 1: dato un segmento RY e due punti su di esso O e N tali che valga RO = NY provare che RN = OY.

Problema 2: dato un segmento AD e due punti su di esso C e B tali che valga AB > CD provare che AC > BD.

Page 18: Apprendimento Automatico

18

Analogia

Problema 1: dato un segmento RY e due punti su di esso O e N tali che valga RO = NY provare che RN = OY.

RO=NY RO+ON=NY+ONON=ON RN=OY

Problema 2: dato un segmento AD e due punti su di esso C e B tali che valga AB > CD provare che AC > BD.

AB>CD AB+BC>CD+BCBC=BC AC>CD

R O N Y

A B C D

Page 19: Apprendimento Automatico

19

ApprendimentoGuidato da Insuccesso

I concetti imparati vengono applicati ed in caso di errore gli errori vengono utilizzati per la revisione dei concetti (Hacker).

(per-fare ?compito (ottieni (su ?x ?y))

(sposta ?x ?y)

(per-fare ?compito (ottieni (su ?x ?y))

(progn

(per-ogni ?z (su ?z ?x)

(liberati-di ?z))

(sposta ?x ?y)))

x

y

Goal

x

z

Stato Iniz.

y

Page 20: Apprendimento Automatico

20

ApprendimentoGuidato da Insuccesso

In casi reali è poco plausibile che il sistema si possa rendere conto in modo sicuro delle ragioni del fallimento.

Con questo metodo è solo possibile imparare dei casi speciali di concetti più generali: si può parlare di programmazione automatica.

Page 21: Apprendimento Automatico

21

Apprendimentoper Insegnamento Diretto

L’insegnante comunica non solo se il sistema sta sbagliando o meno, ma anche perché.

Se l’insegnante non conosce la struttura interna del sistema: Deve essere il sistema che trasforma il suggerimento in una

forma utile.

Il problema è come dare i suggerimenti: L’insegnante deve capire a che livello il sistema vuole i

suggerimenti.

Page 22: Apprendimento Automatico

22

Apprendimentoper Insegnamento Diretto

Esempio di questo tipo di sistema è Teiresias. Teiresias opera all’indietro (‘backward chaining’ o procedura ‘goal-

driven’) fino a che l’insegnante non riconosce un punto di malfunzionamento: Una regola ha determinato erroneamente P, le premesse della regola sono

vere, ma P non segue da esse. P avrebbe dovuto essere determinata, ma nessuna regola che poteva

determinare P non è stata applicata perché delle premesse non erano vere. Nel primo caso il sistema deve specializzare la regola che ha

determinato P. Nel secondo, o viene introdotta una nuova regola o viene

generalizzata una regola.

Page 23: Apprendimento Automatico

23

Apprendimento mediante Esplorazione

Metodo utilizzato da Eurisko e AM per la ricerca di configurazioni e generalizzazioni nei domini dei circuiti VLSI, dei giochi e della matematica elementare.

Mantengono una base di dati contenente i concetti, che accrescono attraverso l’utilizzo di euristiche.

Ad esempio, in AM ogni concetto è rappresentato da una struttura a frame.

Page 24: Apprendimento Automatico

24

Apprendimento mediante Esplorazione

Questi metodi esplorano lo spazio del problema sulla base di un’agenda di compiti da eseguire (concetti da attivare), ordinati in ordine decrescente di interesse.

Ad esempio, in AM il concetto insieme è definito:Nome: insieme

Specializzazioni: insieme-vuoto, insieme-non-vuoto, ...

Generalizzazioni: struttura-non-ordinata, ...

Esempi:

Tipici: [[]], [A, B]

Limite []

Valore: 600

Page 25: Apprendimento Automatico

25

Apprendimento mediante Esplorazione

Per creare nuovi concetti devono essere in grado di mutare i concetti preesistenti.

Ad esempio, AM utilizza un’euristica per la generalizzazione:

Se il compito è generalizzare X allora considera la sua definizione D e la sostituisce con una generalizzazione in base ai seguenti criteri:

Se D è un concetto allora usa le sue generalizzazioni. Se D è una congiunzione allora elimina o generalizza una clausola-and. Se D è una disgiunzione allora aggiunge o generalizza una clausola-or. Se D è una negazione (not D’), specializza D’.

Page 26: Apprendimento Automatico

26

Apprendimento mediante Esplorazione

Sistemi capaci di fare nuove congetture, non di dimostrarle.

Sistemi attivi: generano essi stessi gli oggetti su cui lavorare.

Tuttavia hanno bisogno di una conoscenza iniziale.

Ad esempio, AM ha scoperto il concetto di numero sulla base delle definizioni di lista, di insieme e di sacco (insieme che permette ripetizioni) e dell’uguaglianza in questi domini.