HK07 – Les 9
Het “Expectation-Maximization” Algoritme voor Clustering, HMMs, en Motief-Ontdekking
Yves Moreau
3de Jr. Burg. Ir. Elektrotechniek
Dataverwerking & Automatisatie
2001-2002
2
Overzicht
Het algemene “Expectation-Maximization” algoritme
EM clustering
EM interpretatie van het Baum-Welch leeralgoritme voor HMMs
MEME voor motief-ontdekking
3
Clustering met Gaussiaanse mengeling
C
1C
2C
34
Gaussiaanse verdelingen
Univariate Gaussiaanse verdeling
Multivariate Gaussiaanse verdeling
Isotrope Gaussianse verdeling =
2I
Eenheidscovariantie = I, diagonale covariantie =
( )
( )
2 exp 1
det )
2 ( ) 1 ,
; ( )
(
/2 1/2
1
x x
x N x
p
d T2
2 1
2 ) 1
,
; ( )
(
x
e x
N x
p
22 2
/ 2 Iso
exp 2 )
2 ( ) 1 ,
; ( )
(
x
x N
x
p
d5
Mengeling van Gaussiaanse verdelingen
i.i.d. gegevens
Gaussiaanse componenten
Mengeling
Maximum aannemelijkheidsschatting
Niet-geobserveerde gegevens
Ni
x
ip D
p
1
)
| ( )
|
(
Ki
i
x
iN i
C P x
p
1
) ,
; ( )
| (
)
|
(
) ,
; ( )
,
|
( x C i N x
i ip
)
| ( ln max
*
arg
P D
)
|
( C j
P
6
Het algemene EM algoritme
7
EM algoritme
Maximum aannemelijkheidschatting
Laten we veronderstellen dat wij een algoritme hebben dat de aannemelijkheid probeert te optimaliseren
Laten we kijken naar de verandering van de
aannemelijkheid tussen twee iteraties van het algoritme )
| ( ln max arg
)
| ( max
*
arg
P D
P D
)
| (
)
| ln (
)
| ( ln )
| ( ln )
,
(
1 1 1i i i
i i
i
P D
D D P
P D
P
* 1
algoritme
0
i
i D
8
EM algoritme
De aannemelijkheid is vaak moeilijk te berekenen
We gebruiken een generatief model gebaseerd op niet- geobserveerde gegevens
We proberen dan de niet-geobserveerde gegevens uit te integreren
De verwachte waarde kan een integraal of een som zijn
)
| (
)
| , ln (
) ,
(
1 | 1i i m
i
i
P D
m D P E
m i
m
P D m P D m P m d
E
|( , |
1) ( | , ) ( | )
m i
m
P D m P D m P m
E
|( , |
1) ( | , ) ( | )
9
EM algoritme
Gemakkelijkheidshalve werken we met een som
Probleem : uitdrukking bevat het logaritme van een som
Ongelijkheid van Jensen
)
| (
)
| ( ) ,
| ( ln
) , (
1 1
1
i m
i i
i
i
P D
m P m
D P
j j
j j
j j j
j
1 ln y ln y
10
EM algoritme
Toepassing van de ongelijkheid van Jensen
Dit geeft een ondergrens voor de variatie van de aannemelijkheid
) ,
| (
) ,
| ( )
| (
)
| , ( ln
) , (
1 1
i i i
m
i i
i
P m D
D m P D
P
m D P
) ,
| ( )
| (
)
| , ln (
) ,
| ( )
,
(
1 1i i
i m
i i
i
P D P m D
m D D P
m
P
) , (
)
| ( ln )
| (
ln P D
i1 P D
i
i1
i11
EM algoritme
Laten we proberen de variatie te maximalizeren )
,
| ( )
| (
)
| , ln (
) ,
| ( )
, (
i m i
i
i
P D P m D
m D D P
m
P
))
| , ( (ln max
arg )
( max
arg
)
| , ( ln ) ,
| ( max
arg
) ,
| ( )
| (
)
| , ln (
) ,
| ( max
arg
) ,
( max arg
EM
EM | ,
EM
EM EM
EM EM
EM 1
m D P E
Q
m D P D
m P
D m P D
P
m D D P
m P
i
i mD
m
i
i m i
i i
i
onafhankelijk van
12
Optimalisatiestrategie van EM
)
| (
ln P D
) ( )
| (
ln EM
EM
Q i
D
P i
EM
i
iEM1 )| (
ln P D
iEM )| (
ln P D
iEM113
Convergentie van het EM algoritme
Aanmelijkheid stijgt monotoon
Evenwichtspunt * van EM is maximum van lnP(D|
)+ (,
)
Dus * moet een stationair punt van de aannemelijkheid zijn
Geen garantie op globaal optimum (vaak locale optima)
In sommige gevallen is het stationair punt geen maximum )
| ( ln )
| ( ln
0 )
, (
) ,
(
EM EM
1
EM max EM
EM EM
1
i i
i i
i i
D P D
P
14
Waarom EM?
EM dient om een maximum aannemelijkheidsoplossing te vinden
Dit kan ook bereikt worden via gradient descent
Maar vaak is het berekenen van de gradienten van de aannemelijkheid P(D|) moeilijk
Door de introductie van de niet-geobserveerde
gegevens in het EM algoritme is het vaak gemakkelijker
om de Expectation stap te berekenen
15
Veralgemeende EM
Het is niet absoluut nodig om Q() te maximaliseren na de Expectation stap
Indien Q(
) Q(
) kan convergentie bereikt worden
Dit is het veralgemeende EM
Dit algoritme wordt toegepast wanneer het resultaat van
de Expectation stap te complex is om rechtsstreeks te
maximaliseren
16
EM clustering
17
EM clustering
Isotrope Gaussiaanse mengeling
Niet-geobserveerde gegevens
EM algoritme
)
| , ( ln ) ,
| ( max
arg
) ( max
arg
EM EM
1 EM
m D P D
m P Q
m
i
i i
Ki
i
x
iN i
C P x
p
1
) ,
; ( )
| (
)
|
(
)
|
( C j
P
18
EM clustering
Expectation stap
Nn
K
j
n i
n
p x C j P C j
x j C
P Q
i1 1
EM
) ln ( | , ). ( | )
,
| (
)
EM
(
N
n
K
j j
j n
j i
n
K K
d x j
C P x
j C
P Q
i1 1 2
2 EM
1 1
2 Ct ln
)
| (
ln ) ,
| (
) ,...,
; ,...,
( with
) (
EM
19
Optimalisatie met Lagrange vermenigvuldiger
Beperking
Lagrange vermenigvuldiger
j
j C
P ( | ) 1
K Q j
K Q j
K j j
C P
Q
j C
P Q
Q
j j
j
,..., 1 alle
voor ) 0
~ (
,..., 1 alle
voor ) 0
~ (
,..., 1 alle
voor ) 0
| (
)
~ (
1 )
| (
) ( )
~ (
20
Lagrange vermenigvuldiger
Eliminatie van de Lagrange vermenigvuldiger en
schatting van de waarschijnlijkheid van ieder component
j j
C P x
j C
P
j C
P x
j C
P
j C
P
x j C
P
K j j
C P
Q
j
i
j n
i n
i n
i n
n i
i n
i
over som
)
| (
) ,
| (
termen de
van ng
herverdeli
)
| (
) ,
| (
afgeleide partiele
(*) ) 0
| (
) ,
| (
,..., 1 alle
voor ) 0
| (
)
~ (
1 1
1
1
21
Lagrange vermenigvuldiger
Vervolg
(*) in e substituti
) ,
| 1 (
)
| (
1 uitkomsten alle
over som
sommen de
van inversie
)
,
| (
1
n
i n i
n j
i n
x j C
N P j
C P
N
x j C
P
22
Lagrange vermenigvuldiger
Schatting van nieuwe s
n
i n n
n i i n
j
n i
j
i j n
i n j
x j C
P
x x
j C
P x x j C
P
K Q j
i
) ,
| (
) ,
| (
2 0
) (
) 2 ,
| (
,..., 1 alle
voor ) 0
~ (
1
1 2
1
1
23
Lagrange vermenigvuldiger
Schatting van nieuwe s
n
i n
i j n
n
i i n
j
n i
j i
j n
i j i
n j
x j C
P
x x
j C
P d
d x x
j C
P
K Q j
i
) ,
| (
) ,
| 1 (
2 0 2 .
) ,
| (
,..., 1 alle
voor ) 0
~ (
1 1 2
1 3 1
1
1
24
EM clustering
Initialisatie : random parameters
0
Iteratie
Einde : wanneer parameters zijn geconvergeerd of maximum aantal iteraties is bereikt
n
i n i
n
i n n
i j n
i n i
j
n
i n n
n i n i
j
x j C N P
j C P
x j C P
x x
j C P d
x j C P
x x
j C P
) ,
| 1 (
)
| (
) ,
| (
) ,
| 1 (
) ,
| (
) ,
| (
1
1 2 1
1
25
Practische aspecten van EM clustering
K-means is een harde versie van EM met Gaussiaanse mengeling met eenheidscovariantie
Lokale minima zijn vaak een reel probleem voor EM, dus een goede initialisatie kan veel helpen
Clusters in sparse gebieden kunnen collapsen op een unieke datapunt
De variantie van de cluster gaat naar nul en de aannemelijkheid wordt oneindig
Dit is onaanvaardbaar
Te kleine clusters worden gepruned en vervangen door nieuwe random initialisatie
26
Practische aspecten van EM clustering
Na schatting van het model, kan clustering gedaan worden via “soft assignment” of “hard assignment”
Keuze van het aantal clusters is een moeilijke vraag
EM clustering mogelijk voor diagonale covariantie ; meestal onmogelijk voor volledige covariantiematrix omwille van het te groot aantal parameters
EM clustering mogelijk voor andere distributies uit de exponentiele familie
Implementaties
AutoClass
mclust
27
Baum-Welch algoritme
28
Verborgen Markov model
A .8 C 0 G 0 T .2
A 0 C .8 G .2 T 0
A .8 C .2 G 0 T 0
A 1 C 0 G 0 T 0
A 0 C 0 G .2 T .8
A 0 C .8 G .2 T 0 A .2
C .4 G .2 T .2
1.0 1.0
.6
.4
.6 .4
1.0 1.0
Sequentiescore
0472 0
8 0 1 8 0 1 1 6 0 4 0
6 0 8 0 1 8 0 1 8 0 )
(
.
. .
. .
. .
. .
P
ACACATC
Transitiewaarschijnlijkheden
Emissiewaarschijnlijkheden
29
Verborgen Markov model
In een verborgen Markov model, observeren wij de symboolsequentie x maar we willen de verborgen toestandsequentie (het pad ) reconstrueren
Transitiewaarschijnlijkheden
Emissiewaarschijnlijkheden
Gezamenlijke waarschijnlijkheid van sequentie en pad )
|
( l
1k
P
a
kl
i
i
)
| (
)
( b P x b k
e
k
i
i
Li
i i i
i
x a
e a
x P
1
0 1
( )
1) ,
(
30
Het voorwaartse algoritme
Het voorwaartse algoritme laat toe de waarschijnlijkheid P(x) van een sequentie te schatten t.o.v. van een verborgen Markov model
Dit is belangrijk voor het berekenen van posterior
waarschijnlijkheden en voor het vergelijken van Markov modellen
De som over alle paden (exponentieel veel) kan berekend worden via dynamish programmeren
Laten we fk(i) definieren als de waarschijnlijkheid van de sequentie voor de paden die in toestand k eindigen bij symbool i
Dan kunnen we deze waarschijnlijkheid recursief berekenen als
) , ( )
( x P x
P
) ,
,..., (
)
( i P x
1x k
f
k
i
i
k
kl k
i l
l
i e x f i a
f ( 1 ) (
1) ( )
31
Het achterwaartse algoritme
Het achterwaartse algoritme laat toe de waarschijnlijkheid te
berekenen van de gehele sequentie gezamenlijk met de conditie dat symbool xi in toestand k zit
Dit is belangrijk om de waarschijnlijkheid van een bepaalde toestand op symbool xi te berekenen
P(x1,...,xi,i=k) kan berekend worden via voorwaartse algoritme fk(i)
Laten we bk(i) definieren als de waarschijnlijkheid van de rest van de sequentie voor de paden die in toestand k door symbool xi passeren
)
| ,...,
( ) ,
,..., (
) ,
,...,
| ,...,
( ) ,
,..., (
) ,
(
1 1
1 1
1
k x
x P k x
x P
k x
x x
x P k x
x P k
x P
i L
i i
i
i i L
i i
i i
)
| ,...,
( )
( i P x
1x k
b
k
i L
i
32
EM interpretatie van Baum-Welch
Wij willen de parameters van het verborgen Markov model (transitiewaarschijnlijkheden en
emissiewaarschijnlijkheden) schatten die de
aannemelijkheid van de sequentie(s) maximaliseren
Niet-geobserveerde gegevens = paden :
EM algoritme
)
| ( max
*
arg
P x
)
| , ( ln ) ,
| ( max
arg
) ( max
arg
EM EM
1 EM
x P x
P Q
i
i i
) , ( )
( x P x
P
33
EM interpretatie van Baum-Welch
Laten we de functie Q verder uitwerken
Het generatieve model geeft de gezamenlijke waarschijnlijkheid van de sequentie en het pad
Definieer het aantal keer een bepaalde transitie gebruikt wordt voor een gegeven pad
Definieer het aantal keer een bepaalde emissie geobserveerd wordt voor een gegeven sequentie en een gegeven pad
)
| , ( ln ) ,
| ( )
(
P x P x
Q
ii
) ( A
kl)
,
( b
E
k34
EM interpretatie van Baum-Welch
De gezamenlijke waarschijnlijkheid van sequentie en pad kan geschreven worden als
Door het logaritme te nemen wordt de functie Q
Mk
M
l
A kl M
k b
b E
k
b
ka
le x
P
0 1
) ( 1
) ,
)
(( )
| ,
(
M
k
M
l
kl kl
M
k b
k k
i
E b e b A a
x P
Q
i0 1 1
ln ) ( )
( ln ) , ( )
,
| ( )
(
35
EM interpretatie van Baum-Welch
Definieer het verwachte aantal keer dat een transitie gebruikt wordt (onafhankelijk van het pad)
Definieer het verwachte aantal keer dat een emissie geobserveerd wordt (onafhankelijk van het pad)
| , ) ( )
(
i klkl
P x A
A
| , ) ( , ) (
)
( b P x E b
E
k i k36
EM interpretatie van Baum-Welch
Voor de functie Q hebben we
Aangezien P(x,|) onafhankelijk is van k en b, kunnen we de sommen herschikken en kunnen we de definities van A
klen E
k(b) gebruiken
Nu moeten wij Q maximaliseren t.o.v. : a
kl, e
k(b)
M
k
M
l
kl kl
M
k b
k k
i
E b e b A a
x P
Q
i0 1 1
ln ) ( )
( ln ) , ( )
,
| ( )
(
Mk
M
l
kl kl
M
k b
k
k
b e b A a
E Q
i0 1 1
ln )
( ln ) ( )
(
37
EM interpretatie van Baum-Welch
Laten we kijken naar de A term
Laten we de volgende candidaat definieren voor het optimum
Laten we vergelijken met andere parameter keuzes
m
km kl
kl
A
a
0A
M
k
M
l kl
kl kl M
m
km M
k
M
k
M
l kl
kl kl
M
l
kl kl
M
k
M
l
kl kl
a a a
A
a A a
a A
a A
0 1
0 0
1
0 0 1
0
1 0 1
0
ln ln
ln
ln
38
EM interpretatie van Baum-Welch
Laatste som heeft de vorm van een relatieve entropie en is dus altijd positief
Dus onze candidaat maximaliseert de A term
Identieke procedure voor de E term 0
ln
1
0
0
Ml kl
kl kl
a a a
' 0
) ' (
) ) (
(
b
k k k
b E
b b E
e
39
EM interpretatie van Baum-Welch
Baum-Welch
Expectation stap
Bereken verwacht aantal keer dat een transitie gebruikt wordt
Bereken verwacht aantal keer dat een emissie geobserveerd wordt
Gebruik hiervoor de voorwaartse en achterwaartse algoritmen
Maximization stap
Update de parameters met de genormalizeerde tellingen
| , ) ( )
(
i klkl
P x A
A
| , ) ( , ) (
)
( b P x E b
E
k i k
' 1
) ' (
) ) (
(
b
k i k
k
E b
b b E
e
m
km i kl
kl
A
a
1A
40
Samenvatting
Het abstracte “Expectation-Maximization” algoritme
EM clustering