Data Mining e Scoperta di Conoscenza Outline Introduzione al Semi-Supervised Learning Algoritmi di semi-supervised learning Self Training Generative Models T-SVMs Inductive models vs. Trasductive models Graph-based Algorithms Multiview Algorithms References Introduzione al Semi-Supervised Learning Problema: Predizione del comportamento di un dato sistema Input: Insieme di campioni, estratti dal dominio del sistema, di cui è nota la classificazione Insieme di campioni del dominio la cui categorizzazione non è nota Output: Un modello di predizione addestrato sul campione etichettato e sull’insieme di dati la cui classe è sconosciuta Introduzione al Semi-Supervised Learning Perché il semi-supervised learning? I campioni non etichettati sono economici I campioni etichettati spesso sono costosi L’annotazione umana è noiosa e dispendiosa Le etichette spesso richiedono conoscenza di dominio e consultazione di esperti del settore Le etichette richiedono a volte l’utilizzo di dispositivi specializzati Possibili miglioramenti della qualità della predizione a basso costo Introduzione al Semi-Supervised Learning Notazione: campione x, etichetta y Predittore f : X Y Dati etichettati X l , Yl ( x1:l , y1:l ) Dati senza etichetta X u xl 1:n , disponibili durante l’addestramento Solitamente l n Test Set X test xn 1:m , non disponibile durante l’addestramento Introduzione al Semi-Supervised Learning A cosa servono i campioni senza categorizzazione? Assumendo che ogni classe sia un gruppo ben localizzato Il decision boundary viene spostato Introduzione al Semi-Supervised Learning Non sempre il semi-supervised learning porta a miglioramenti della qualità dei predittori Self Training Algoritmo: 1. Addestra un modello (a scelta) f su X l , Yl 2. Effettua la predizione su un x X u 3. Aggiunge x, f x al training set 4. Torna al passo 2 fino al soddisfacimento (dipende dalle diverse varianti) 5. Addestra nuovamente f sul nuovo training set ottenuto 6. Torna al passo 2 fino al soddisfacimento (dipende dalle diverse varianti) rimuovendo, se si desidera, dal training set i campioni aggiunti Assunzione: La predizione ottenuta ad ogni passo ha una buona qualità Self Training Varianti: Quante e quali tuple aggiungere al training set? Quante volte addestrare il modello scelto? Quante e quali tuple rimuovere dal training set arricchito? Self Training Pro: Il più semplice algoritmo di self training E’ di facile adattamento ad ogni algoritmo di predizione tradizionale Contro: Gli errori del modello scelto vengono potenziati Non sempre converge Generative Models Dati etichettati: Supponendo che i dati siano governati da distribuzioni guassiane, qual è il decision boundary? Generative Models Nell’esempio proposto si hanno due classi, quindi: Il vettore di parametri w1 , w2 , 1 , 2 , 1 , 2 I Gaussian Mixture Models (GMMs) px, y | p y | px | y, wy N x; y , y La classificazione si calcola px, y | p y | x, px, y | y Generative Models Il modello più verosimile con relativo decision boundary Generative Models Aggiungendo i campioni non etichettati Generative Models Il modello più verosimile con relativo decision boundary Generative Models La differenza: i modelli massimizzano quantità diverse Generative Models Modelli generativi per il semi-supervised learning Tendono a quantificare p X l , Yl , X u | p X l , Yl , X u , Yu | Yu Attraverso le ipotesi MLE: stima di massima verosimiglianza MAP: stima della massima probabilità a posteriori Approcci Bayesiani Generative Models Esempio: GMM con MLE logaritmica con k classi Dai dati etichettati Facile calcolare i parametri con un approccio MLE (vedi l’EM – Expectation Maximization) Dai dati non etichettati Generative Models Il modello con i dati non etichettati è molto più complesso Soluzioni: EM Approssimazioni variazionali Ottimizzazioni dirette Generative Models Pro Possiedono un framework matematico probabilistico molto forte Se il modello è scelto con criterio, allora ottengono ottimi risultati Contro Difficile è la verifica del modello Trovano ottimi locali Se il modello scelto non è corretto allora le tuple non etichettate degradano la qualità Generative Models Esempio di modello non corretto T-SVMs Le Trasductive Support Vector Machines (T-SVMs) sono l’estensione al semi-supervised learning delle SVMs T-SVMs Le SVMs cercano l’iperpiano di separazione che tende a massimizzare il margine tra le etichette dei campioni. H+ H- w d M T-SVMs Le T-SVMs massimizzano anche un margine, che dipende non solo dai campioni etichettati ma anche dai dati senza categorizzazione SVM T-SVM T-SVMs T-SVMs Pro Utilizzabili ovunque siano utilizzabili le SMV Hanno un ben definito framework matematico Contro: Ottimizzazione complessa Trovano ottimi locali Approccio trasduttivo e non generativo (induttivo) Inductive models vs. Trasductive models L’induzione (alla base della maggior parte delle tecniche di learning) è un procedimento attraverso il quale si cerca di stabilire una legge universale (modello generativo globale) da un insieme di casi specifici Approccio generale, valido per ogni istanza del dominio Complessità nel generare i modelli Obiettivo ben più modesto si pone l’approccio transductive a cui non interessa la costruzione di un modello globale ma semplicemente costruire un modello che sia adatto ad uno specifico insieme di istanze Approccio diretto sui dati modelli semplici e specifici Trova una soluzione solo per i dati in input Nuovi dati comportano un nuovo addestramento Graph-based Algorithms I dati sono visti come nodi di un grafo I legami tra i dati sono indicati attraverso gli archi (pesati) di un grafo Assunzione di base: Istanze connesse da legami forti tendono ad avere la stessa etichetta di classe Graph-based Algorithms Attraverso le istanze non etichettate è possibile cogliere strutture interessanti nei dati Graph-based Algorithms Il legame tra le istanze può essere matematicamente definito attraverso le funzioni di similarità e distanza, es.: Modelli k-NN Modelli a decadimento di similarità Similarità lungo i percorsi: Graph-based Algorithms Pro: Possiedono un ben definito framework matematico Ottima qualità dei risultati, se il grafo è adatto ai dati Contro Sono sensibili alla struttura dei grafi e dei pesi dei loro archi Bassa qualità dei risultati, se il grafo è non adatto ai dati Multiview Algorithms Idea: analizzare i dati sotto aspetti diversi I dati possono essere divisi per caratteristiche indipendenti Da queste partizioni (che comprendono anche dati non etichettati) si generano più modelli I modelli generati, in combinazione, effettuano la predizione finale Multiview Algorithms Esempio. Analisi di pagine web Le pagine web possono contenere testo ed immagini Si possono dividere le informazioni multimediali dal testo Si possono addestrare due modelli: uno sul testo ed uno sulle immagini La classificazione delle pagine web avverrà tramite la combinazione dei due modelli Multiview Algorithms Idee di base dell’algoritmo Co-training: Si divide il data set in due porzioni condizionalmente indipendenti Ogni partizione deve essere popolata da un numero sufficiente di campioni, tale da permettere l’addestramento di un predittore Si addestrano due modelli di predizione sui due diversi sotto data set I modelli si addestrano vicendevolmente Multiview Algorithms Nel dettaglio: 1. Divide X l , Yl in X l(1) , Yl (1) e X l( 2) , Yl ( 2 ) (1) (1) ( 2) ( 2) 2. Addestra f1 su X l , Yl ed f2 su X l , Yl 3. Classifica Xu con f1 ed f2 separatamente 4. Aggiungi al training set i campioni (x, f(x)) di Xu che hanno maggiore confidenza per f1 ed f2 5. Riaddestra sul nuovo training set f1 ed f2 6. Torna al passo 3 fino al soddisfacimento (dipende dalle diverse varianti) rimuovendo, se si desidera, dal training set i campioni aggiunti Multiview Algorithms Co-training pro: Molto semplice, come il self training. Adattabile a tutti i predittori esistenti Meno sensibile agli errori rispetto al self training Co-training contro: Le suddivisioni dei dati potrebbero non essere significative Modelli che usano tutti i dati potrebbero risultare migliori References Olivier Chapelle, Alexander Zien, Bernhard Scholkopf (Eds.). (2006). Semi-supervised learning. MIT Press. Xiaojin Zhu (2005). Semi-supervised learning literature survey. TR-1530. University of Wisconsin-Madison Department of Computer Science. Matthias Seeger (2001). Learning with labeled and unlabeled data. Technical Report. University of Edinburgh.