06/03/2009 1 Algoritmi di Classificazione e Reti Neurali Lezione introduttiva 4 MARZO 2009
Struttura del corso Il corso è in co-docenza proff. L. Grippo e L. Palagi http://www.dis.uniroma1.it/~grippo/ http://www.dis.uniroma1.it/~palagi/ Il calendario delle lezioni è disponibile sul sito: Reti neurali (L. Grippo) Support Vector Machines (L.Palagi) Materiale didattico: dispense e/o lezioni in ppt disponibili sul sito 06/03/2009 2
Contenuti del corso Introduzione alla teoria dell`apprendimento imparare dai dati Addestramento del Perceptron Reti multistrato e metodo di backpropagation Propreta` di approssimazione Algoritmi di addestramento Reti RBF e algoritmi di decoposizione Support Vector Machines per la Classificazione SVM Lineari SVM Non lineari (Kernel) SVM e ottimizzazione Programmazione quadratica Cenni teoria dualita` e Duale di Wolfe Algoritmi di decomposizione 06/03/2009 3
Classificazione e Regressione Tipicamente classificazione e regressione vengono usate per lo sviluppo di modelli matematici per il supporto decisionale* *Ricerca Operativa La classificazione individua l appartenenza ad una classe. Per esempio un modello potrebbe predire che il potenziale cliente X rispondera ad un offerta. Con la classificazione l output predetto (la classe) e categorico ossia puo assumere solo pochi possibili valori come Sì, No, Alto, Medio, Basso... La regressione predice un valore numerico specifico. Ad esempio un modello potrebbe predire che il cliente X ci portera un profitto di Y lire nel corso di un determinato periodo di tempo. Le variabili in uscita possono assumere un numero illimitato (o comunque una grande quantita ) di valori. Spesso queste variabili in uscita sono indicate come continue anche se talvolta non lo sono nel senso matematico del termine (ad esempio l età di una persona) 06/03/2009 4
Esempio di classificazione riconoscimento di caratteri manoscritti 06/03/2009 5
Riconoscimento di caratteri manoscritti Lo scopo è costruire una macchina che prende in ingresso l immagine di un carattere e produce uno degli elementi dell insieme {0,1,2.,9} some output Ogni elemento di ingresso corrisponde a un immagine pxp (28 x28, 256x256) pixel e quindi e` rappresentabile da un vettore a p 2 (=784, 65536) valori reali che rappresentano i livelli di grigio (0=bianco, 1=nero) rappresentabili ad es. con 8-bit La difficoltà è l alta variabilità delle forme e l alto numero di diversi elementi (2 28 x28 x8,2 256 x256 x8 ) 06/03/2009 6
Approssimazione/regressione I dati sono coppie di N valori reali di (x,t) che si suppone abbiano una regolarità sottostante, tipicamente corrotta da rumore (ad es. errori di misura), ovvero si suppone che esista una funzione t=f(x) incognita, i cui valori possono essere alterati da un basso valore di rumore. 1 0 Si vuole determinare la funzione che meglio approssima questi dati (si parla di approssimazione in assenza di rumore) -1 0 1 06/03/2009 7
Apprendimento e statistica Inferenza parametrica (1930-60 golden age) modelli basati su principi primi: si suppone di conoscere la legge fisica che regola le proprietà stocastiche dei dati e che tale funzione sia definita da un numero finito di parametri. stimare i parametri (quelli non misurabili in modo diretto) utilizzando i dati e verificare la veridicità del modello individuato è l essenza di un problema di inferenza statistica I modelli parametrici utilizzati sono tipicamente lineari nei parametri (che sono pochi); tali parametri sono determinati con il metodo della massima verosimiglianza (maximum likelihood method) 06/03/2009 8
Oltre il classico paradigma modelli di inferenza generale: non si hanno informazioni a priori sui principi primi che regolano la legge statistica sottostante la distribuzione dei dati o della funzione che si vuole approssimare si cerca un metodo (induttivo) in grado di inferire una funzione approssimante dati gli esempi. uso dei dati per derivare il modello stesso modelli non predefiniti e non lineari nei parametri data analysis/data mining storicamente (1985-1992) reti neurali --- analogia neurone biologico (1958 Rosenblatt propone Perceptron) (1992-oggi) ritorno alla teoria di inferenza statistica 06/03/2009 9
regressione (statistica) terminologia classificazione (statistica) o pattern recognition (ingegneria) riconosicmento di configurazioni Reti neurali (1958 Rosenblatt propone Perceptron) SVM.. intelligenza artificiale (utilizzo logica simbolica) (computer science = informatica) storicamente (1985-1992) reti neurali --- analogia neurone biologico (1992-oggi) ritorno alla teoria di inferenza statistica 06/03/2009 10
Sviluppo del Data Mining Crescita notevole degli strumenti e delle tecniche per generare e raccogliere dati (introduzione codici a barre, transazioni economiche tramite carta di credito, dati da satellite o da sensori remoti, servizi on line..) Sviluppo delle tecnologie per l immagazzinamento dei dati, tecniche di gestione di database e data warehouse, supporti piu capaci piu economici (dischi, CD) hanno consentito l archiviazione di grosse quantità di dati Simili volumi di dati superano di molto la capacità di analisi dei metodi manuali tradizionali, come le query ad hoc. Tali metodi possono creare report informativi sui dati ma non riescono ad analizzare il contenuto dei report per focalizzarsi sulla conoscenza utile. 06/03/2009 11
Data Mining (DM) (Wikipedia) Il data mining ha per oggetto l'estrazione di un sapere o di una conoscenza a partire da grandi quantità di dati (attraverso metodi automatici o semi-automatici) e l'utilizzazione industriale o operativa di questo sapere. Il termine data mining (letteralmente: estrazione di dati) è diventato popolare nei tardi anni '90 come versione abbreviata per estrazione di informazione utile da insiemi di dati di dimensione cospicua. Oggi data mining ha una duplice valenza Estrazione, con tecniche analitiche, di informazione implicita, nascosta, da dati già strutturati, per renderla disponibile e direttamente utilizzabile; Esplorazione ed analisi, eseguita in modo automatico o semiautomatico, su grandi quantità di dati allo scopo di scoprire pattern (schemi/regole/configurazioni) caratterizzanti i dati e non evidenti. 06/03/2009 12
Il DM è la non banale estrazione di informazione implicita, precedentemente sconosciuta e potenzialmente utile attraverso l utilizzo di differenti approcci tecnici (Frawley, Piatetsky-Shapiro e Matheus, 1991). Il DM consiste nell uso di tecniche statistiche da utilizzare con i databases aziendali per scoprire modelli e relazioni che possono essere impiegati in un contesto di business (Trajecta lexicon). Il DM è l esplorazione e l analisi, attraverso mezzi automatici e semiautomatici, di grosse quantità di dati allo scopo di scoprire pattern (schemi/regole/configurazioni/modelli) significativi (Berry, Linoff, 1997). Il DM è la ricerca di relazioni e modelli globali che sono presenti in grandi database, ma che sono nascosti nell immenso ammontare di dati, come le relazioni tra i dati dei pazienti e le loro diagnosi mediche. Queste relazioni rappresentano una preziosa conoscenza del database e, se il database è uno specchio fedele, del mondo reale contenuto nel database. (Holshemier e Siebes,1994). Il DM si riferisce all uso di una varietà di tecniche per identificare pepite di informazione e di conoscenza per il supporto alla decision making. L estrazione di tale conoscenza avviene in modo che essa possa essere usata in diverse aree come supporto alle decisioni, previsioni e stime. I dati sono spesso voluminosi ma, così come sono, hanno un basso valore e nessun uso diretto può esserne fatto; è l informazione nascosta nei dati che è utile (Clementine user guide). 06/03/2009 13
Ambiti applicativi DM nel marketing segmentazione della clientela Individuzione raggruppamenti omogenei in termini di comportamento d acquisto e di caratteristiche socio-demografiche previsione dei comportamenti di acquisto identificazione dei target per promozioni di nuovi prodotti...) customer retention Individuazione clienti a rischio di abbandono Fraud detection (identificazione di frodi) Individuazione di comportamenti frudolenti Credit risk detection Analisi delle associazioni individuazione dei prodotti acquistati congiuntamente Analisi di testi Diagnostica medica 06/03/2009 14
Credit risk detection (esempio tratto da lezioni di T. Mitchell) 06/03/2009 15
Altri esempi di problemi tipici (esempio tratto da lezioni di T. Mitchell) previsione dei comportamenti di acquisto Individuazione clienti a rischio di abbandono Ottimizzazione di processo 06/03/2009 16
Diagnostica medica (esempio tratto da lezioni di T. Mitchell) 06/03/2009 17
Data Mining Data Mining è solo una parte del processo di estrazione della conoscenza Il termine knowledge discovery in databases, o KDD, indica l'intero processo di ricerca di nuova conoscenza dai dati, cioè l insieme di tecniche e strumenti per assistere in modo intelligente e automatico gli utenti decisionali nell'estrazione di elementi di conoscenza dai dati. Il processo di KDD prevede Formulazione del problema Generazione dei dati Cleaning dei dati e preprocessing Data mining Interpretazione del modello (analisi dei pattern) Il termine di data mining (DM) si riferisce ad una fase fondamentale del processo KDD tanto che spesso è difficile distinguere il processo KDD dal DM che possono essere usati come sinonimi 06/03/2009 18
Apprendimento statistico Distinguiamo due fasi in un sistema di apprendimento automatico fase di apprendimento/stima (dai dati di esempio) fase di utilizzo/predizione su esempi nuovi. Due tipi di apprendimento supervisionato non supervisionato 06/03/2009 19
Apprendimento automatico nel DM Supervisionato = esiste un insegnante Classificazione (pattern recognition) sono noti a priori dei pattern rappresentativi di diverse classi, cioè per ogni valore di input è noto un valore di output Regressione/Approssimazione sono note a priori delle coppie (punto,valore) (pattern,target) rappresentative di un funzione incognita a valori reali. Non supervisionato = nessun insegnante Clustering non sono noti a priori i valori di oputput cio è i pattern rappresentativi delle classi. Si vuole determinare il numero di classi di similitudine e la corrispondente classe di appartenenza. 06/03/2009 20
ESEMPIO DI CLASSIFICAZIONE SUPERVISIONATA (riconoscimento di caratteri) Dati un insieme di N elementi manoscritti rappresentati dalla matrice di pixel, ovvero dai vettori e la Categoria di appartenenza {0,1,2,3,4,5,6,7,8,9} training set classificazione generalizzazione 06/03/2009 21 0 1 2 3 4 5 6 7 8 9
ESEMPIO DI CLASSIFICAZIONE NON SUPERVISIONATA (riconoscimento di caratteri) Dati: un insieme di N elementi manoscritti rappresentati dalla matrice di pixel, ovvero dai vettori training set clustering 06/03/2009 22 0 1 2 3 4 5 6 7 8 9
ESEMPIO DI CLASSIFICAZIONE NON SUPERVISIONATA (diagnosi medica) Pattern: paziente afflitto da una determinata patologia e descritto da M fattori clinici (caratteristiche) Dati disponibili: insieme di N pazienti Obiettivo: raggruppare i pazienti in K gruppi i cui elementi presentino caratteristiche simili 06/03/2009 23
ESEMPIO DI APPROSSIMAZIONE Input: vettore a valore reali a N componenti rappresentate correnti elettriche che circolano in un dispositivo magnetico Output: valore del campo magnetico in un determinato punto interno al dispositivo Obiettivo: determinare una funzione analitica che approssimi il legame funzionale tra il campo magnetico e il valore delle correnti 06/03/2009 24
Formulazione del problema di apprendimento Distribuzione degli esempi (Sampling distribution) fattori non osservabili che influenzano output Generatore esempi con densità di probabilità sconosciuta e fissata Sistema Produce un output con densità di probabilità condizionale sconosciuta e fissata Il sistema di apprendimento NON ha controllo sul processo di generazione dei dati Outliers presenza di dati spuri non consistenti con la maggior parte delle osservazioni (dovuti a errori di misura grossolani, errori di codifica/memorizzazione, casi abnormali). 06/03/2009 25
Apprendimento supervisionato I dati sono coppie input-output generati in modo indipendente e identicamente distribuiti (i.i.d) secondo una funzione di probabilita (sconosciuta) Il problema di apprendimento supervisionato: dato il valore di un vettore ottenere una buona predizione del vero output Una macchina per apprendimento osserva i dati di training e costruisce una funzione in grado di fornire una predizione dell output per un qualunque valore di input Learning Machine 06/03/2009 26
Macchina per apprendimento Più formalmente una macchina per apprendimento realizza una classe di funzioni, che dipende dalla struttura della macchina scelta, in cui α rappresenta un vettore di parametri che individua una particolare funzione nella classe. La macchina è deterministica 06/03/2009 27
Macchina per apprendimento La scelta ideale della funzione di approssimazione dovrebbe riflettere la conoscenza a priori sul sistema, MA in problemi di DM questa conoscenza è difficile o impossibile. Metodi adattativi del DM utilizzano una classe molto ampia e flessibile di funzioni di approssimazione Modelli non lineari nei parametri una semplice macchina per apprendimento 06/03/2009 28
Processo di apprendimento Fissata una macchina per apprendimento ovvero una classe di funzioni Il processo di apprendimento consiste nello scegliere un particolare valore dei parametri α* che seleziona una funzione f α* nella classe scelta. Lp1 L obiettivo è creare un modello del processo che sia in grado di dare risposte corrette e coerenti anche (e soprattutto) su dati mai analizzati (generalizzazione) e non di interpolare (= riconoscere con certezza ) i dati di training (FUNZIONE PREDITTIVA) 06/03/2009 29
positiva 29 1 Laura palagi; 18/01/2007
Misura di qualità Per scegliere tra tutte le possibili funzioni del parametro α è necessario definire un criterio di qualità da ottimizzare. Si definisce la Loss function una funzione che misura la discrepanza tra il valore previsto f α (x) e il valore effettivo y. Per definizione la perdita è non negativa, quindi valori positivi alti significano cattiva approssimazione. Assegnati i parametri α, il valore della loss function (intesa come funzione delle sole x, y) quantifica l ERRORE risultante dalla realizzazione della coppia (x, y) 06/03/2009 30
Minimizzazione del rischio Il criterio di qualità per scegliere i parametri α èilvalore atteso dell errore dovuto alla scelta di una particolare funzione di perdita Il valore atteso della perdita dipende dalla distribuzione P ed è dato dall integrale La funzione è il rischio effettivo che vorremmo minimizzare al variare di α (cioè al variare di ) 06/03/2009 31
Esempi di funzioni di perdita (Loss functions) classificazione con 06/03/2009 32
Esempi di funzioni di perdita (Loss functions) regressione 06/03/2009 33
Apprendimento determinare la funzione che minimizza il rischio tra nella classe di funzioni supportate dalla macchina per l apprendimento utilizzando un numero finito di dati di training è inerentemente mal posto La difficoltà è scegliere la giusta complessità per descrivere i dati a disposizione Principi induttivi minimizzazione del rischio empirico structural risk minimization early stopping rules 06/03/2009 34
Il rischio empirico Il rischio effettivo non si può calcolare (né quindi minimizzare) perché la funzione di distribuzione di probabilità è sconosciuta ma sono note solo l osservazioni corrispondenti a variabili random i.i.d Cerchiamo una funzione che approssimi il rischio effettivo e richieda solo l uso dei dati disponibili 06/03/2009 35
Il rischio empirico Scelta una classe di funzioni e definita una funzione di perdita (loss) si definisce rischio empirico Il rischio empirico dipende SOLO dai dati e dalla funzione La distribuzione di probabilità non interviene nella definizione del rischio empirico che fissati è un valore preciso (errore di training). 06/03/2009 36
Principio Induttivo (Empirical Risk Minimization) Allo scopo di ottenere una buona capacità di generalizzazione su esempi futuri (test), il principio di minimizzazione del rischio empirico (ERM) utilizza una funzione di decisione che minimizza l errore sui dati di training: determina la funzione che minimizza il rischio tra tutte le 06/03/2009 37
Macchina per apprendimento: regressione parametrica Consideriamo dati generati artificialmente dalla funzione corrotta da rumore Usiamo come approssimatori i polinomiodi gradofissatom 06/03/2009 38
Regressione parametrica Aumento il grado del polinomio M da 3 a 9 Quale dei due è meglio? Si può valutare l errore quadratico; detti i valori noti si ha: L errore sui dati di training può idealmente diventare nullo, ma che succede su dati nuovi (dati di test)? 06/03/2009 39
Andamento errore Graficando l andamento dell errore sui dati di training e di test Ridurre errore di training può significare errori significativi sui dati di test: fenomeno di Over-fitting 06/03/2009 40
Ancora l esempio Regressione parametrica Scelto un modello (ad esempio un polinomio di grado M) Si può valutare l errore quadratico; detti i valori noti si ha: L errore sui dati di training può idealmente diventare nullo, ma che succede su dati nuovi (dati di test)? 06/03/2009 41
Regressione parametrica Aumentoilnumerodi datidi training Polinomio di grado M=9: andamento migliore 06/03/2009 42
Regressione parametrica Aumentoilnumerodi datidi training Polinomio di grado M=9: l andamento riesce quasi a seguire la funzione sottostante La maggiore complessità della macchina (grado del polinomio) in relazione al miglior uso predittivo dipendono dal numero di dati disponibili 06/03/2009 43
Consistenza del rischio empirico In generale Interesse: trovare una relazione tra le soluzioni dei problemi di ottimizzazione imponderabile calcolabile La speranza è che l errore sui dati di traning possa fornire delle indicazioni sulla probabilità di errore su una nuova istanza 06/03/2009 44
Minimizzazione del rischio empirico Quando l è finito la minimizzazione del rischio empirico può non garantire una minimizzazione del rischio effettivo La scelta della funzione in una classe che minimizza il rischio empirico non è unica Entrambe le funzioni hanno Rischio empirico nullo Il rischioeffettivosu nuove istanze è diverso 06/03/2009 45
Complessità della classe Un altro aspetto correlato alla minimizzazione del rischio empirico è la complessità della classe di funzioni Una funzione molto complessa può descrivere molto bene i dati di training, ma può non generalizzare bene su nuovi dati più complessa più semplice 06/03/2009 46
Over and under fitting Dati di training: 2 classi più semplice più compless Aggiungo nuovi dati underfitting classe f α troppo semplice overfitting classe f α troppo complessa 06/03/2009 47
Fonti bibliografiche e siti di interesse Pattern Recognition and Machine Learning C. Bishop, Springer (2006). Learning from Data: Concepts, theory, and Methods - V. Cherkassky, F. Mulier, John Wiley and Sons, Inc. (1998). Statistical Learning Theory V. Vapnik, John Wiley and Sons, Inc., 1998 Machine Learning, T. Mitchell, Morgan Kaufmann, 1997. http://research.google.com/pubs/papers.html#machinelearning Machine learning Group at Yahoo! Research Silicon Valley http://research.yahoo.com/machine_learning Cineca Consorzio Interuniversitario La Gestione delle Informazioni e della Conoscenza http://www.cineca.it/gai/area/datamining.htm 06/03/2009 48