Ingegneria della Conoscenza e Sistemi Esperti Lezione 1: Apprendimento Automatico Dipartimento di Elettronica e Informazione Politecnico di Milano Apprendimento Automatico L'Apprendimento Automatico (o Machine Learning) si occupa della ricerca di metodi algoritmici per sviluppare programmi che automaticamente migliorano la propria performance nel tempo. Definizione Si dice che un programma apprende dall'esperienza E rispetto ad una classe di problemi T e alla misura di performance P, se la sua performance sui problemi in T, così come misurata da P migliora con le esperienze in E. 1
Esempio: programma per il gioco della dama giocare a dama partite giocate contro altri avversari o contro se stesso numero di partite vinte Esempio: agente autonomo Addestrare un agente autonomo per lo svolgimento di un certo compito. Ad es., sorveglianza, esplorazione, ecc. Il comportamento attuale dell'agente? Esempi del comportamento che vorrei l'agente eseguisse? Quanto il comportamento dell'agente si avvicina a quello desiderato? Rappresentazione della soluzione Regole? Macchina a stati finiti? 2
Esempio: classificazione di documenti Dato un insieme di articoli su argomenti medici vogliamo rispondere in maniera automatica alle seguenti domande: L articolo contiene risultati sperimentali che dovrebbero essere archiviati in un database? Se sì, quali geni e proteine sono citati nei risultati? Articoli preclassificati rispetto alle domande a cui vogliamo una risposta. Con quanta accuratezza riesco a rispondere alle domande? Esempio 3
Esempio Quale tipo di macchina mi piace? Esempio 4
Tecniche, Paradigmi, Problemi Paradigmi di Apprendimento Automatico Apprendimento non supervisionato (unsupervised learning) Apprendimento supervisionato (supervised learning) Apprendimento per rinforzo (reinforcement learning) 5
Apprendimento non supervisionato E costituita da una serie di esempi raccolti di cui non sappiamo quasi nulla. Individuare qualcosa d interessante Dipende da quanto è interessante quello che è stato trovato. Apprendimento non supervisionato - Esempio Un motore di ricerca per ogni interrogazione restituisce solitamente migliaia di pagine. E possibile raggruppare insieme link simili, in modo da facilitare la consultazione dei risultati? 6
Apprendimento non supervisionato - Esempio I sensori di un robot sono solitamente soggetti a rumore ambientale. Questo fa sì che il robot possa percepire in maniera differente la stessa situazione. E possibile raggruppare insieme situazioni simili, in modo che il robot possa identificare situazioni simili nella realtà ma differenti secondo i sensori? Apprendimento supervisionato Una serie di esempi che sono stati elaborati da un esperto (il supervisore). L'esperto classifica gli esempi individuando un particolare fenomeno interessante. Estrarre dagli esempi una descrizione compatta del fenomeno descritto La descrizione può essere successivamente sfruttata per fare delle previsioni sul fenomeno. Dipende da quanto accurata è la previsione su esempi non considerati dal supervisore. 7
Apprendimento supervisionato - Esempio Dati i record dei clienti di un certo supermercato, un esperto etichetta con interessanti e non interessati i clienti in base ad alcuni parametri commerciali. E possibile costruire un modello dei clienti affezionati su cui è conveniente mirare le campagne pubblicitarie future? E costruire un modello dei clienti ``non-affezionati'' che si vorrebbero acquisire? Apprendimento supervisionato - Esempio Dato un certo numero di cartelle cliniche relative a pazienti affetti da una certa patologia Vogliamo costruire un modello descrittivo della patologia, che possa essere sfruttatato per predire se un nuovo paziente sarà affetto dalla stessa patologia Oppure per capire quali sono se le cause di una certa patologia dai dati sperimentali 8
Apprendimento per rinforzo Il sistema agisce direttamente sul problema per tentativi Un istruttore premia o punisce il sistema attraverso un segnale numerico di rinforzo a seconda del comportamento istantaneo del sistema Esperienza (E) Le esperienze che il sistema colleziona Problema (T) E quello di ottenere quanto più rinforzo possibile Performance (P) Dipende dalla quantità di rinforzo ottenuta. Apprendimento per rinforzo Un agente per il trading on-line agisce in un mercato finanziario comprando/vendendo titoli L'agente interagisce eventualmente con altri agenti L'agente riceve un rinforzo positivo se guadagna Altrimenti l agente riceve un rinforzo negativo Qual è la strategia che porta ad un maggior guadagno? 9