Metodologie per Sistemi Intelligenti Apprendimento Automatico Prof. Pier Luca Lanzi Laurea in Ingegneria Informatica Politecnico di Milano Polo regionale di Como
Intelligenza Artificiale "making a machine behave in ways that would be called intelligent if a human were so behaving." John McCarthy 1955.
Quattro diverse definizioni Pensare come un essere umano L approccio del Test di Turing Agire come un essere umano L approccio della simulazione Pensare razionalmente L approccio delle leggi del pensiero Agire razionalmente L approccio degli agenti razionali
Apprendimento Automatico The field of machine learning studies the design of computer programs able to induce patterns, regularities, or rules from past experiences. Learner (a computer program) processes data representing past experiences and tries to either develop an appropriate response to future data, or describe in some meaningful way the data seen A branch of artificial intelligence in which a computer generates rules underlying or based on raw data that has been fed into it
Apprendimento Automatico This is the study of how to create computers that will learn from experience and modify their activity based on that learning (as opposed to traditional computers whose activity will not change unless the programmer explicitly changes it). This discipline is a sub-set of Artificial Intelligence The ability of a machine to improve its performance based on previous results The ability of a device to improve its performance based on its past performance
Esempio Problema: giocare a dama Intelligenza Artificiale Riesco a creare un sistema in grado di giocare sufficientemente bene da sembrare dotato di intelligenza? Apprendimento Automatico Riesco a creare un sistema in grado di imparare a giocare a partire da esempi di partite? O giocando contro altri? O giocando contro se stesso?
Apprendimento Automatico L'Apprendimento Automatico si occupa della ricerca di metodi algoritmici per sviluppare programmi che automaticamente migliorano la propria performance nel tempo.
Apprendimento Automatico Definizione (Mitchell, 1997) 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.
Esempio: gioco della dama Problema T giocare a dama Esperienza E partite giocate contro altri avversari o contro se stesso Performance P numero di partite vinte
Esempio: classificazione documenti Problema T 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? Esperienza E Articoli preclassificati rispetto alle domande a cui vogliamo una risposta. Performance P Con quanta accuratezza riesco a rispondere alle domande?
Esempio Problema T Addestrare un agente autonomo per lo svolgimento di un certo compito. Ad es., sorveglianza, esplorazione, ecc. Esperienza E Il comportamento attuale dell'agente? Esempi del comportamento che vorrei l'agente eseguisse? Performance P Quanto il comportamento dell'agente si avvicina a quello desiderato? Rappresentazione della soluzione Regole? Macchina a stati finiti?
Esempio
Esempio Quale tipo di macchina mi piace?
Esempio
Tecniche, Paradigmi, Problemi Problemi Analisi di dati Agenti Autonomi Commercio Elettronico Paradigmi Apprendimento Supervisionato Apprendimento non-supervisionato Apprendimento per rinforzo Tecniche Clustering Regole di associazione Alberi di decisione
Paradigmi Apprendimento non supervisionato (unsupervised learning) Apprendimento supervisionato (supervised learning) Apprendimento per rinforzo (reinforcement learning)
Apprendimento non supervisionato Esperienza E E costituita da una serie di esempi raccolti di cui non sappiamo quasi nulla. Problema T Individuare qualcosa d interessante Performance P Dipende da quanto è interessante quello che è stato trovato.
Apprendimento non supervisionato 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?
Apprendimento non supervisionato Un supermercato raccoglie le informazioni relative a tutti gli scontrini che vengono emessi Esisto dei pattern di acquisto interessanti? Ad esempio: Chi compra nutella, compra anche il pane e il latte Chi compra patatine, compra anche bevande gasate
Apprendimento non supervisionato
Apprendimento supervisionato Esperienza E Una serie di esempi che sono stati elaborati da un esperto, il supervisore L'esperto o supervisore classifica gli esempi individuando un particolare fenomeno interessante Problema T Estrarre dagli esempi una descrizione compatta del fenomeno descritto La descrizione può essere successivamente sfruttata per fare delle previsioni sul fenomeno. Performance P Dipende da quanto accurata è la previsione su esempi non considerati dal supervisore.
Apprendimento Supervisionato 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? oppure per ridurre fenomeni di abbandono?
Apprendimento Supervisionato 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
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
Apprendimento per rinforzo 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 compra/vende titoli L'agente interagisce con altri agenti L'agente riceve un rinforzo positivo se guadagna, negativo altrimenti Qual è la strategia che porta ad un maggior guadagno?
In questo corso Apprendimento non-supervisionato Clustering Regole di associazione e pattern sequenziali Apprendimento supervisionato Alberi di decisione Regole di decisione Reti Bayesiane Apprendimento per rinforzo Sistemi a classificatori (applicazione a problemi di apprendimento supervisionato)