Semi-Supervised Text Classification Using EM

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à Pi  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à Pi  di un evento  i è un numero
che soddisfa i seguenti assiomi:
1) 0  Pi   1;
2) Pi   1  i è certo
Pi   0  i è impossibil e
3) se i   j sono 2 eventi, allora la probabilit à della
loro disgiunzio ne vale
P i   j   Pi   P  j   P i   j 
APPRENDIMENTO BAYESIANO
GOALFARE 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 PH i | D    P X | H i PH 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 PH i | D    P X | H i PH i | D 
Il calcolo di PH 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
PD | H i PH i 
 arg max PH i | D   arg max
P D 
Hi
Hi
APPRENDIMENTO BAYESIANO
H MAP
PD | H i PH i 
 arg max PH i | D   arg max
P D 
Hi
Hi
Il termine PD | H i  rappresenta la verosimiglianza
(likelihood) dei dati, assunta l’ipotesi H i come quella
corretta. La PH i  è la probabilità a priori (prior)
dell’ipotesi. Il denominatore PD rappresenta la
probabilità dei dati D senza nessuna conoscenza su quale
ipotesi possa valere, è una costante di normalizzazione.
APPRENDIMENTO BAYESIANO
H MAP
PD | H i PH i 
 arg max PH i | D   arg max
P D 
Hi
Hi
Il termine PH 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 PD | H i PH 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
PD | H i  : tale ipotesi si chiama a massima
verosimiglianza o ML (maximum likelihood):
H ML  arg max PD | 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 PRATICOFormulare 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 setper l’apprendimento e la
ricerca dei migliori parametri
DATASET
test setper 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
CORPUSinsieme 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 Pc j | di  con j  1,..., C e si determina la categoria
c j che massimizza tale probabilità:
cMAP  arg max Pc j | d i   arg max Pc 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 
Pd i 
P a1 ,..., an | c j P c j 
Pa1 ,..., 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 Pa1 ,..., an | c j Pc j 
c j C
Il termine Pc j  può essere stimato facilmente contando il numero di
volte che la classe c j compare tra i dati.
La stima del termine Pa1 ,..., 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 Pa1 ,..., an | c j Pc 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:
Pxi |     Pc j |   Pxi | 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 BAYESmodello
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:
Pxi | c j ;   P xi
  Pw
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  Pc 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  Pwt | 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 |     Pxi |    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 |     Pxi |    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 |     Pxi |  
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:
Pxi |     Pc j |   Pxi | 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
  Px | c ; Pc
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  Pc |  Px | 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  Pxi , Yi |  
xi X

 log Px , y
i
xi X

i1
,..., yi M | 
 log  y Px
M
xi X
j 1
ij
i

| c j ; Pc j |  
EM: Equazioni di Stima dei Parametri
log P X , Y |    log  Pxi , Yi |  
xi X

 log Px , y
i
xi X

 log  y Px
ij
j 1
Applicando la disuguaglianza di Jensen
con  j  yij e y j  Pxi | c j ; Pc j |  
si ottiene:
log P X , Y |   
 y
xi X j 1
ij

,..., yi M | 
M
xi X
M
i1

log Pxi | c j ; Pc j |  
i

| c j ; Pc 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 Pxi | c j ; Pc 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 Pxi | c j ; Pc 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  Pwt | 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  Xl  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
IPOTESIsi 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.
IMPORTANTEla 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.