Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Apprendimento Agostino Poggi Stefano Cagnoni.

Slides:



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

Ricorrenze Il metodo di sostituzione Il metodo iterativo
Apprendimento Automatico Apprendimento supervisionato
Traccia di lavoro di lavoro per EMMA 2010:
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2005/2006.
La Rappresentazione della Conoscenza
RB-alberi (Red-Black trees)
Università degli Studi di Cagliari
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Apprendimento Automatico: Apprendimento di Concetti da Esempi
Apprendimento Automatico: Apprendimento Probabilistico Roberto Navigli 1 Apprendimento Automatico: Apprendimento Bayesiano.
Apprendimento Non Supervisionato
Apprendimento Automatico: Apprendimento Pigro (Lazy Learning)
Valutazione delle ipotesi
Apprendimento di funzioni algebriche
Computational Learning Theory and PAC learning
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
Ricerca della Legge di Controllo
Apprendimento di movimenti della testa tramite Hidden Markov Model
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.
Programmazione logica
Intelligenza Artificiale
Apprendimento Automatico Tecniche classiche di apprendimento (parte 2) Stefano Cagnoni.
Intelligenza Artificiale
Intelligenza Artificiale
Dipartimento di Ingegneria dellInformazione Università degli Studi di Parma Intelligenza Artificiale Apprendimento Parte 2 Agostino Poggi Stefano Cagnoni.
Discalculia e apprendimento
MOLTIPLICAZIONE COMBINATORIA
Radix-Sort(A,d) // A[i] = cd...c2c1
PROBLEMI E “PAROLACCE” Nucleo: Relazioni e Funzioni
Nelle classi spesso si presentano problemi di comportamento
STATISTICA PER LE DECISIONI DI MARKETING
Pensiero, Ragionamento & Intelligenza
Differenziare in ambito matematico
Intelligenza Artificiale Apprendimento automatico Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Logica Lezioni Lunedì 18 Nov. Annuncio E' possibile che dovrò rinviare delle lezioni della prossima settimana. Tenete d'occhio gli annunci.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2008/2009.
Università degli Studi di Roma Tor Vergata
Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi (parte 2) Agostino Poggi.
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale Risoluzione di Problemi
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.
Intelligenza Artificiale Reti Neurali
Intelligenza Artificiale 1 Gestione della conoscenza lezione 14 Prof. M.T. PAZIENZA a.a
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi Agostino Poggi Stefano Cagnoni.
Rappresentazione dell'informazione
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
I giochi con avversario Maria Simi a.a. 2008/2009.
DATA MINING PER IL MARKETING Andrea Cerioli Sito web del corso GLI ALBERI DI CLASSIFICAZIONE Introduzione alla metodologia Zani-Cerioli,
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2011/2012.
Analisi matematica Introduzione ai limiti
Istituto Tecnico Industriale "G. Marconi" Via Milano n Pontedera (PI) Tel Fax Caponi.
Logica Lezione 11, Annuncio Non si terrà la lezione di Lunedì 16 Marzo.
Abduzione e prova Giovanni Tuzet Università Bocconi Seminario “Democrazia e verità” Università di Bari,
Transcript della presentazione:

Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Apprendimento Agostino Poggi Stefano Cagnoni

Apprendimento 2 Introduzione  La capacità di apprendimento è fondamentale in un sistema “intelligente” per:  Risolvere nuovi problemi.  Non ripetere gli errori fatti in passato.  Risolvere problemi in modo più efficiente o migliore.  Avere autonomia nell’affrontare e risolvere problemi (in modo indipendente da un esperto che fornisce la conoscenza).  Adattarsi ai cambiamenti dell’ambiente circostante.  Un sistema senza queste caratteristiche difficilmente potrebbe essere considerato intelligente.

Apprendimento 3 Definizione e Obiettivi  Estrarre conoscenza dal ripetersi di situazioni  esperienza  stato  comportamento  Partendo da quasi nessuna conoscenza, attraverso un metodo di apprendimento generale acquisire, via via, nuova conoscenza.  Partendo da un sistema che include già conoscenza organizzata si cerca di incrementarla o organizzarla ulteriormente.

Apprendimento 4 Apprendimento Induttivo  Viene utilizzato per apprendere dei concetti espressi in genere con delle regole la cui forma è: «nella situazione X esegui l’azione Y». situazione 1  azione 1... situazione n  azione n situazione gen  azione gen

Apprendimento 5 oggetto 1 è un corvo  oggetto 1 è nero... oggetto n è un corvo  oggetto n è nero ?x è un corvo  ?x è nero  Più in generale un algoritmo di apprendimento induttivo esegue il seguente compito: «data un insieme di esempi (campioni) di f, definisci una funzione h (ipotesi) che approssima f». Apprendimento Induttivo

Apprendimento 6 Alberi di Decisione YesNoWaitTime Patrons NoAlternateHungry ReservationFri/Sat Bar Yes No Yes No YesAlternate YesRaining YesNo none yes some full > no yes

Apprendimento 7 Alberi di Decisione

Apprendimento 8 Alberi di Decisione  Come si fa a imparare dagli esempi la funzione booleana che permette di decidere in funzione del valore degli attributi:  Scegliere l’attributo che meglio separa gli esempi positivi da quelli negativi.  Se l’attributo divide tutti gli esempi negativi da quelli positivi, allora abbiamo trovato la funzione.  Altrimenti bisogna applicare il primo punto ricorsivamente sui sottoinsiemi generati dall’algoritmo.  L’iterazione termina anche nel caso in cui non abbiamo trovato la funzione, ma non abbiamo più attributi da utilizzare per suddividere gli esempi:  Dati scorretti.  Informazioni insufficienti.

Apprendimento 9 Alberi di Decisione  Se troviamo una funzione che non usa tutti gli attributi ci possono essere problemi?  Se troviamo una funzione che usa tutti gli attributi ci possono essere problemi?  Come si scelgono gli attributi?

Apprendimento 10 Alberi di Decisione  Bisogna scegliere prima quelli che hanno un valore informativo maggiore, ossia il migliore guadagno informativo: Gain(A) = I(p/(p+n),n/(p+n)) -    p i +n i )/(p+n) I(p i /(p i +n i ),n i /(p i +n i )) dove I(P(n),P(p)) = -P(n)log 2 P(n) - P(p)log 2 P(p) è il contenuto informativo di una corretta risposta yes/no con probabilità P(p) e P(n) rispettivamente.

Apprendimento 11 Alberi di Decisione per Informazione Incerta  I valori di un training set possono essere soggetti a rumore:  Un insieme di attributi può essere 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.

Apprendimento 12 Alberi di Decisione per Informazione Incerta  La ricerca in avanti decide di espandere un nodo in più nodi in base:  al numero di istanze contenute nell’insieme corrispondente al nodo.  alla loro ripartizione tra le classi corrispondenti ai possibili nodi figli in funzione dei diversi attributi su cui basare la partizione.  Ad esempio:  Se abbiamo 100 istanze e l’unico attributo su cui possiamo lavorare li 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.

Apprendimento 13 Alberi di Decisione per Informazione Incerta  La ricerca all’indietro genera tutto l’albero e poi decide quali nodi eliminare in base ad una stima euristica dell’errore di classificazione.  Sia: Err(S) la probabilità di classificare erroneamente gli elementi dell’insieme S. Errore(nodo) = Err(S) se il nodo è una foglia. ErroreCumulato(nodo) =  i p i Errore(nodo i ), dove nodo i è un figlio di nodo.  Allora si ha per i nodi non terminali: Errore(nodo) = min(Err(nodo),ErroreCumulato(nodo))

Apprendimento 14 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) (and (is ?x felino) (piccolo ?x))  possibile(accarezzare ?x) (and (is ?x carnivoro) (piccolo ?x))  possibile(accarezzare ?x)  Tali strumenti vanno applicati finché non si trova una definizione del concetto che descriva un insieme di situazioni (istanze positive) e non si applichi ad altre (istanze negative).

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

Apprendimento 16 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 di specializzazione diventa un problema di ricerca.

Apprendimento 17 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))

Apprendimento 18 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: (is a1 prisma) (or (is a1 mattone) (is a1 cuneo))

Apprendimento 19 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 adesso.  Tuttavia non è un metodo che ci 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.

Apprendimento 20 Valutazione dell’Apprendimento Induttivo  Non è in grado di gestire dati perturbati:  Il maestro in certi casi imbroglia.  In alcuni casi non si riesce ad individuare la regola responsabile del fallimento.  Non è capace di gestire concetti che cambiano nel tempo:  Ad esempio per un animale il concetto «buon posto per cercare di mangiare».

Apprendimento 21 Reinforcement Learning  Si può imparare senza avere esempi di comportamento corretto?  Un caso in cui si può imparare senza esempi è quello in cui ad ogni passo o al raggiungimento di uno stato finale viene assegnato un premio (o una punizione).  Esistono due classi di problemi in cui viene diviso il reinforcement learning:  Passive learning, muovendosi tra i diversi stati del mondo si impara l’utilità di essere nei diversi stati.  Active learning, in ogni stato bisogna eseguire un’azione imparando l’utilità di eseguire una certa azione in un dato stato.

Apprendimento 22 Passive Learning  Minimi quadrato medio: U i = average(U i, reward-to-go(U i )  Programmazione dinamica adattiva: U i = R i +  i M ij U j Se si conoscono le probabilità M iJ, non appena si conoscono i premi dei vari stati è possibile calcolare l’utilità dei vari stati.  Differenza temporale (TD Learning): U i = U i +  (R i + U j - U i ) Se il valore di  decresce al crescere del numero delle iterazioni, allora U i converge al valore corretto.

Apprendimento 23 Active Learning  Il problema che deve risolvere è: U i = R i + max a  i M a ij U j  Il problema di calcolare Ui si può trasformare nel problema di calcolare l’utilità di eseguire una certa azione in un dato stato.  Infatti si ha: U i = max a  Q(a,i) dove:Q(a,i) = R i +  i M a ij max a’  Q(a’,j)  Si può applicare il TD-Q Learning: Q(a,i) = Q(a,i) +  (R i + max a’  Q(a’,j) -Q(a,i))

Apprendimento 24 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)))

Apprendimento 25 Apprendimento Guidato da Insuccesso  In casi reali è poco plausibile che il sistema si possa rendere conto in modo netto delle ragioni del fallimento.  Con questo metodo è solo possibile imparare dei casi speciali di concetti più generali, si può parlare di programmazione automatica.

Apprendimento 26 Apprendimento per Insegnamento Diretto  L’insegnante comunica non solo se 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.

Apprendimento 27 Apprendimento per Insegnamento Diretto  Esempio di questo tipo di sistema è Teiresias.  Teiresias opera all’indietro lungo la catena degli obiettivi fino a che l’insegnante non riconosce un punto di malfunzionamento:  Una regola ha determinato P, le premesse della regola sono vere, ma P non segue da esse.  P avrebbe dovuto essere determinata, ma ogni 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 28 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.

Apprendimento 29 Apprendimento mediante Esplorazione  Questi metodi esplorano (non ricercano) lo spazio del problema sulla base di un’agenda di compiti da eseguire che sono 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

Apprendimento 30 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 sostituisco 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 aggiungi o generalizza una clausola-or.  Se D è una negazione (not D’), specializza D’.

Apprendimento 31 Apprendimento mediante Esplorazione  Sono capaci di scoprire nuove congetture non di dimostrarle (ad esempio, AM ipotizza che i numeri devono avere un’unica fattorizzazione: scomposizione in fattori primi).  Sono sistemi attivi e non passivi: 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.