Apprendimento Automatico

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

Text of Apprendimento Automatico

  • Apprendimento AutomaticoTecniche classiche di apprendimento(parte 2)

    Stefano Cagnoni

    *

    Alberi di Decisioneper Informazione IncertaI 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 allindietro.

    *

    Alberi di Decisioneper Informazione IncertaLa potatura in avanti pu decidere di non espandere un nodo in pi nodi in base:al numero di istanze contenute nellinsieme 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 lunico attributo disponibile le divide in due classi di 99 e 1 elementi, possiamo decidere di non espandere il nodo ritenendo generata da un errore lunica istanza della seconda classe.La potatura allindietro genera tutto lalbero e poi decide quali nodi eliminare in base ad una stima empirica dellerrore di classificazione.

    *

    C4.5Programma freeware per la costruzione di alberi di decisione

    Composto da 4 eseguibiliC4.5genera un albero binarioC4.5rulesgenera regole derivate dallalberoConsultclassifica usando lalberoConsultrclassifica usando le regole

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

    *

    C4.5Basato sullalgoritmo 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 lattributo sia simbolico o numerico i nodi generanoun successore per ogni possibile valoreuna serie di successori divisi in base al confronto con una costante o allappartenenza ad intervalli prefissati Lalgoritmo 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 disponibilisi sceglie come il nodo col max guadagno informativo si genera linsieme dei successori ogni esempio assegnato al successore determinato dal valore dellattributo scelto si applica ID3 ricorsivamente ai successori.

    *

    C4.5Utilizza vari filexxxxx.namesdefinizione degli attributixxxxx.datadati per la costruzione dellalbero (training set)xxxxx.testdati per la verifica delle prestazioni (test set)xxxxx.rulesregole derivate dallalbero corrispondente

    xxxxx.treemiglior albero in forma binariaxxxxx.unprunedalbero generato dallalgoritmo prima della potatura

    *

    C4.5xxxxx.namesdefinizione degli attributi

    class1, class2, .. classn.| classi

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

    (NB INSERIRE un dopo lultima riga!!!)

    *

    C4.5xxxxx.datatraining setxxxxx.testtest 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

    *

    C4.5Esempio (golf.names)

    Play, Don't Play.

    outlook: sunny, overcast, rain.temperature: continuous.humidity: continuous.windy: true, false.

    *

    C4.5Esempio (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

    *

    C4.5Output del programma

    C4.5 [release 8] decision tree generatorTue May 11 15:37:34 2004---------------------------------------- Options:File stem

    Read 14 cases (4 attributes) from golf.data

    Decision Tree:

    outlook = overcast: Play (4.0)outlook = sunny:| 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%) 80( 0.0%) (38.5%) BD.

    *

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

    RO=NYRO+ON=NY+ONON=ONRN=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>CDAB+BC>CD+BCBC=BCAC>CDRONYABCD

    *

    ApprendimentoGuidato da InsuccessoI 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)))xyGoalxzStato Iniz.y

    *

    ApprendimentoGuidato da InsuccessoIn 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.

    *

    Apprendimentoper Insegnamento DirettoLinsegnante comunica non solo se il sistema sta sbagliando o meno, ma anche perch.

    Se linsegnante 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:Linsegnante deve capire a che livello il sistema vuole i suggerimenti.

    *

    Apprendimentoper Insegnamento DirettoEsempio di questo tipo di sistema Teiresias.Teiresias opera allindietro (backward chaining o procedura goal-driven) fino a che linsegnante 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.

    *

    Apprendimento mediante EsplorazioneMetodo 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 lutilizzo di euristiche.

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

    *

    Apprendimento mediante EsplorazioneQuesti metodi esplorano lo spazio del problema sulla base di unagenda di compiti da eseguire (concetti da attivare), ordinati in ordine decrescente di interesse.Ad esempio, in AM il concetto insieme definito:Nome:insiemeSpecializzazioni: insieme-vuoto, insieme-non-vuoto, ...Generalizzazioni: struttura-non-ordinata, ...Esempi:Tipici: [[]], [A, B]Limite []Valore:600

    *

    Apprendimento mediante EsplorazionePer creare nuovi concetti devono essere in grado di mutare i concetti preesistenti.

    Ad esempio, AM utilizza uneuristica 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.

    *

    Apprendimento mediante EsplorazioneSistemi 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 delluguaglianza in questi domini.