Semi-Supervised Text Classification Using EM Visione della Probabilità VISIONE CLASSICA O FREQUENTISTA 2 VISIONI VISIONE SOGGETTIVA O BAYESIANA Visione Classica o Frequentista della Probabilità La concezione classica afferma che la probabilità è una proprietà fisica del mondo e per essere valutata è necessario ripetere varie volte un esperimento. Visione Classica o Frequentista della Probabilità Siano 1 ,..., n n eventi esaustivi e mutuamente esclusivi. Si effettuino N esperimenti osservandone il risultato. N i : numero di volte in cui si è verificato l’evento i N : numero totale degli esperimenti Ni N Visione Classica o Frequentista della Probabilità Ni N Se N è sufficientemente grande si può definire la probabilità dell’evento i : Ni P i lim N N Visione Bayesiana della Probabilità La visione bayesiana afferma che la probabilità di un evento i è il grado di credenza (degree of belief) di una persona in quell’evento. QUINDI la probabilità è il GRADO SOGGETTIVO DI ASPETTATIVA CHE UNA PERSONA ASSEGNA AL VERIFICARSI DI UN EVENTO INCERTO. Visione Bayesiana della Probabilità La probabilità Pi di un evento i è la frazione di una quantità m che una persona ritiene EQUO sia pagata per la promessa di ricevere in cambio la quantità m nel caso si verifichi i DEFINIZIONE ASSIOMATICA DI PROBABILITA’ La probabilità Pi di un evento i è un numero che soddisfa i seguenti assiomi: 1) 0 Pi 1; 2) Pi 1 i è certo Pi 0 i è impossibil e 3) se i j sono 2 eventi, allora la probabilit à della loro disgiunzio ne vale P i j Pi P j P i j APPRENDIMENTO BAYESIANO GOALFARE DELLE PREVISIONI, RITIENE IL PROBLEMA DELLA FORMULAZIONE DI IPOTESI A PARTIRE DAI DATI, COME UN SUO SOTTOPROBLEMA. APPRENDIMENTO BAYESIANO COSA SI INTENDE PER MIGLIORE IPOTESI LA MIGLIORE IPOTESI E’ QUELLA PIU’ PROBABILE, AVENDO A DISPOSIZIONE DEI DATI ED UNA CERTA CONOSCENZA INIZIALE DELLE PROBABILITA’ A PRIORI DELLE VARIE IPOTESI. APPRENDIMENTO BAYESIANO Sia D un insieme di dati, sia X una quantità ignota su cui vogliamo fare delle previsioni e siano H1 ,..., H n delle ipotesi; l’apprendimento bayesiano assume la forma: n n i 1 i 1 P X | D P X | D, H i PH i | D P X | H i PH i | D Si può dimostrare che nessun altro metodo di predizione ha in media delle prestazioni migliori. APPRENDIMENTO BAYESIANO n n i 1 i 1 P X | D P X | D, H i PH i | D P X | H i PH i | D Il calcolo di PH i | D per tutte le H i è INTRATTABILE. IPOTESI si considera SOLO l’ipotesi più probabile, ovvero solo l’ipotesi H i che massimizza P H i | D APPRENDIMENTO BAYESIANO IPOTESI si considera SOLO l’ipotesi più probabile, ovvero solo l’ipotesi H i che massimizza P H i | D Questa ipotesi si chiama “massima a posteriori” o MAP (maximum a posteriori) e si indica con H MAP APPRENDIMENTO BAYESIANO P X | D P X | H MAP Per calcolare H MAP si ricorre al teorema di Bayes: H MAP PD | H i PH i arg max PH i | D arg max P D Hi Hi APPRENDIMENTO BAYESIANO H MAP PD | H i PH i arg max PH i | D arg max P D Hi Hi Il termine PD | H i rappresenta la verosimiglianza (likelihood) dei dati, assunta l’ipotesi H i come quella corretta. La PH i è la probabilità a priori (prior) dell’ipotesi. Il denominatore PD rappresenta la probabilità dei dati D senza nessuna conoscenza su quale ipotesi possa valere, è una costante di normalizzazione. APPRENDIMENTO BAYESIANO H MAP PD | H i PH i arg max PH i | D arg max P D Hi Hi Il termine PH i | D è la probabilità a posteriori (posterior) dell’ipotesi che combina insieme la verosimiglianza dei dati e la conoscenza a priori sull’ipotesi e riflette la nostra confidenza che valga l’ipotesi H i dopo aver osservato i dati. APPRENDIMENTO BAYESIANO H MAP arg max PD | H i PH i Hi COME SCEGLIERE LA PROBABILITA’ A PRIORI? Privilegiare le ipotesi più semplici rispetto a quelle più complesse (rasoio di Ockham). APPRENDIMENTO BAYESIANO IPOTESI si assume un prior uniforme sulle ipotesi e si sceglie quindi l’ipotesi H i che massimizza la PD | H i : tale ipotesi si chiama a massima verosimiglianza o ML (maximum likelihood): H ML arg max PD | H i Hi Categorizzazione del Testo E’ la classificazione dei documenti in un numero fissato e predefinito di categorie. In generale ogni documento può appartenere ad una categoria, a più categorie o a nessuna categoria. Per poter definire in modo formale il problema dell’apprendimento, si assume che ogni documento appartenga esattamente ad una categoria. Categorizzazione del Testo GOAL Apprendere dagli esempi dei classificatori che siano in grado di assegnare automaticamente una categoria ad un nuovo documento Categorizzazione del Testo In generale: Dato un insieme di documenti D : d1 , d 2 ,..., d D e l’insieme delle loro categorie identificate con le etichette C : c1 , c2 ,..., c C si vuole approssimare la funzione : D C T , F per mezzo di una funzione : D C T , F in modo che “coincidano il più possibile”. ^ ^ e Categorizzazione del Testo APPROCCIO PRATICOFormulare un algoritmo per ottenere la funzione approssimata . L’approssimazione deriverà dall’impossibilità di osservare tutti i documenti di ogni categoria stabilita. Questo approccio ci consente di osservare un numero finito di esempi e successivamente di utilizzare il modello appreso per classificare istanze non osservate. ^ Categorizzazione del Testo training/validation setper l’apprendimento e la ricerca dei migliori parametri DATASET test setper verificare le prestazioni dell’algoritmo Categorizzazione del Testo Durante la fase di addestramento si cerca di minimizzare la differenza tra ^ e ; l’algoritmo di apprendimento sfrutterà la conoscenza a priori data dalle etichette presenti sui documenti nell’insieme di training. Al termine del processo di apprendimento sarà possibile richiedere al classificatore di predire la categoria di un documento sconosciuto. Viene utilizzata una procedura di cross-validazione al fine di evitare un iperadattamento del modello dei dati. Categorizzazione del Testo procedura di cross-validazione viene suddiviso l’insieme dei dati disponibili in k sottoinsiemi; viene poi addestrato il modello su k 1 insiemi e misurate le prestazioni sull’insieme rimanente. Per ogni n-pla di parametri analizzati viene ripetuto questo procedimento k volte. Categorizzazione del Testo rappresentazione dei documenti CORPUSinsieme di documenti uno degli approcci più diffusi rappresenta ciascun documento con un vettore le cui componenti sono indicizzate dalle parole presenti nel corpus. Ogni entrata nel vettore è data da un peso dipendente dal numero di occorrenze della parola all’interno del documento. Categorizzazione del Testo rappresentazione dei documenti Sia il modo di calcolare il peso che il concetto di parola sono soggetti a vari tipi di modellazione. Il concetto di parola può essere ridefinito applicando un algoritmo di stemming per sostituire a ciascuna parola la sua radice, facendo confluire nomi, verbi ed aggettivi nello stesso termine (es. combattere, combattente, combattivo COMBATT) Categorizzazione del Testo rimozione delle stop-words rimozione delle parole più frequenti presenti in una lingua come ‘il’, ‘la’, ‘per’, ‘di’, ‘da’, … se stiamo classificando per argomento delle pagine web rimuovere parole come ‘io’, ‘mi’, ‘mia’ o ‘miei’ potrebbe eliminare un’importante informazione nell’individuare le pagine personali. Categorizzazione del Testo bag-of-words stabilito un dizionario D di parole, ogni documento viene rappresentato con un vettore di D elementi, ciascuno dei quali indica il peso del termine in quel documento. Questo tipo di rappresentazione non tiene conto dell’ordine delle parole né della punteggiatura, né di eventuali riferimenti tra un documento ed altri; ci si riferisce a questo modello come bag-of-words ovvero un insieme non ordinato di termini. Il Classificatore Naive Bayes Avvalendosi di un insieme di dati etichettati per l’addestramento, si stimano i parametri del modello generativo e si classificano le nuove istanze utilizzando il teorema di Bayes e selezionando la categoria che ha la probabilità più alta di aver generato l’esempio. ASSUNZIONE DEL NAIVE BAYES tutti gli attributi che descrivono una certa istanza sono tra loro condizionalmente indipendenti data la categoria a cui appartiene l’istanza. Quando questa ipotesi è verificata, il Naive Bayes esegue una classificazione di tipo MAP. Interpretazione Bayesiana del Naive Bayes DOMINIO APPLICATIVO DEL CLASSIFICATORE NAIVE BAYES riguarda la classificazione di istanze che possono essere descritte mediante un insieme di attributi di cardinalità anche molto elevata. Sia A A1 ,..., An un insieme di variabili che modellano gli attributi delle istanze da classificare e sia C c1 ,..., c C una variabile i cui stati rappresentano le categorie a cui appartengono le istanze. Si tratta di stimare una funzione che, applicata ad ogni istanza, fornisca la classe di appartenenza dell’istanza stessa, partendo da un insieme di dati di addestramento D in cui ogni elemento di a1 ,..., an è descritto tramite i valori dei suoi attributi e tramite la sua classe ci Interpretazione Bayesiana del Naive Bayes Una nuova istanza può essere classificata partendo dalla sua descrizione in termini di attributi. Secondo l’approccio bayesiano, si calcolano le probabilità a posteriori Pc j | di con j 1,..., C e si determina la categoria c j che massimizza tale probabilità: cMAP arg max Pc j | d i arg max Pc j | a1 ,..., an c j C c j C MAP è “maximum a posteriori” = classe più verosimile Interpretazione Bayesiana del Naive Bayes Il teorema di Bayes permette di esprimere la probabilità a posteriori in funzione della verosimiglianza e della probabilità a priori: cMAP arg max c j C arg max c j C P d i | c j P c j Pd i P a1 ,..., an | c j P c j Pa1 ,..., an arg max P a1 ,..., an | c j P c j c j C Regola di Bayes Abbiamo tralasciato il denominatore perchè rappresenta una costante di normalizzazione Interpretazione Bayesiana del Naive Bayes cMAP arg max Pa1 ,..., an | c j Pc j c j C Il termine Pc j può essere stimato facilmente contando il numero di volte che la classe c j compare tra i dati. La stima del termine Pa1 ,..., an | c j è più difficoltosa, perché il numero di configurazioni che può assumere è mn C , dove n è il numero degli attributi. Per avere una stima attendibile, servirebbe un numero di dati che è esponenziale nel numero di attributi. Interpretazione Bayesiana del Naive Bayes Per ridurre il numero dei parametri da stimare e corrispondentemente il numero dei dati necessari, si fa l’ipotesi semplificativa che gli attributi siano MUTUAMENTE INDIPENDENTI data la classe dell’istanza: P a1 ,..., an | c j P a1 | c j ... P an | c j P ai | c j n i 1 Interpretazione Bayesiana del Naive Bayes cMAP arg max Pa1 ,..., an | c j Pc j c j C c NB arg max P c j P ai | c j n c j C i 1 Se è soddisfatta l’ipotesi di indipendenza degli attributi, il classificatore Naive Bayes esegue una stima MAP, quindi cNB cMAP. Il numero dei termini da stimare si riduce a n C , che è lineare nel numero di attributi. Il numero totale dei parametri da stimare è C n C n 1 C Modello Generativo Probabilistico del Classificatore Naive Bayes IPOTESI (1) i dati sono generati da un modello di misture (2) esiste una corrispondenza biunivoca tra le componenti delle misture e le classi cioè si fa corrispondere più componenti della mistura alla stessa classe (3) le componenti della mistura sono distribuzioni multinomiali di singole parole Modello Generativo Probabilistico del Classificatore Naive Bayes Sia M l’insieme delle classi e |X| la cardinalità di un vocabolario di parole di dimensione finita. Ogni documento è così generato in accordo ad una distribuzione di probabilità definita da un insieme di parametri e consistente in una mistura di c j 1,..., M componenti Modello Generativo Probabilistico del Classificatore Naive Bayes Indichiamo con c j sia la j-esima componente della mistura, sia la j-esima classe. La creazione di un documento xi avviene in due passi: 1. si seleziona una componente della mistura in accordo alla distribuzione di probabilità a priori sulle classi P c j | ; 2. la componente della mistura scelta genera il documento in accordo ai propri parametri con distribuzione P xi | c j ; . Modello Generativo Probabilistico del Classificatore Naive Bayes La verosimiglianza di un documento xi può essere vista come la somma pesata delle probabilità che il documento sia generato da ciascuna classe: Pxi | Pc j | Pxi | c j ; |M | j 1 Modello Generativo Probabilistico del Classificatore Naive Bayes Per poter applicare il classificatore Naive Bayes al problema della categorizzazione del testo, si deve decidere quali debbano essere gli attributi utili a rappresentare un documento e stabilire come stimare le tabelle di probabilità. Modello di Bernoulli 2 approcci Modello Multinomiale Modello di Bernoulli Il modello di Bernoulli rappresenta un documento come un insieme di attributi binari che indicano la presenza o l'assenza di un certo insieme di parole che costituiscono il vocabolario. Questo approccio trascura parte dell'informazione disponibile, perché non considera il numero di occorrenze delle parole nel documento ed è più adatto in quei domini che hanno un numero fissato di attributi. Modello Multinomiale Il modello multinomiale rappresenta un documento come un insieme di parole con associato il loro numero di occorrenze. Anche in questo caso, si perde l'ordinamento delle parole, ma viene catturata la loro frequenza. Gli attributi di un documento coincidono con le parole che lo costituiscono e sono indipendenti tra di loro data la classe ed indipendenti anche dalla posizione che occupano. Modello Multinomiale e Bag of Words La rappresentazione del documento in cui la probabilità di trovare una certa parola è indipendente dalla posizione, viene detta bag of words: si crea così una rappresentazione del testo di tipo attributo-valore. Ogni parola diversa dalle altre corrisponde ad un attributo che ha come valore il numero di volte che la parola compare nel documento. Modello Multinomiale e Feature Selection Per evitare di avere degli insiemi di parole di cardinalità troppo elevata (overfitting), si può eseguire una procedura di feature selection che mira a ridurre il numero di parole che compaiono nel vocabolario: eliminare le parole che compaiono al di sotto e al di sopra di un certo numero di volte nel training set; Procedere ad una selezione delle parole che hanno la più alta informazione mutua con la classe (information gain criterion); applicare alle parole un algoritmo di stemming che estrae la radice, facendo collidere più parole nella stessa feature. Modello Multinomiale e Classificatore Naive Bayes L’eliminazione delle parole più comuni come gli articoli o le congiunzioni, garantisce che i termini con basso contenuto informativo non contribuiscano alla classificazione di nuovi documenti. CLASSIFICATORE NAIVE BAYESmodello generativo probabilistico per documenti testuali L’assunzione di indipendenza delle parole permette di descrivere il modello con un numero ridotto di parametri. Modello Multinomiale e Classificatore Naive Bayes Supponiamo inizialmente che un documento xi sia una lista ordinata di parole wxi ,1 , wxi , 2 ,... , dove wxi , k indica la parola wt del documento xi in posizione k appartenente al vocabolario X w1 ,..., w X : questa ipotesi sarà semplificata con l’assunzione di indipendenza del Naive Bayes e con l’ipotesi di indipendenza dalla posizione. Supponiamo che la lunghezza xi di un documento sia indipendente dalla mistura: questo equivale ad assumere che la lunghezza è indipendente dalla classe. Modello Multinomiale e Classificatore Naive Bayes Per generare un documento: si seleziona una componente della mistura in accordo alla sua probabilità a priori; la componente scelta genera una sequenza di parole in modo indipendente dalla lunghezza. Modello Multinomiale e Classificatore Naive Bayes Ciascun documento ha una etichetta di classe. Indichiamo con c j sia la j-esima componente della mistura, sia la j-esima classe. Indichiamo con y l’etichetta di classe di un particolare documento xi. i Se un documento xi è stato generato da una componente della mistura c j scriveremo yi c j . Indichiamo con xit il numero di volte che la parola wt compare nel documento xi Modello Multinomiale e Classificatore Naive Bayes IPOTESI: La probabilità di una parola sia indipendente dalle altre parole presenti data la classe e che sia anche indipendente dalla posizione nel documento. La probabilità di generare un particolare documento, data la classe, assume la seguente forma: Pxi | c j ; P xi Pw t wt X | c j ; xit Modello Multinomiale e Classificatore Naive Bayes L’insieme completo di parametri del modello è un insieme di distribuzioni multinomiali e di probabilità a priori su queste distribuzioni: w |c : wt X , c j C; c : c j C t j j dove wt |c j P wt | c j ; con t 1,..., X e c Pc j | . In aggiunta devono valere i vincoli di normalizzazione: P w X t 1 t | c j ; 1 e j P c C j 1 j | 1 Modello Multinomiale e Classificatore Naive Bayes I parametri delle componenti delle misture non sono altro che distribuzioni multinomiali sulle parole. Poiché la lunghezza di un documento è identicamente distribuita per tutte le classi, non c’è bisogno di parametrizzarla per la classificazione. Il modello multinomiale è superiore a quello di Bernoulli per grosse dimensioni del vocabolario ed anche nella maggior parte dei casi in cui la dimensione è piccola: in media l’accuratezza supera del 27% quella del modello bernoulliano. Modello Multinomiale e Classificatore Naive Bayes Nei documenti reali le seguenti ipotesi circa la generazione dei documenti di testo sono violate: Modello di misture; Corrispondenza biunivoca tra classi e componenti delle misture; L’indipendenza delle parole; Distribuzione uniforme della lunghezza dei documenti. Modello Generativo: Supervised Text Classification Per stimare i parametri del modello generativo, occorre un insieme di dati etichettati X x1 , c1 ,..., x X , c X . L’approccio bayesiano massimizza la probabilità a posteriori della stima, dati gli esempi di addestramento e la probabilità a priori: arg max P | X arg max P X | P dove rappresenta il valore stimato di . Modello Generativo: Supervised Text Classification arg max P | X arg max P X | P Il termine P X | è il prodotto delle likelihood di tutti i documenti, mentre il termine P , che rappresenta la probabilità a priori del modello, viene modellato con una distribuzione di Dirichlet: 1 1 arg max P xi | c j ; P c j c j wt |c j wt xi X c j C c j C Il parametro 0 pesa l’effetto del prior rispetto ai dati: in questo caso fissiamo 2 , che coincide con il Laplace Smoothing e serve a prevenire che alcuni parametri diventino nulli. Modello Generativo: Supervised Text Classification Per massimizzare l’equazione 1 1 arg max P xi | c j ; P c j c j wt |c j wt xi X c j C c j C si ricorre ai moltiplicatori di Lagrange con il vincolo di normalizzazione delle probabilità. In particolare, si massimizza il sistema di derivate parziali di log P | X . Le formule di stima dei parametri a cui si giunge come risultato della precedente massimizzazione, non sono altro che rapporti tra il numero di volte che le parole e le classi compaiono nei dati ed un coefficiente di normalizzazione. Modello Generativo: Supervised Text Classification Per quanto riguarda le probabilità a priori delle classi c , si ottiene la seguente relazione che vale per entrambi i modelli di documento: j c P c j | j 1 i 1 ij X M X 1 se ij yi c j 0 altrimenti IPOTESI: tutti i documenti sono etichettati Modello Generativo: Supervised Text Classification La stima dei parametri w |c , dipende invece dal particolare modello di documento che viene scelto. Nel caso venga impiegato un modello di Bernoulli, si ottiene: t j w |c P wt | c j ; t j 1 x X ij xit i 2 x X ij 1 se ij yi c j i xit è un indicatore binario della presenza della parola wt nel documento xi 0 altrimenti IPOTESI: tutti i documenti sono etichettati Modello Generativo: Supervised Text Classification Se il documento viene rappresentato con una distribuzione multinomiale sulle parole, si ha: w |c Pwt | c j ; t j 1 x X ij xit i s 1 x X ij xis i xis indica il numero di volte che la parola ws compare nel documento xi 1 se ij yi c j 0 altrimenti IPOTESI: tutti i documenti sono etichettati Classificazione di Nuovi Documenti La classificazione di nuovi documenti utilizza i parametri stimati durante la fase di addestramento per calcolare le probabilità di tutte le classi dato il documento e poi seleziona quella con il valore più alto, in accordo al modello bayesiano. c NB arg max P c j | xi ; cj P xi | c j ; P c j | arg max cj P xi | arg max P xi | c j ; P c j | cj Regola di Bayes Classificazione di Nuovi Documenti c NB Per valutare P xi | c j ; Essendo P c j | arg max P xi | c j ; P c j | cj occorre stabilire la rappresentazione del documento. 1 i 1 ij X M X per il modello multinomiale si ottiene: P c | P x | c ; j i j P yi c j | xi ; P xi | xit P c j | w P wt | c j ; t xit M k 1 P ck | wt P wt | ck ; L’Algoritmo EM (Expectation-Maximization) L’algoritmo EM fa parte di una classe di algoritmi iterativi per stime ML o MAP nei problemi con dati incompleti. Supponiamo di avere una funzione densità di probabilità P X | della variabile aleatoria X che dipende da un insieme di parametri e di aver collezionato un insieme di dati X x1 ,..., xN indipendenti ed identicamente distribuiti presi da questa distribuzione. Nel caso di un problema di stima massima a posteriori, si cerca di trovare un valore per in modo che arg max P X | P P X | mentre nel caso di stima a massima verosimiglianza arg max N P X | Pxi | l | X viene chiamata verosimiglianza dei dove i 1 parametri avendo osservato i dati o più semplicemente funzione di verosimiglianza L’Algoritmo EM (Expectation-Maximization) arg max P X | P Stima MAP arg max P X | Stima ML N P X | Pxi | l | X l | X Funzione di i 1 verosimiglianza Invece di massimizzare direttamente l | X , si utilizza il suo logaritmo, perché analiticamente più semplice: N l | X log P X | log P xi | i 1 L’Algoritmo EM (Expectation-Maximization) è utile quando I dati sono mancanti a causa di problemi o limitazioni con il processo di osservazione L’algoritmo EM un caso interessa l’ottimizzazione di una funzione che è analiticamente intrattabile ma che può essere semplificata introducendo delle variabili nascoste addizionali tali che se fossero noti i loro valori, l’ottimizzazione risulterebbe semplificata Utilizzo dei Dati non Etichettati con EM I dati non etichettati possono essere usati per incrementare le prestazioni del classificatore Naive Bayes. L’aggiunta di una grande quantità di dati non etichettati ad un piccolo numero di dati etichettati utilizzando l’algoritmo EM, può portare a dei miglioramenti della stima dei parametri. I documenti non etichettati sono considerati dei dati incompleti, perché sono privi dell’etichetta di classe. Si potrebbe pensare che i dati non etichettati non forniscano nessuna indicazione aggiuntiva, invece contengono delle informazioni sulla distribuzione congiunta sulle parole. Il Classificatore Naive Bayes e l’Algoritmo EM Inizialmente viene addestrato un classificatore utilizzando solo i dati etichettati, poi con questo classificatore si assegnano in modo probabilistico delle etichette ai dati non etichettati calcolando il valore medio delle etichette di classe mancanti. Infine si apprendono i parametri di un nuovo classificatore utilizzando le etichette di tutti i documenti e si itera fino alla convergenza. EM: Equazioni di Stima dei Parametri Supponiamo di avere a disposizione un insieme di documenti di addestramento X x1 ,..., x X . A differenza del classificatore Naive Bayes, solo un sottoinsieme di documenti X l sono etichettati, mentre i restanti appartenenti a X u non hanno etichetta di classe. Si è così creata una partizione di X X l X u in due sottoinsiemi disgiunti. L’apprendimento di questo modello segue una stima MAP secondo l’approccio bayesiano: arg max P | X arg max P X | P EM: Equazioni di Stima dei Parametri arg max P | X arg max P X | P La probabilità P X | di tutti i documenti di addestramento è semplicemente il prodotto delle probabilità di tutti i documenti, in quanto ogni documento è indipendente dagli altri: P X | Pxi | xi X Per i documenti non etichettati, la probabilità di un documento può essere vista come la somma pesata delle probabilità che il documento sia generato da ciascuna classe, come descritto dall’equazione: Pxi | Pc j | Pxi | c j ; |M | j 1 EM: Equazioni di Stima dei Parametri Per i documenti etichettati, l’etichetta di classe seleziona solo una componente generativa e quindi non c’è bisogno di ricorrere a tutte le componenti della mistura ma solo a quella corrispondente alla classe. La probabilità di tutti i documenti è data da: P X | P x | P x | i i xi X u xi X l Px | c ; Pc M xi X u j 1 i j j | P xi | cxi ; xi X l dove con c x si è indicata la classe del documento xi che è nota perché il documento è etichettato. i EM: Equazioni di Stima dei Parametri Invece di massimizzare direttamente P | X , si preferisce lavorare con il logaritmo di P | X : il punto di massimo non cambia in quanto il logaritmo è una funzione monotona crescente. Definiamo la funzione di verosimiglianza dei dati incompleti: l | X log P X | P che può essere riscritta nel seguente modo: log Pc | Px | c ; log P y c | P x | y c ; l | X log P xi X u xi X l i j j M j i i i j j Purtroppo questa equazione contiene una somma di logaritmi per i dati non etichettati che rende computazionalmente intrattabile la massimizzazione attraverso le derivate parziali. EM: Equazioni di Stima dei Parametri Se però conoscessimo l’etichetta di classe di tutti i documenti, la somma all’interno del logaritmo si ridurrebbe ad un solo termine, semplificando il problema della massimizzazione. Sia Y Y1 ,..., Y X un insieme di variabili nascoste in corrispondenza biunivoca con X , tali che, se fossero noti i loro valori, allora sarebbe nota l’etichetta di classe di tutti i documenti dell’insieme di addestramento X . Ogni elemento Yi Y può essere visto come un vettore di indicatori binari Yi yi1 ,..., yi M in cui yij 1 se e solo se il documento xi appartiene alla classe c j , altrimenti yij 0 . EM: Equazioni di Stima dei Parametri Il primo passo dell’algoritmo EM calcola il valore medio del logaritmo della verosimiglianza dei dati completi log P X , Y | rispetto ai dati non osservati Y avendo a disposizione i dati osservati X ed una stima i corrente dei parametri: Q | i E log P X , Y | P Y | X ; i Nel nostro caso: Q è una nuova funzione, mentre E è l’operatore valore medio log P X , Y | log Pxi , Yi | xi X log Px , y i xi X i1 ,..., yi M | log y Px M xi X j 1 ij i | c j ; Pc j | EM: Equazioni di Stima dei Parametri log P X , Y | log Pxi , Yi | xi X log Px , y i xi X log y Px ij j 1 Applicando la disuguaglianza di Jensen con j yij e y j Pxi | c j ; Pc j | si ottiene: log P X , Y | y xi X j 1 ij ,..., yi M | M xi X M i1 log Pxi | c j ; Pc j | i | c j ; Pc j | La disuguaglianza di Jensen permette di sostituire il log di una somma con una somma di logaritmi log j y j j log y j se j 1 j j j EM: Equazioni di Stima dei Parametri La funzione di verosimiglianza dei dati completi assume la forma l | X , Y log P M y xi X j 1 ij log Pxi | c j ; Pc j | dove è stato aggiunto il termine log P che tiene conto del prior sui parametri. Per terminare il calcolo dell’E-step basta applicare l’operatore valore medio ad entrambi i membri della disequazione su riportata: M E P Y | X ; i l | X , Y log P E xi X j 1 P Y | X ; i y ij log Pxi | c j ; Pc j | EM: Equazioni di Stima dei Parametri l | X , Y Il passo di massimizzazione ottimizza E P Y | X ; al variare dei parametri : i i 1 arg max E P Y | X ; i l | X , Y Questa procedura iterativa di hill-climbing determina un massimo locale della funzione di verosimiglianza ricalcolando alternativamente il valore atteso di Y e la stima massima a posteriori dei parametri. Il valore di Y è noto per i documenti etichettati e quindi deve essere stimato solo per quelli non etichettati. EM: Equazioni di Stima dei Parametri Se yi e i denotano rispettivamente la stima per ye per al passo i esimo , allora l’algoritmo trova un massimo locale di l | X iterando i due seguenti passi: E - Step : Calcolare yi 1 E y | X ; i . M - Step : Calcolare i 1 arg max P | X ; yi 1 P c j | xi ; L’E-step assegna in modo probabilistico le etichette di classe ai documenti non etichettati usando la stima corrente dei parametri per mezzo dell’equazione P c | P x | c ; j i j P c j | xi ; M r 1 P cr | P xi | cr ; EM: Equazioni di Stima dei Parametri P c | P x | c ; j i j P c j | xi ; M P c | P x | c ; r 1 r i r P xi | c j ; dipende dove il termine dal modello di documento usato (multinomiale o di Bernoulli) mentre P c | ne è indipendente. L’M-step calcola una nuova stima MAP dei parametri del modello, P c | x ; usando le stime correnti per j i . j EM: Equazioni di Stima dei Parametri La stima dei parametri documento usato j non dipende dal particolare modello di 1 se 1 i 1 ij P c j | M X X c c P c j | j ij P wt | c j ; si differenziano mentre i parametri w |c a seconda del modello adottato, nel caso venga impiegata una distribuzione multinomiale sulle parole abbiamo: 1 x t j w |c Pwt | c j ; t j xi X s 1 ij it xi X ij xis yi c j 0 altrimenti IPOTESI: tutti i documenti sono etichettati Algoritmo EM applicato al Classificatore Naive Bayes Inputs: Un insieme di documenti etichettati X l ed un insieme di documenti non etichettati X u .Sia X Xl X u . 2. Costruire un classificatore Naive Bayes iniziale utilizzando solo i dati etichettati X l . Usare una stima massima a posteriori per determinare arg max P X l | P . 3. Ripetere i due passi seguenti finchè l’incremento della verosimiglianza dei dati completi è al di sopra di una certa soglia. a) E-step: Usare il classificatore corrente per stimare la probabilità P c j | xi ; che ogni 1. componente della mistura abbia generato ogni documento non etichettato. M-step: Aggiornare la stima del classificatore avendo a disposizione le stime di appartenenza di ogni documento alle varie classi. Usare una stima massima a posteriori per trovare arg max P X , Y | P . 4. Output: Un classificatore che predice l’etichetta di classe di ogni documento non etichettato che gli viene presentato. Algoritmo EM applicato al Classificatore Naive Bayes L’inizializzazione dell’algoritmo esegue un M-step iniziale che costruisce un classificatore Naive Bayes utilizzando solo i dati etichettati X l . Segue poi il ciclo delle iterazioni che comincia con un E-step che usa il classificatore appena creato per etichettare in modo probabilistico i documenti non etichettati per la prima volta. I due passi dell’algoritmo si alternano finchè non si converge ad un valore di che non cambia da un’iterazione ad un’altra. Limitazioni ed Estensioni Nei documenti reali le 2 ipotesi circa la generazione dei documenti di testo sono violate: Modello di misture; Corrispondenza biunivoca tra classi e componenti delle misture; quindi in certe situazioni il contributo fornito dai dati non etichettati può essere quasi inesistente o portare persino ad un peggioramento delle prestazioni, come nel caso in cui siano disponibili molti dati etichettati. Limitazioni ed Estensioni In molte situazioni è comune avere a disposizione una piccola quantità di dati etichettati ma un numero di dati non etichettati. In questi casi, la grande maggioranza delle informazioni per la stima dei parametri con EM proviene dai dati non etichettati e si può pensare che EM esegua per lo più un clustering non supervisionato, cercando di adattare le componenti della mistura per massimizzare la verosimiglianza dei documenti non etichettati. NB EM 300 documenti etichettati (15 x classe) 52% acc. 66% acc. 20 “ “ (1 x classe) 20% acc. 35% acc. Più Componenti della Mistura per Classe IPOTESIsi assume che ci possa essere una corrispondenza MOLTI A UNO tra le componenti della mistura e le classi, cioè che una classe possa contenere più sottoargomenti, ognuno dei quali è rappresentato in modo migliore da una differente distribuzione delle parole. L’utilizzo di più componenti per classe permette anche di catturare alcune dipendenze tra le parole. IMPORTANTEla possibilità di poter avere più componenti per classe introduce dei valori mancanti anche per i documenti etichettati. La stima dei parametri sarà sempre eseguita con EM, con l’aggiunta che per ogni documento etichettato si deve individuare quale componente lo ha generato. Implementazione Maximum Likelihood Estimation Smoothing with Dirichlet (Additive) Priors Inference Implementazione Class TradNaiveBayesClassifier (converte sequenze di caratteri in token) Implementazione Naive Bayes integrato con EM Factory crea un nuovo classificatore in ogni epoca Implementazione Creazione di Corpora etichettati e senza etichetta Il programma è costituito da due classi, una per fare la stima di EM e impostare tutti i parametri necessari di factory e un’altra per creare il corpus. I corpora sono definiti nella classe TwentyNewsgroupsCorpus. Input dei dati Per esempio, mTestCatToTexts.get("sci.med") restituisce una array dove ogni voce è un testo di prova per il newsgroup sci.med. Implementazione Permutazione dei dati Al fine di ottenere risultati diversi in diverse esecuzioni, applichiamo permutazioni per i dati di training: Implementazione La classe EM (stima dei parametri) 10 trial per numero di campioni di addestramento I parametri: Implementazione Tokenization Questo metodo imposta un insieme di filtri sul token. Prima di tutto, usiamo la nostra base tokenizer indoeuropea, che fornisce un’istanza singleton. Rimuoviamo tutti i token non alfa-numerici. Reporting Implementazione Costruzione di Corpora Costruiamo i corpora utilizzando il costruttore e il path dei dati scompattati: Implementazione Classificatore Iniziale Implementazione Esecuzione: Implementazione Esecuzione: Implementazione Esecuzione: Implementazione Esecuzione: Implementazione ant -Dnewsgroups.path=TWENTY_NEWSGROUPS em > risultati.txt Implementazione Risultati Sperimentali: Data Set Il data set 20 Newsgroups collezionato da Ken Lang, raccoglie 20000 articoli in formato testuale suddivisi equamente tra 20 differenti gruppi di discussione di UseNet, ognuno contenente 1000 articoli. Questo insieme di dati è stato collezionato in un periodo di diversi mesi nel 1993. Tra i dati raccolti ci saranno naturalmente delle correlazioni temporali: infatti gli articoli inviati nello stesso periodo avranno una probabilità più alta di appartenere allo stesso sottoargomento del gruppo di discussione. Inoltre, quando si risponde ad un articolo, è buona regola riportare anche il testo dell'articolo a cui si sta replicando: questa abitudine, spesso, porta ad avere molte parole in comune negli articoli che si susseguono. Risultati Sperimentali: Data Set Lo scopo è quello di classificare ogni articolo nel corrispondente gruppo di discussione a cui è stato inviato, tramite il classificatore Naive Bayes. utilizzando dati etichettati e non etichettati. Tutti i dati a disposizione sono etichettati: se vogliamo ottenere dei dati non etichettati, è sufficiente nascondere all'algoritmo di apprendimento l'etichetta del documento. In fase di classificazione, si considerano i documenti appartenenti al test set come se fossero non etichettati, ignorando la loro categoria di appartenenza. Si esegue poi una classificazione di questi dati con il modello addestrato e si valuta l'accuratezza del classificatore facendo riferimento alla reale categoria del documento che era stata precedentemente ignorata. Un Articolo del Gruppo di Discussione rec.sports.baseball. Risultati Sperimentali: Data Set La parte iniziale presenta una serie di linee consecutive che rappresentano l'header del messaggio e che descrivono le caratteristiche dell'articolo: possiamo riconoscere il newsgroup di appartenenza, la data di invio, il numero di linee, l'identificatore del messaggio, etc. Ai fini della classificazione, è importante eliminare l'header dell'articolo, perché contiene il newsgroup di appartenenza che identifica direttamente la categoria a cui deve essere assegnato. L'header è seguito dal corpo del messaggio. In questo caso, si può notare che l'utente che ha spedito l'articolo, ha risposto ad un messaggio precedentemente inviato che viene riportato nelle prime linee contrassegnate con il carattere >. Segue poi il testo vero e proprio del messaggio in cui il mittente esprime la propria opinione. Risultati Sperimentali: Data Set L'elaborazione di un articolo che porta ad una rappresentazione come bag of bag of words, inizia costruendo il vocabolario delle parole. Per ogni articolo viene eliminato l'header che contiene la categoria di appartenenza del documento: non vengono invece scartate le linee che riportano il testo di un messaggio precedentemente inviato per non ridurre troppo il numero di parole che costituiscono il documento. I token corrispondenti alle parole, sono formati dai caratteri alfabetici continui: i caratteri non alfabetici vengono sostituiti con dei caratteri di spaziatura. I documenti con meno di 3 token sono rimossi. Risultati Sperimentali: Training Set e Test Set Il corpus contiene 18.846 documenti: http://qwone.com/~jason/20Newsgroups/20news-bydate.tar.gz Dopo aver rimosso i documenti con meno di tre token restano 18.803 documenti, divisi fra i 20 gruppi di discussione: training(60%), test(40%) Risultati Sperimentali: Risultati Supervised e Semi-Supervised su 20 Newsgroups #Sup Supervised Accuracy EM Accuracy #Sup= 1 Supervised mean(acc)=0,122 sd(acc)=0,010 EM mean(acc)=0,339 sd(acc)=0,046 #Sup= 2 Supervised mean(acc)=0,175 sd(acc)=0,020 EM mean(acc)=0,522 sd(acc)=0,061 #Sup= 4 Supervised mean(acc)=0,262 sd(acc)=0,015 EM mean(acc)=0,613 sd(acc)=0,035 #Sup= 8 Supervised mean(acc)=0,358 sd(acc)=0,016 EM mean(acc)=0,665 sd(acc)=0,011 #Sup= 16 Supervised mean(acc)=0,474 sd(acc)=0,011 EM mean(acc)=0,709 sd(acc)=0,014 #Sup= 32 Supervised mean(acc)=0,584 sd(acc)=0,007 EM mean(acc)=0,736 sd(acc)=0,008 #Sup= 64 Supervised mean(acc)=0,678 sd(acc)=0,009 EM mean(acc)=0,756 sd(acc)=0,007 #Sup= 128 Supervised mean(acc)=0,735 sd(acc)=0,004 EM mean(acc)=0,773 sd(acc)=0,003 #Sup=256 Supervised mean(acc)=0,777 sd(acc)=0,003 EM mean(acc)=0,790 sd(acc)=0,003 #Sup=512 Supervised mean(acc)=0,800 sd(acc)=0,002 EM mean(acc)=0,809 sd(acc)=0,001 solo su documenti supervisionati 1:13:17 2:17:26 3:18:29 4:15:18 5:08:41 5:58:10 6:46:03 7:25:47 8:00:51 8:25:05 documenti supervisionati e non supervisionati Risultati Sperimentali: Nei test effettuati, si varia il numero di documenti etichettati da un minimo di 20 (uno per categoria) fino ad un massimo di 10.240 (512 per categoria), con il duplice obiettivo di valutare le prestazioni del classificatore e di analizzare il contributo fornito dai dati non etichettati al variare della percentuale di documenti etichettati. Risultati Sperimentali: Risultati Sperimentali: Risultati Sperimentali: Risultati Sperimentali: Risultati Sperimentali: Risultati Sperimentali: Innanzitutto si può osservare che l'incremento dell'accuratezza è pressoché trascurabile se si utilizzano più di 3.000 documenti etichettati in entrambi i classificatori. Il Naive Bayes integrato con EM raggiunge delle prestazioni migliori: per esempio, con soli 20 documenti etichettati (uno per categoria), il primo raggiunge un'accuratezza del 12.2%, mentre il secondo del 33.9%, con un incremento del 21.7%. Risultati Sperimentali: L’esperimento mostra che quando ci sono molti dati etichettati e la curva del Naive Bayes è per lo più piatta, l'aggiunta dei dati non etichettati non aiuta ad incrementare l'accuratezza, perché c’è già una quantità sufficiente di dati etichettati per stimare in modo accurato i parametri del modello: ad esempio, con 5.120 documenti etichettati (256 per classe), l'accuratezza di classificazione rimane praticamente invariata. Risultati Sperimentali: Questi esperimenti dimostrano che EM trova una stima dei parametri che aumenta l'accuratezza di classificazione e riduce il bisogno dei dati etichettati. Per esempio, per raggiungere un'accuratezza del 58%, il Naive Bayes richiede 640 documenti etichettati (32 per classe), mentre EM ne richiede solo 80 (4 per classe), con una riduzione di 8 volte.