Apprendimento Automatico Tecniche classiche di apprendimento (parte 2) Stefano Cagnoni.

Slides:



Advertisements
Presentazioni simili
Linee guida per l’insegnamento della matematica nella scuola media
Advertisements

Strutture dati per insiemi disgiunti
I numeri naturali ….. Definizione e caratteristiche
II° Circolo Orta Nova (FG)
II° Circolo Orta Nova (FG)
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Elettrostatica 3 23 maggio 2011
Lez. 91 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Alberi di ricerca.
Lez. 3 - Gli Indici di VARIABILITA’
RB-alberi (Red-Black trees)
Alberi binari di ricerca
Code con priorità Ordinamento
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Esercitazioni su circuiti combinatori
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati
Apprendimento Automatico: Alberi di Decisione
Alberi di Decisione decision trees
Apprendimento Automatico: Alberi di Decisione
Apprendimento Automatico: Valutazione delle Prestazioni
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Algoritmi e Strutture Dati
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Alcune definizioniAlcune definizioni Algoritmo di sintesi ottima di Quine-McCluskeyAlgoritmo.
Canale A. Prof.Ciapetti AA2003/04
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
1 INTRODUZIONE ALLA PROGRAMMAZIONE STRUTTURATA. 2 PROCESSO INTRODUZIONE ALLA PROGRAMMAZIONE STRUTTURATA INIZIO FINE.
Algoritmi e Strutture Dati
Waikato Environment for Knowledge Analysis
Heap binomiali Gli heap binomiali sono strutture dati su cui si possono eseguire efficientemente le operazioni: Make(H) : crea uno heap vuoto Insert(H,
Semantica per formule di un linguaggio proposizionale p.9 della dispensa.
Cos’è un problema?.
Corso di Matematica Discreta cont. 2
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.
Programmazione logica
Intelligenza Artificiale
Intelligenza Artificiale
Dipartimento di Ingegneria dellInformazione Università degli Studi di Parma Intelligenza Artificiale Apprendimento Parte 2 Agostino Poggi Stefano Cagnoni.
Ropol09anci INDAGINE SU PATTO DI STABILITA 2009 IN PIEMONTE ANCI PIEMONTE Torino, 29 giugno 2009.
MOLTIPLICAZIONE COMBINATORIA
Anche la RB-Delete ha due fasi: Nella prima viene tolto un nodo y avente uno dei sottoalberi vuoto sostituendolo con la radice dellaltro sottoalbero. Per.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
ISTITUTO COMPRENSIVO “G. BATTAGLINI” MARTINA FRANCA (TA)
Radix-Sort(A,d) // A[i] = cd...c2c1
1)Completa la seguente successione: C4, B7, E10, D13, G16,. A. G19 B
Progettare un database
RB-insert(T, z) // z.left = z.right = T.nil Insert(T, z) z.color = RED // z è rosso. Lunica violazione // possibile delle proprietà degli alberi // rosso-neri.
Un trucchetto di Moltiplicazione per il calcolo mentale
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
STATISTICA PER LE DECISIONI DI MARKETING
Vertici, spigoli e facce di cubi a più dimensioni
Modulo 6 Test di verifica
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Logica F. orilia. Lezz Lunedì 4 Novembre 2013.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Esecuzione di un Programma [P] Una computazione corrisponde al tentativo di dimostrare, tramite la regola di risoluzione, che una formula (goal) segue.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Apprendimento Agostino Poggi Stefano Cagnoni.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi Agostino Poggi Stefano Cagnoni.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Apprendimento Agostino Poggi Stefano Cagnoni.
DATA MINING PER IL MARKETING Andrea Cerioli Sito web del corso GLI ALBERI DI CLASSIFICAZIONE Introduzione alla metodologia Zani-Cerioli,
Logica Lezione 11, Annuncio Non si terrà la lezione di Lunedì 16 Marzo.
Transcript della presentazione:

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

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

3 Alberi di Decisione per Informazione Incerta La 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.

4 C4.5 Programma freeware per la costruzione di alberi di decisione Composto da 4 eseguibili C4.5genera un albero binario C4.5rulesgenera regole derivate dallalbero Consultclassifica usando lalbero Consultrclassifica usando le regole Scaricabile dal sito

5 C4.5 Basato sullalgoritmo ID3 con alcune estensioni (gestione di attributi continui e pruning) ( ) Basato sul guadagno di informazione Insieme finito di classi. A seconda che lattributo 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 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 disponibili si 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.

6 C4.5 Utilizza vari file xxxxx.namesdefinizione degli attributi xxxxx.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 binaria xxxxx.unprunedalbero generato dallalgoritmo prima della potatura

7 C4.5 xxxxx.namesdefinizione degli attributi class1, class2, ….. classn.| classi attr1: val1attr1,val2attr1,….valmattr1. attr2: continuous. …. attrk: val1attrk,val2attrk,….valmattrk. (NB INSERIRE un dopo lultima riga!!!)

8 C4.5 xxxxx.datatraining set xxxxx.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

9 C4.5 Esempio (golf.names) Play, Don't Play. outlook: sunny, overcast, rain. temperature: continuous. humidity: continuous. windy: true, false.

10 C4.5 Esempio (golf.data) sunny, 85, 85, false, Don't Play sunny, 80, 90, true, Don't Play overcast, 83, 78, false, Play rain, 70, 96, false, Play rain, 68, 80, false, Play rain, 65, 70, true, Don't Play overcast, 64, 65, true, Play sunny, 72, 95, false, Don't Play sunny, 69, 70, false, Play rain, 75, 80, false, Play sunny, 75, 70, true, Play overcast, 72, 90, true, Play overcast, 81, 75, false, Play rain, 71, 80, true, Don't Play

11 C4.5 Output del programma C4.5 [release 8] decision tree generatorTue May 11 15:37: Options: File stem 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%) 80( 0.0%) (38.5%) <<

12 Generalizzazione e Specializzazione La generalizzazione e la specializzazione sono un ottimo strumento per lapprendimento: (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.

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

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

15 Generalizzazione e Specializzazione Data la forma: (su ?x tavolo) laggiunta di una clausola in or generalizza: (or (su ?x tavolo) (sospeso ?x soffitto)) laggiunta di una clausola in and specializza: (and (su ?x tavolo) (a-contatto ?x parete1))

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)

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.

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=NYRO+ON=NY+ON ON=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+BC BC=BCAC>CD RONY A BC D

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

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

21 Apprendimento per Insegnamento Diretto Linsegnante 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.

22 Apprendimento per Insegnamento Diretto Esempio 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.

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 lutilizzo di euristiche. Ad esempio, in AM ogni concetto è rappresentato da una struttura a frame.

24 Apprendimento mediante Esplorazione Questi 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:insieme Specializzazioni: insieme-vuoto, insieme-non-vuoto,... Generalizzazioni: struttura-non-ordinata,... Esempi: Tipici: [[]], [A, B] Limite [] Valore:600

25 Apprendimento mediante Esplorazione Per 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.

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