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 migliore o più efficiente. 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 un minimo livello di conoscenza, utilizzare un metodo di apprendimento generale per acquisire, via via, nuova conoscenza. Partendo da un sistema che include già conoscenza strutturata si cerca di incrementarla o strutturarla 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: «dato un insieme di esempi (campioni) di f, definisci una funzione h (ipotesi) che approssima f». Apprendimento Induttivo
Apprendimento 6 Alberi di Decisione Esempi positivi : decisione YES Esempi negativi: decisione NO Esempio del ristorante: vale la pena attendere la disponibilità di un tavolo ?
Apprendimento 7 Alberi di Decisione YesNoWaitTime Patrons NoAlternateHungry ReservationFri/Sat Bar Yes No Yes No YesAlternate YesRaining YesNo none yes some full > no yes
Apprendimento 8 Alberi di Decisione Come si opera per imparare dagli esempi la funzione di decisione booleana che basata sul 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. Questo può accadere se abbiamo: Dati scorretti / conoscenza incerta Informazioni insufficienti.
Apprendimento 9 Alberi di Decisione Se troviamo una funzione che non usa tutti gli attributi ci possono essere problemi? Possibile sotto utilizzo delle informazioni disponibili L’albero creato è l’unico possibile? Se non lo è, è il migliore possibile? Se troviamo una funzione che usa tutti gli attributi ci possono essere problemi? Tutti gli attributi sono utilizzati per il loro effettivo contenuto informativo o ‘per far tornare le cose’ (overfitting) ? Come si scelgono gli attributi?
Apprendimento 10 Alberi di Decisione Approccio basato sulla teoria dell’informazione Bisogna scegliere prima quelli che hanno un valore informativo maggiore, ossia il migliore guadagno informativo: Gain(A) = I(p/(p+n),n/(p+n)) - i p i +n i )/(p+n) I(p i /(p i +n i ),n i /(p i +n i )) [ p/(p+n) P(p), n/(p+n) P(n) ] dove I(P(p),P(n)) = -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.