learning finite mixture-models
Post on 19-Jan-2016
57 Views
Preview:
DESCRIPTION
TRANSCRIPT
Learning finite Mixture-Models
Giuseppe Manco
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
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
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:
L θ |X( ) =P X |θ( ) = p xi |θ( )
i=1
N
∏ Dove θ rappresenta il vettore di tutti i parametri della
distribuzione
1 2, , , NX x x x
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:
11
log | log | log |N N
i iii
X p x p xθ θ θ
L
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 è:
1
M
k kk
p x p x
k Dove è la probabilità che venga scelta la k-ma
distribuzione, e prende il nome di mixing probability, e è la k-ma distribuzione
kp x
Model-Based Clustering
Clustering basato su modelli probabilisticiSi assume che dati siano distribuiti secondo
un mix di funzioni di densità Per ogni funzione i parametri non sono noti
EM Bayesian clustering
Finite Mixture Models
K
k
kcpp1
),()( xx
Finite Mixture Models
)()|(
),()(
1
1
k
K
k
k
K
k
k
cpcp
cpp
x
xx
Finite Mixture Models
p(x) px,ckk=1
K
∑
px|ckk=1
K
∑ pck
px|ck,θkk=1
K
∑ k
Finite Mixture Models
p(x) px,ckk=1
K
∑
px|ckk=1
K
∑ pck
px|ck,θkk=1
K
∑ k
Pesok
Modellok Parametrik
Esempio: Mistura di Gaussiane
Gaussian mixtures:
p(x) px|ck,θkk=1
K
∑ k
Esempio: Mistura di Gaussiane
Gaussian mixtures:
p(x) px|ck,θkk=1
K
∑ k
Ogni componente è una densità gaussiana con media kcovarianza k
Example: Mixture of Gaussians
Gaussian mixtures:
p(x) px|ck,θkk=1
K
∑ k
Ogni componente è una densità gaussiana con media ke covarianza k
Esempio: K=2, 1-dim:
{Θ,Ρ} = {1, 1 , 2, 2 , 1, π2}
-5 0 5 100
0.1
0.2
0.3
0.4
0.5
Component 1 Component 2p(
x)
-5 0 5 100
0.1
0.2
0.3
0.4
0.5
Mixture Model
x
p(x)
-5 0 5 100
0.1
0.2
0.3
0.4
0.5
Component 1 Component 2p(
x)
-5 0 5 100
0.1
0.2
0.3
0.4
0.5
Mixture Model
x
p(x)
-5 0 5 100
0.5
1
1.5
2
Component Modelsp(
x)
-5 0 5 100
0.1
0.2
0.3
0.4
0.5
Mixture Model
x
p(x)
Esempio: Mixture di Naïve Bayes
p(x) px|ck,θkk=1
K
∑ k
p(x) px|ck,θkk=1
K
∑ k
d
j
kjkk cxpcp1
, )|()|( θx
Esempio: Mixture di Naïve Bayes
p(x) px|ck,θkk=1
K
∑ k
d
j
kjkk cxpcp1
, )|()|( θx
Indipendenza condizionale perogni componente
Esempio: Mixture di Naïve Bayes
Mixtures di Naïve Bayes
1 1 1 1
1 1 1 11
1
1 1 1
1
11
1 1 1
1
1
1
1 1
1
1
11 1 1
1
1
1
1
1
1
1
1 1 1
1
1
1
Termini
Documenti
Mixtures di Naïve Bayes
1 1 1 1
1 1 1 11
1
1 1 1
1
11
1 1 1
1
1
1
1 1
1
1
11 1 1
1
1
1
1
1
1
1
1 1 1
1
1
1
Termini
Documenti
1
1
1
1
Componente 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
c
kc
Nel nostro caso, quindi, i dati che osserviamo sono nella forma: , dove è il numero di eventi di classe c per l’istanza i
1 2, , , Si i i ix n n n c
in
1
1
1
!
| 1,!
ci
Sj
i S nj kk i ik k cS
j ci
j
n
p x yn
θ
La probabilità di osservare una particolare istanza generata da una distribuzione multinomiale è:
Esempio: Mixtures di multinomiali
Mixture-Model (2/5)
La log-likelihood in questo caso vale:
1
11
1 1
log | log |
log |
log |
N
ii
N M
k k i kki
N M
k k i ki k
X p x
p x
p x
θ θ
θ
θ
L
Sommatoria dentro il logaritmo!
Questa funzione risulta molto complessa da ottimizzare…
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.
iky
iky
1
1, 1, ,M
ikk
y i N
Queste variabili soddisfano la condizione:
Mixture-Model (4/5)
In questo caso la likelihood e quindi la log-likelihood valgono:
L θ |X,Y( ) =P X,Y |θ( ) = yik pk xi , yik =1,θk( )
k=1
M
∑i=1
N
∏
log L θ |X,Y( )( ) =log yik pk xi , yik =1,θk( )k=1
M
∑i=1
N
∏⎛
⎝⎜⎞
⎠⎟
= log yik pk xi , yik =1,θk( )k=1
M
∑⎛
⎝⎜⎞
⎠⎟i=1
N
∑
Solo un termine della sommatoria è diverso da zero…
Mixture-Model (5/5)
Per quanto evidenziato possiamo semplificare l’espressione della log-likelihood:
log L θ |X,Y( )( ) = yik log pk xi , yik =1,θk( )( )
k=1
M
∑i=1
N
∑
Questa espressione è aleatoria perché contiene le variabili aleatorie
Si può soltanto massimizzarne il valore attesoiky
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 log-likelihood 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
Expectation-Maximization (2/11)
Passo Expectation (g-ma iterazione)
Si definisce la funzione:
1 1, log | , | ,g gQ E X Y Xθ θ θ θ L
Questa è funzione dei parametri θ, ed il valore atteso è calcolato a partire dalle stime dell’iterazione precedente sui dati di training
Expectation-Maximization (3/11){Expectation}
L’espressione della funzione Q può essere riscritta come:
Q θ,θ g−1( )( ) =E yik log pk xi |yik =1,θk( ) k( ) |X,θ
g−1( )
k=1
M
∑i=1
N
∑⎡⎣⎢
⎤
⎦⎥
= E yik |xi ,θkg−1( )⎡
⎣⎤⎦log pk xi |yik =1,θk( ) k( )
k=1
M
∑i=1
N
∑
1 1 1
1
| , 1 1 | , 0 0 | ,
1| ,
g g gik i k ik i k ik i k
g gik i k ik
E y x p y x p y x
p y x
θ θ θ
θ
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
Expectation-Maximization (4/11){Expectation}
Valendo la relazione P(A,B|C)=P(A|B,C)P(B|C) possiamo scrivere che:
1
1
1
1 1
1 1
1
, 1|| ,
|
1| | 1,
1| | 1,
gi ikg g
ik ik i gi
g gik k i ik
Mg g
ij j i ijj
p x yE y x
p x
p y p x y
p y p x y
θ θ
θ
θ θ
θ θ
Probabilità a priori che venga scelta la distribuzione k: la mixing probability
1 11|g gk ikp y θ
Expectation-Maximization (5/11)
Passo Maximization (g-ma iterazione)
Si devono individuare i valori di θ affinché venga massimizzata la funzione Q, ovvero:
1arg max ,g gQθ
θ θ θ
Per far questo calcoliamo le derivate parziali della funzione Q rispetto a tutti i parametri θ e le poniamo a zero
Expectation-Maximization (6/11){Maximization di gaussiane}
La massimizzazione deve rispettare i seguenti vincoli:
1
1M
kk
Utilizziamo, quindi, i moltiplicatori di Lagrange:
1,1log
1,,
1
)(
1 1
)(
1
)()1(
M
j
gj
N
i
M
kkikik
gik
M
j
gj
g
yxp
Qf
θ
θθθ
Expectation-Maximization (6/11){Maximization di multinomiali}
La massimizzazione deve rispettare i seguenti vincoli:
1
1M
kk
1
1 1, ,S
kj
j
k M
Utilizziamo, quindi, i moltiplicatori di Lagrange:
1
1 1 1
1 1 1 1 1
, , 1 1
log | 1, 1 1
M M Sg g gp
j p tj p t
N M M M Sg g gp
ik k i ik k j p ti k j p t
f Q
p x y
θ θ θ
θ
Expectation-Maximization (7/11){Maximization}
Calcolo delle mixing probability:
1 1 1 1 1
, ...
, 1|log 1 1
N M M M Sg g gi ik k p
ik j p ti k j p tk
f
p x y
θ
θ
Expectation-Maximization (8/11){Maximization}
Derivando l’espressione mostrata:
1
1
1
,... 0
1
,1 0
gNir
gir r
Ng g
r iri
Mg
jj
f
f
θ
θ
1
1 1
Ng
irg i
r N Mg
iji j
1
1 1
... 1| , 1M M
g gij ij i
j j
p y x θ
1
1 Ng g
r iriN
Expectation-Maximization (9/11){Maximization di gaussiane}
Calcolo dei parametri delle gaussiane:
12
1log
...,
1
)(2
1 1
)(2 M
j
gj
xN
i
M
k
gik
i
e
f
θ
Expectation-Maximization (10/11){Maximization} Derivando l’espressione
mostrata:
θ
θθ
,
,
,
)(
)(
f
f
f
gk
gk
i
gik
gk
Tkiki
i
gik
gk
ii
gik
gk
N
xx
x
)()(
)()(
)()(
1
Expectation-Maximization (9/11){Maximization di multinomiali}
Calcolo dei parametri delle multinomiali:
1
1 1 1 1 1 1
1
, ...
!
log log 1 1!
Sj
iN M S M M Sjg g g gc k p
ik i c j p tSji k c j p t
ij
f
n
nn
θ
Expectation-Maximization (10/11){Maximization}
Derivando l’espressione mostrata:
1
1
,0
,1 0
g rNiz i
zz gzir r
Sgz
ttz
f n
f
θ θ
1
1 1
Ng r
iz igz i
r N Sg t
iz ii t
n
n
Expectation-Maximization (11/11)
Ricapitolando Expectation:
Maximization:
1 11 1
1
1 1 1 1
1 1 1
| 1,...
| 1,
ci
ci
S ng gk
g gk c
k k i ikg cik M SM n
g g g gjj j i ij j c
j j c
p x y
p x y
θ
θ
1
1 Ng g
k ikiN
1
1 1
Ng c
ik igk i
c N Sg t
ik ii t
n
n
3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7
3.8
3.9
4
4.1
4.2
4.3
4.4ANEMIA PATIENTS AND CONTROLS
Red Blood Cell Volume
Red
Blo
od C
ell H
emog
lobi
n C
once
ntra
tion
3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7
3.8
3.9
4
4.1
4.2
4.3
4.4
Red Blood Cell Volume
Re
d B
loo
d C
ell
He
mo
glo
bin
Co
nce
ntr
atio
n
EM ITERATION 1
3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7
3.8
3.9
4
4.1
4.2
4.3
4.4
Red Blood Cell Volume
Re
d B
loo
d C
ell
He
mo
glo
bin
Co
nce
ntr
atio
n
EM ITERATION 3
3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7
3.8
3.9
4
4.1
4.2
4.3
4.4
Red Blood Cell Volume
Re
d B
loo
d C
ell
He
mo
glo
bin
Co
nce
ntr
atio
n
EM ITERATION 5
3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7
3.8
3.9
4
4.1
4.2
4.3
4.4
Red Blood Cell Volume
Re
d B
loo
d C
ell
He
mo
glo
bin
Co
nce
ntr
atio
n
EM ITERATION 10
3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7
3.8
3.9
4
4.1
4.2
4.3
4.4
Red Blood Cell Volume
Re
d B
loo
d C
ell
He
mo
glo
bin
Co
nce
ntr
atio
n
EM ITERATION 15
3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7
3.8
3.9
4
4.1
4.2
4.3
4.4
Red Blood Cell Volume
Re
d B
loo
d C
ell
He
mo
glo
bin
Co
nce
ntr
atio
n
EM ITERATION 25
0 5 10 15 20 25400
410
420
430
440
450
460
470
480
490LOG-LIKELIHOOD AS A FUNCTION OF EM ITERATIONS
EM Iteration
Lo
g-L
ike
liho
od
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
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;
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 log-likelihood potrebbe risultare utile
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
trainXtestX p x
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
|k k trainp x Xθ
k trainXθ
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)
| |k ktrain train train trainX X P X Xθ θL
|k k trainp x Xθ
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
| |k ktrain test test trainX X P X Xθ θL
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…
log |ktest train testkl X Xθ L
Scelta del numero di cluster (6/12)
Poniamo opportunamente:
che è l’opposto della log-likelihood per istanza Calcoliamone il valore atteso:
1log |
testk train testk
ktest test
li X X
N Nθ L
1
1
1... log |
1log |
1... log |
test
test
testktest traink
ktest test
Nk k train
iitest
Nk k train
iitest
lE i E E P X X
N N
E p x XN
E p x XN
θ
θ
θ
sono variabili aleatorie che provengono tutte
dalla stessa distribuzione , quella “vera” p x
Scelta del numero di cluster (7/12)
Sostituiamo con ed otteniamo:ix x̂
1
1ˆlog |
1ˆlog |
ˆ ˆ ˆlog |
ˆ 1ˆ ˆ ˆ ˆ... log log
ˆˆ |
testNk k train
kitest
k k traintest
test
k k train
k k train
E i E p x XN
N E p x XN
p x p x X dx
p xp x dx p x dx
p xp x X
θ
θ
θ
θ
distanza di Kullback-Leibler, misura la distanza fra due distribuzioni; è sempre positiva e vale zero quando le distribuzioni coincidono
è indipendente da k, e misura l’entropia della distribuzione p x
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
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
iS
1
1
1log \ |
1log | \
Mkcv train
k i ii
Mk train
i ii
l X S SM
P S X SM
θ
θ
L
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
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.
[6] Pasquale Erto, Probabilità e Statistica per le scienze e l’ingegneria; collana di istruzione scientifica, serie di statistica. Milano, Italy, 1999.
[7] Ian H. Witten, and Eibe Frank (2005), Data Mining: Practical machine learning tools and techniques, (2nd Edition). San Francisco, CA: Morgan Kaufmann, 2005.
top related