Learning finite Mixture-Model of Multinomial distributions

Learning finite MixtureModels
Giuseppe Manco
giovedì 26 novembre 2009
Clustering





La problematica del clustering è relativa al learning
non supervisionato
Abbiamo un dataset con istanze la cui etichetta è
sconosciuta
Obiettivo del clustering è individuare raggruppamenti
delle istanze del dataset
I raggruppamenti devono essere tali per cui ci sia alta
similarità fra le istanze delle stesso cluster, mentre ci
sia alta dissimilarità fra le istanze di cluster differenti
Il clusterer deve ricostruire la struttura nascosta alla
base dei dati a disposizione
giovedì 26 novembre 2009
Model-based Clustering



In questo approccio si suppone che le istanze del
dataset siano state generate a partire da un mix di
modelli probabilistici
Per questa ragione si parla anche di Probabilistic
Clustering
Il clusterer, quindi, deve stimare quali siano i
parametri delle distribuzioni che hanno più
verosimilmente generato il dataset di training
giovedì 26 novembre 2009
Stima per massima verosimiglianza
(maximum likelihood) (1/2)



Avendo i dati che provengono da una distribuzione di
forma nota si vogliono stimare i parametri per cui è
più verosimile osservare i dati che si hanno
effettivamente a disposizione
Sia
il dataset a disposizione, si
definisce la likelihood come:
Dove θ rappresenta il vettore di tutti i parametri della
distribuzione
giovedì 26 novembre 2009
Stima per massima verosimiglianza
(maximum likelihood) (2/2)


Si devono quindi trovare quali siano i parametri della
distribuzione che massimizzano la likelihood
Spesso si massimizza il logaritmo della likelihood, la
log-likelihood, perché si possono ottenere
espressioni analitiche più semplici:
giovedì 26 novembre 2009
Mixture-Model (1/5)




Per il clustering si utilizza l’approccio a mixture-model
In questo contesto ogni istanza viene generata
scegliendo prima, secondo una data probabilità, una
particolare distribuzione e poi si genera l’istanza in
accordo alla distribuzione scelta
La distribuzione per una istanza è:
Dove
è la probabilità che venga scelta la k-ma
distribuzione, e prende il nome di mixing probability, e
è la k-ma distribuzione
giovedì 26 novembre 2009
Model-Based Clustering

Clustering basato su modelli probabilistici
 Si
assume che dati siano distribuiti secondo
un mix di funzioni di densità

Per ogni funzione i parametri non sono noti
EM
 Bayesian clustering

giovedì 26 novembre 2009
Finite Mixture Models
giovedì 26 novembre 2009
Finite Mixture Models
giovedì 26 novembre 2009
Finite Mixture Models
giovedì 26 novembre 2009
Finite Mixture Models
Pesok
Modellok
giovedì 26 novembre 2009
Parametrik
Esempio: Mistura di Gaussiane

Gaussian mixtures:
giovedì 26 novembre 2009
Esempio: Mistura di Gaussiane

Gaussian mixtures:
Ogni componente è una densità gaussiana
con media µk covarianza Σk
giovedì 26 novembre 2009
Example: Mixture of Gaussians

Gaussian mixtures:
Ogni componente è una densità gaussiana
con media µk e covarianza Σk
Esempio: K=2, 1-dim:
{θ, α} = {µ1 , σ1 , µ2 , σ2 , α1 , α2}
giovedì 26 novembre 2009
giovedì 26 novembre 2009
giovedì 26 novembre 2009
giovedì 26 novembre 2009
Esempio: Mixture di Naïve
Bayes
giovedì 26 novembre 2009
Esempio: Mixture di Naïve
Bayes
giovedì 26 novembre 2009
Esempio: Mixture di Naïve
Bayes
Indipendenza condizionale per
ogni componente
giovedì 26 novembre 2009
Mixtures di Naïve Bayes
Termini
1
1
1
1
1
1
1
1
1
1
Documenti
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
giovedì 26 novembre 2009
1
1
1
1
1
1
1
1
1
1
1
1
Mixtures di Naïve Bayes
Termini
1
1
1
1
1
1
1
1
1
1
Documenti
1
1
1
1
1
1
Componente 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
giovedì 26 novembre 2009
1
1
1
1
1
1
1
1
1
1
1
1
1
Componente 2
Esempio: Mixtures di multinomiali



Le distribuzioni multinomiali modellano il ripetersi di
esperimenti indipendenti che possono portare a più
risultati: come il lancio di un dado (“Qual è la
probabilità che su 4 lanci esca due volte ‘1’ una volta
‘3’ ed una volta ‘6’?)
Una multinomiale è caratterizzata dai parametri
che indica qual è la probabilità che si verifichi un
evento di classe c
Poiché facciamo riferimento ad un mixture-model di
multinomiali, poniamo
la probabilità che si
verifichi l’evento di classe c nella multinomiale k
giovedì 26 novembre 2009
Esempio: Mixtures di multinomiali

Nel nostro caso, quindi, i dati che osserviamo sono
nella forma:
, dove
è il numero
di eventi di classe c per l’istanza i
giovedì 26 novembre 2009
Esempio: Mixtures di multinomiali

Nel nostro caso, quindi, i dati che osserviamo sono
nella forma:
, dove
è il numero
di eventi di classe c per l’istanza i

La probabilità di osservare una particolare istanza
generata da una distribuzione multinomiale è:
giovedì 26 novembre 2009
Mixture-Model (2/5)

La log-likelihood in questo caso vale:
giovedì 26 novembre 2009
Mixture-Model (2/5)

La log-likelihood in questo caso vale:
Sommatoria dentro il logaritmo!
giovedì 26 novembre 2009
Mixture-Model (2/5)

La log-likelihood in questo caso vale:
Sommatoria dentro il logaritmo!

Questa funzione risulta molto complessa da ottimizzare…
giovedì 26 novembre 2009
Mixture-Model (3/5)


Si utilizza uno stratagemma: si suppone l’esistenza
delle variabili
che indicano se l’istanza i è stata
generata dalla distribuzione k
La variabile
vale 1 se l’istanza i è stata generata
dalla distribuzione k, vale 0 altrimenti.
giovedì 26 novembre 2009
Mixture-Model (3/5)



Si utilizza uno stratagemma: si suppone l’esistenza
delle variabili
che indicano se l’istanza i è stata
generata dalla distribuzione k
La variabile
vale 1 se l’istanza i è stata generata
dalla distribuzione k, vale 0 altrimenti.
Queste variabili soddisfano la condizione:
giovedì 26 novembre 2009
Mixture-Model (4/5)

In questo caso la likelihood e quindi la log-likelihood
valgono:
giovedì 26 novembre 2009
Mixture-Model (4/5)

In questo caso la likelihood e quindi la log-likelihood
valgono:
giovedì 26 novembre 2009
Mixture-Model (4/5)

In questo caso la likelihood e quindi la log-likelihood
valgono:
giovedì 26 novembre 2009
Mixture-Model (4/5)

In questo caso la likelihood e quindi la log-likelihood
valgono:
Solo un termine della sommatoria è
diverso da zero…
giovedì 26 novembre 2009
Mixture-Model (5/5)

Per quanto evidenziato possiamo semplificare
l’espressione della log-likelihood:
giovedì 26 novembre 2009
Mixture-Model (5/5)

Per quanto evidenziato possiamo semplificare
l’espressione della log-likelihood:

Questa espressione è aleatoria perché contiene le
variabili aleatorie
Si può soltanto massimizzarne il valore atteso

giovedì 26 novembre 2009
Expectation-Maximization (1/11)
giovedì 26 novembre 2009
Expectation-Maximization (1/11)

Questo algoritmo di clustering viene utilizzato per stimare i
parametri del mixture-model che è alla base di un dataset
giovedì 26 novembre 2009
Expectation-Maximization (1/11)


Questo algoritmo di clustering viene utilizzato per stimare i
parametri del mixture-model che è alla base di un dataset
L’algoritmo migliora iterativamente il valore atteso della loglikelihood del mixture-model e con esso la stima dei parametri
dei modelli
giovedì 26 novembre 2009
Expectation-Maximization (1/11)



Questo algoritmo di clustering viene utilizzato per stimare i
parametri del mixture-model che è alla base di un dataset
L’algoritmo migliora iterativamente il valore atteso della loglikelihood del mixture-model e con esso la stima dei parametri
dei modelli
È caratterizzato da due passi:
giovedì 26 novembre 2009
Expectation-Maximization (1/11)



Questo algoritmo di clustering viene utilizzato per stimare i
parametri del mixture-model che è alla base di un dataset
L’algoritmo migliora iterativamente il valore atteso della loglikelihood del mixture-model e con esso la stima dei parametri
dei modelli
È caratterizzato da due passi:

Expectation: nel quale si effettua un assegnamento “soft” delle istanze
ai cluster (si calcola la probabilità che un’istanza appartenga ad un
cluster)
giovedì 26 novembre 2009
Expectation-Maximization (1/11)



Questo algoritmo di clustering viene utilizzato per stimare i
parametri del mixture-model che è alla base di un dataset
L’algoritmo migliora iterativamente il valore atteso della loglikelihood del mixture-model e con esso la stima dei parametri
dei modelli
È caratterizzato da due passi:


Expectation: nel quale si effettua un assegnamento “soft” delle istanze
ai cluster (si calcola la probabilità che un’istanza appartenga ad un
cluster)
Maximization: nel quale si utilizzano gli assegnamenti del passo
precedente per stimare, in maniera pesata in base alla probabilità di
appartenenza di un’istanza al cluster, i parametri dei modelli
giovedì 26 novembre 2009
Expectation-Maximization (1/11)



Questo algoritmo di clustering viene utilizzato per stimare i
parametri del mixture-model che è alla base di un dataset
L’algoritmo migliora iterativamente il valore atteso della loglikelihood del mixture-model e con esso la stima dei parametri
dei modelli
È caratterizzato da due passi:



Expectation: nel quale si effettua un assegnamento “soft” delle istanze
ai cluster (si calcola la probabilità che un’istanza appartenga ad un
cluster)
Maximization: nel quale si utilizzano gli assegnamenti del passo
precedente per stimare, in maniera pesata in base alla probabilità di
appartenenza di un’istanza al cluster, i parametri dei modelli
Si iterano Expectation e Maximization fino alla convergenza dei
parametri che si stanno stimando
giovedì 26 novembre 2009
Expectation-Maximization (2/11)
Passo Expectation (g-ma iterazione)

Si definisce la funzione:
giovedì 26 novembre 2009
Expectation-Maximization (2/11)
Passo Expectation (g-ma iterazione)

Si definisce la funzione:

Questa è funzione dei parametri θ, ed il valore atteso
è calcolato a partire dalle stime dell’iterazione
precedente sui dati di training
giovedì 26 novembre 2009
Expectation-Maximization (3/11)
{Expectation}

L’espressione della funzione Q può essere riscritta
come:
giovedì 26 novembre 2009
Expectation-Maximization (3/11)
{Expectation}

L’espressione della funzione Q può essere riscritta
come:
giovedì 26 novembre 2009
Expectation-Maximization (3/11)
{Expectation}

L’espressione della funzione Q può essere riscritta
come:
per definizione di valore atteso
giovedì 26 novembre 2009
Expectation-Maximization (3/11)
{Expectation}

L’espressione della funzione Q può essere riscritta
come:
per definizione di valore atteso
Responsibility: è la probabilità che sia stata la distribuzione k a generare
l’istanza i, considerando corretti i parametri stimati all’iterazione precedente
giovedì 26 novembre 2009
Expectation-Maximization (4/11)
{Expectation}

Valendo la relazione P(A,B|C)=P(A|B,C)P(B|C)
possiamo scrivere che:
giovedì 26 novembre 2009
Expectation-Maximization (4/11)
{Expectation}

Valendo la relazione P(A,B|C)=P(A|B,C)P(B|C)
possiamo scrivere che:
Probabilità a priori che venga scelta la
distribuzione k: la mixing probability
giovedì 26 novembre 2009
Expectation-Maximization (4/11)
{Expectation}

Valendo la relazione P(A,B|C)=P(A|B,C)P(B|C)
possiamo scrivere che:
Probabilità a priori che venga scelta la
distribuzione k: la mixing probability
giovedì 26 novembre 2009
Expectation-Maximization (5/11)
Passo Maximization (g-ma iterazione)

Si devono individuare i valori di θ affinché venga
massimizzata la funzione Q, ovvero:

Per far questo calcoliamo le derivate parziali della
funzione Q rispetto a tutti i parametri θ e le poniamo a
zero
giovedì 26 novembre 2009
Expectation-Maximization (6/11)
{Maximization di gaussiane}

La massimizzazione deve rispettare i seguenti
vincoli:

Utilizziamo, quindi, i moltiplicatori di Lagrange:
giovedì 26 novembre 2009
Expectation-Maximization (6/11)
{Maximization di multinomiali}

La massimizzazione deve rispettare i seguenti
vincoli:

Utilizziamo, quindi, i moltiplicatori di Lagrange:
giovedì 26 novembre 2009
Expectation-Maximization (6/11)
{Maximization di multinomiali}

La massimizzazione deve rispettare i seguenti
vincoli:

Utilizziamo, quindi, i moltiplicatori di Lagrange:
giovedì 26 novembre 2009
Expectation-Maximization (6/11)
{Maximization di multinomiali}

La massimizzazione deve rispettare i seguenti
vincoli:

Utilizziamo, quindi, i moltiplicatori di Lagrange:
giovedì 26 novembre 2009
Expectation-Maximization (6/11)
{Maximization di multinomiali}

La massimizzazione deve rispettare i seguenti
vincoli:

Utilizziamo, quindi, i moltiplicatori di Lagrange:
giovedì 26 novembre 2009
Expectation-Maximization (7/11)
{Maximization}
Calcolo delle mixing probability:
giovedì 26 novembre 2009
Expectation-Maximization (8/11)
{Maximization}

Derivando l’espressione mostrata:
giovedì 26 novembre 2009
Expectation-Maximization (8/11)
{Maximization}

Derivando l’espressione mostrata:
giovedì 26 novembre 2009
Expectation-Maximization (8/11)
{Maximization}

Derivando l’espressione mostrata:
giovedì 26 novembre 2009
Expectation-Maximization (8/11)
{Maximization}

Derivando l’espressione mostrata:
giovedì 26 novembre 2009
Expectation-Maximization (8/11)
{Maximization}

Derivando l’espressione mostrata:
giovedì 26 novembre 2009
Expectation-Maximization (8/11)
{Maximization}

Derivando l’espressione mostrata:
giovedì 26 novembre 2009
Expectation-Maximization (8/11)
{Maximization}

Derivando l’espressione mostrata:
giovedì 26 novembre 2009
Expectation-Maximization (9/11)
{Maximization di gaussiane}
Calcolo dei parametri
delle gaussiane:
giovedì 26 novembre 2009
Expectation-Maximization
(10/11)

Derivando l’espressione
mostrata:
giovedì 26 novembre 2009
Expectation-Maximization (9/11)
{Maximization di multinomiali}
Calcolo dei parametri delle multinomiali:
giovedì 26 novembre 2009
Expectation-Maximization (10/11)
{Maximization}

Derivando l’espressione mostrata:
giovedì 26 novembre 2009
Expectation-Maximization (10/11)
{Maximization}

Derivando l’espressione mostrata:
giovedì 26 novembre 2009
Expectation-Maximization (11/11)

Ricapitolando
 Expectation:
 Maximization:
giovedì 26 novembre 2009
Expectation-Maximization (11/11)

Ricapitolando
 Expectation:
 Maximization:
giovedì 26 novembre 2009
Expectation-Maximization (11/11)

Ricapitolando
 Expectation:
 Maximization:
giovedì 26 novembre 2009
Expectation-Maximization (11/11)

Ricapitolando
 Expectation:
 Maximization:
giovedì 26 novembre 2009
giovedì 26 novembre 2009
giovedì 26 novembre 2009
giovedì 26 novembre 2009
giovedì 26 novembre 2009
giovedì 26 novembre 2009
giovedì 26 novembre 2009
giovedì 26 novembre 2009
giovedì 26 novembre 2009
Inizializzazione (1/14)


EM ha necessita di una inizializzazione
Come in tutte le tecniche di hill climbing, il risultato
dipende fortemente dalla scelta del punto iniziale
giovedì 26 novembre 2009
Scelta del numero di cluster (1/12)



EM, come altri algoritmi di clustering, richiede in input
il numero di cluster in cui clusterizzare il dataset di
training
Si possono sfruttare tecniche per la stima del numero
di cluster da utilizzare
Ci sono vari approcci:
 Deterministici:
come ad esempio i metodi basati
sull’information theory tipo MML e MDL, ed altri;
 Stocastici: come ad esempio la cross-validazione, ed altri;
giovedì 26 novembre 2009
Scelta del numero di cluster (2/12)




L’approccio utilizzato in questo lavoro e quello della
cross-validazione
Di certo non si può utilizzare la sola likelihood sui dati
di training per stimare il numero di cluster
Infatti più cluster si utilizzano più i dati verranno fittati
meglio (la log-likelihood dei dati di training è una
funzione crescente nel numero di cluster utilizzati)
Disponendo di un dataset indipendente da quello di
training per effettuare solamente test, la sua loglikelihood potrebbe risultare utile
giovedì 26 novembre 2009
Scelta del numero di cluster (3/12)


Supponiamo di avere un dataset
per il training,
ed un altro dataset,
, per effettuare il testing
Supponiamo che sia
la “vera” distribuzione alla
base dei due dataset
giovedì 26 novembre 2009
Scelta del numero di cluster (3/12)




Supponiamo di avere un dataset
per il training,
ed un altro dataset,
, per effettuare il testing
Supponiamo che sia
la “vera” distribuzione alla
base dei due dataset
Poniamo
la distribuzione che EM
ha ricavato a partire dal dataset di training utilizzando
k cluster
Con la notazione
indichiamo i parametri
stimati da EM utilizzando k cluster
giovedì 26 novembre 2009
Scelta del numero di cluster (4/12)

La funzione
indica la likelihood dei parametri stimati rispetto al
dataset di training (è una funzione crescente di k)
giovedì 26 novembre 2009
Scelta del numero di cluster (4/12)

La funzione
indica la likelihood dei parametri stimati rispetto al
dataset di training (è una funzione crescente di k)

La funzione
indica la likelihood dei parametri stimati rispetto al
dataset di test; indica quanto verosimilmente le
istanze del dataset di test provengano dalla
distribuzione stimata
giovedì 26 novembre 2009
Scelta del numero di cluster (5/12)

La log-likelihood relativa è:

che è una funzione di k fissati i restanti parametri ed
il dataset di training
Questa funzione, intuitivamente, dovrebbe risultare
più utile nella stima del numero corretto di cluster.
Mostriamo che ciò è vero…
giovedì 26 novembre 2009
Scelta del numero di cluster (6/12)

Poniamo opportunamente:

che è l’opposto della log-likelihood per istanza
Calcoliamone il valore atteso:
giovedì 26 novembre 2009
Scelta del numero di cluster (6/12)

Poniamo opportunamente:

che è l’opposto della log-likelihood per istanza
Calcoliamone il valore atteso:
sono variabili aleatorie
che provengono tutte
dalla stessa
distribuzione
, quella
“vera”
giovedì 26 novembre 2009
Scelta del numero di cluster (7/12)

Sostituiamo
giovedì 26 novembre 2009
con
ed otteniamo:
Scelta del numero di cluster (7/12)

Sostituiamo
con
ed otteniamo:
è indipendente da k, e
misura l’entropia della
distribuzione
giovedì 26 novembre 2009
Scelta del numero di cluster (7/12)

Sostituiamo
con
ed otteniamo:
è indipendente da k, e
misura l’entropia della
distribuzione
distanza di Kullback-Leibler, misura la distanza fra due distribuzioni;
è sempre positiva e vale zero quando le distribuzioni coincidono
giovedì 26 novembre 2009
Scelta del numero di cluster (8/12)



La log-likelihood del dataset di test, opportunamente
scalata, è una stima della distanza fra le due
distribuzioni, quella “vera” e quella ricavata da EM
Quasi mai si dispone di un ampio dataset di test
indipendente da quello di training
Si utilizzano ripetutamente porzioni del dataset di
training per effettuare il test: in questo caso si parla di
cross-validazione
giovedì 26 novembre 2009
Scelta del numero di cluster (9/12)
{cross-validazione}


Supponiamo che si effettui M volte la ripartizione del
dataset di training e sia la porzione utilizzata per il
calcolo della log-likelihood di test
La log-likelihood di cross-validazione è:
la media delle log-likelihood delle porzioni utilizzate
per il test
giovedì 26 novembre 2009
Scelta del numero di cluster (10/12)
{Monte Carlo Cross-Validation}





Ci sono vari approcci per fare cross-validazione, quello
utilizzato è la Monte Carlo Cross-Validation
Con questa metodologia il dataset di test viene ripetutamente
suddiviso in due parti, una per il training l’altra per il testing
Ad ogni iterazione di cross-validazione si provano tutti i
clustering con numero di cluster da 1 ad un valore massimo
fornito dall’utente
β indica la porzione di dataset da utilizzare per il testing
Sperimentalmente si è visto come valori di β pari a 0,5 ed M
compreso tra 20 e 50, siano buoni nella maggior parte dei casi
giovedì 26 novembre 2009
Riferimenti
[1] Trevor Hastie, Robert Tibshirani, and Jerome Friedman, The Elements of Statistical Learning:
Data Mining, Inference, and Prediction; Springer Series in Statistics. New York, NY: Springer
Verlag, 2001.
[2] Robert A. Adams, Calcolo Differenziale 2: Funzioni di più variabili; (seconda edizione). Milano,
Italy: Casa Editrice Ambrosiana, 2000.
[3] Padhraic Smyth, Clustering using Monte Carlo Cross-Validation, in E. Simoudis, J. Han, and
U. M. Fayyad, Proceedings of the Second International Conference on Knowledge Discovery
and Data Mining (KDD-96), Menlo Park, CA: AAAI Press, pp 126-133, 1996.
[4] Padhraic Smyth, Model Selection for Probabilistic Clustering using Cross-Validated
Likelihood, Technical Report UCI-ICS 98-09, Department of Information and Computer
Science, University of California, Irvine, CA, 1998.
[5] Thomas M. Cover, and Joy A. Thomas, Elements of Information Theory; Wiley Series in
Telecommunications. New York, NY: John Wiley & Sons, 1991.
giovedì 26 novembre 2009