HK07 – Les 10 Expectation-Maximization en Gibbs
Sampling voor Motief-Ontdekking
Yves Moreau 3de Jr. Burg. Ir. Elektrotechniek Dataverwerking & Automatisatie 2001-2002
2
Overzicht
Lagrange vermenigvuldigers voor EM clustering
EM interpretatie van het Baum-Welch leeralgoritme voor HMMs
MEME voor motief-ontdekking
Gibbs sampling voor motief-ontdekking
3
Expectation-Maximization
)
| (
ln P D
) ( )
| (
ln EM
EM
Q i
D
P i
EM
i iEM1 )
| (
ln P D iEM )
| (
ln P D iEM1
)
| , ( ln ) ,
| ( max
arg
) ( max
arg
EM EM
1 EM
m D P D
m P Q
m
i
i i
)
| ( ln max
* arg
P D
4
Baum-Welch algoritme
5
Verborgen Markov model
.8
0
0
.2
0
.8
.2
0
.8
.2
0
0
1
0
0
0
0
.2
.8
0
.8
.2
0
.2
.4
.2
.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
6
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 1 k
P
akl i i
)
| (
)
(b P x b k
ek i i
L
i
i i i
i x a
e a
x P
1
0 1 ( ) 1
) ,
(
7
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 x1 x k
fk i i
k
kl k
i l
l i e x f i a
f ( 1) ( 1) ( )
8
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 1 x k
bk i L i
9
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
10
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 i
i
) ( Akl
) , (b Ek
11
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
M
k
M
l
A kl M
k b
b E
k b k a kl
e 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 i
0 1 1
ln ) ( )
( ln ) , ( )
,
| ( )
(
12
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 kl
kl P x A
A
| , ) ( , ) (
)
(b P x E b
Ek i k
13
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 Akl en Ek(b) gebruiken
Nu moeten wij Q maximaliseren t.o.v. : akl, ek(b)
M
k
M
l
kl kl
M
k b
k k
i E b e b A a
x P
Q i
0 1 1
ln ) ( )
( ln ) , ( )
,
| ( )
(
M
k
M
l
kl kl
M
k b
k
k b e b A a
E Q i
0 1 1
ln )
( ln ) ( )
(
14
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
a0 A
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
15
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
16
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 kl
kl P x A
A
| , ) ( , ) (
)
(b P x E b
Ek i k
' 1
) ' (
) ) (
(
b
k i k
k E b
b b E
e
m
km i kl
kl A
a 1 A
17
Motief-ontdekking
18
Combinatoriele controle
Complexe integratie van meerdere signalen bepaalt genactiviteit
19
2 . 0 05 . 0 9
. 0 05 . 0 04 . 0 05 . 0 05 . 0 1 . 0
4 . 0 9
. 0 05 . 0 9
. 0 03 . 0 05 . 0 04 . 0 2 . 0
2 . 0 02 . 0 01 . 0 01 . 0 8
. 0 1
. 0 9
. 0 4 . 0
2 . 0 03 . 0 04 . 0 04 . 0 03 . 0 8
. 0 01 . 0 3 . 0
NCACGTGN
: l
Motiefmode 11,, ,,4W
T G C A
28 . 0
24 . 0
16 . 0
32 . 0
dmodel Achtergron 1,0 ,4
T G C A
bg2 Motif bg1 0
,...,
1 , )
,
|
(S a P P P
P
Pa W
W
j j ba j
P
1
Motif 1
L
W a
j bj
Pbg2 0
1
1 0 bg1
a j
bj
P
Sequentiemodel : één occurrentie per sequentie
20
Iteratieve motief-ontdekking
Initialisatie
Sequenties
Random motiefmatrix
Iteratie
Sequentiescoring
Aligneringupdate
Motief-instanties
Motiefmatrix
Einde
Convergentie van de alignering en van de motiefmatrix
21
Iteratieve motief-ontdekking
Initialisatie
Sequenties
Random motiefmatrix
Iteratie
Sequentiescoring
Aligneringupdate
Motief-instanties
Motiefmatrix
Einde
Convergentie van de alignering en van de motiefmatrix
22
Iteratieve motief-ontdekking
Initialisatie
Sequenties
Random motiefmatrix
Iteratie
Sequentiescoring
Aligneringupdate
Motief-instanties
Motiefmatrix
Einde
Convergentie van de alignering en van de motiefmatrix
23
Iteratieve motief-ontdekking
Initialisatie
Sequenties
Random motiefmatrix
Iteratie
Sequentiescoring
Aligneringupdate
Motief-instanties
Motiefmatrix
Einde
Convergentie van de alignering en van de motiefmatrix
24
Iteratieve motief-ontdekking
Initialisatie
Sequenties
Random motiefmatrix
Iteratie
Sequentiescoring
Aligneringupdate
Motief-instanties
Motiefmatrix
Einde
Convergentie van de alignering en van de motiefmatrix
25
Iteratieve motief-ontdekking
Initialisatie
Sequenties
Random motiefmatrix
Iteratie
Sequentiescoring
Aligneringupdate
Motief-instanties
Motiefmatrix
Einde
Convergentie van de alignering en van de motiefmatrix
26
Iteratieve motief-ontdekking
Initialisatie
Sequenties
Random motiefmatrix
Iteratie
Sequentiescoring
Aligneringupdate
Motief-instanties
Motiefmatrix
Einde
Convergentie van de alignering en van de motiefmatrix
27
Iteratieve motief-ontdekking
Initialisatie
Sequenties
Random motiefmatrix
Iteratie
Sequentiescoring
Aligneringupdate
Motief-instanties
Motiefmatrix
Einde
Convergentie van de alignering en van de motiefmatrix
28
Multiple EM for Motif Elicitation
(MEME)
29
MEME
Expectation-Maximization
Gegevens = verzameling van sequenties
Aannemelijkheid = “één occurrentie per sequentie” model
Parameters = motiefmatrix + achtergrondmodel
Ontbrekende gegevens = alignering
( | , ) ( | )
ln ) ,
| ( max
arg EM
EM
1
P a D P D a P aa
i
i
N k
L W a
i b
W i
i b a
i b
k
k
ik kk i
a k
ik
a D P
1
0 1
1
1
0 ln ln
ln )
,
| (
ln 1
30
MEME
Sequentiescoring (per sequentie)
Prior
Sequentiescoring
L
q
q P q
S P
a P a
S S P
a P
1
)
| ( ) ,
| (
)
| ( ) ,
| ) (
,
| (
a L
P 1
)
|
(
L
q
q S P
a S S P
a P
1
) ,
| (
) ,
| ) (
,
| (
31
MEME
Expectation
Maximalisatie – intuitief
Als we maar één alignering hadden
Achtergrondmodel : geobserveerde frequenties op achtergrond posities
Motiefmatrix : geobserveerde
frequenties op overeenkomstige posities
Over alle mogelijke aligneringen
Gewogen som via
) ,
| ( ln ) ( )
( EM
EM
W a P D a
Q
a i
i
) (
EM a
Wi
32
Gibbs sampling
33
Monte-Carlo Markov Chain methoden
Markovketens kunnen gebruikt worden om uit complexe verdelingen te bemonsteren
Markovketen met transitiematrix T
Laten we kijken naar de transitie na twee tijdstappen
)
|
(X 1 j X i P
Tij t t
T T T
T T
i X k X
P k X
j X
P
i X k X
P i X k X
j X
P i
X j X
P T
S k
kj ik S k
t t
t t
S k
t t
t t
t t
t ij
.
)
| (
)
| (
)
| (
) ,
| (
)
| (
) 2 (
1 1
1 1
2 1
1 1
2 2
) 2 (
34
Monte-Carlo Markov Chain methoden
Stationaire verdeling
Als de monsters volgens gegenereerd worden, zullen de monsters op het volgende tijdstip ook volgens gegenereerd worden
Evenwichtsverdeling
Rijen van P zijn stationaire verdelingen
Vanuit een willekeurige initiele conditie, na voldoende stappen (burn-in) zijn de opeenvolgende toestanden van een Markov keten monsters uit een stationaire verdeling
T
T T
T T T
T T
n n
n n
lim 1
lim
35
Gibbs sampling
Markov keten voor Gibbs sampling
Gibbs sampling voor motief-ontdekking
Sequentie per sequentie
) ,
| ( )
,
| ( )
,
| ( )
, ,
(A B C P A B C P B A C P C A B
P
sequenties
sposities alignering
ix motiefmatr
) ,
| ( )
,
| ( )
| , (
S A
S A
P S
A P
S A P
) ,
| ( )
,
|
( 1 i i i
K
i P a S
S A
P
36
2 . 0 05 . 0 9
. 0 05 . 0 04 . 0 05 . 0 05 . 0 1 . 0
4 . 0 9
. 0 05 . 0 9
. 0 03 . 0 05 . 0 04 . 0 2 . 0
2 . 0 02 . 0 01 . 0 01 . 0 8
. 0 1
. 0 9
. 0 4 . 0
2 . 0 03 . 0 04 . 0 04 . 0 03 . 0 8
. 0 01 . 0 3 . 0
NCACGTGN
: l
Motiefmode 11,, ,,4W
T G C A
28 . 0
24 . 0
16 . 0
32 . 0
dmodel Achtergron 1,0 ,4
T G C A
bg2 Motif bg1 0
,...,
1 , )
,
|
(S a P P P
P
Pa W
W
j j ba j
P
1
Motif 1
L
W a
j bj
Pbg2 0
1
1 0 bg1
a j
bj
P
Sequentiemodel : één occurrentie per sequentie
37
Collapsed Gibbs sampler
Collapsing
Algoritme
Initialiseert aligneringsvector (1 positie per sequentie)
Voor alle sequenties
Verberg huidige sequentie
Bouw motief op uit alle sequenties but huidige
Score huidige sequentie
Trek nieuwe aligneringsvector
Stop na stabilisatie van het motief
) ,
| ( )
,
| (
)
| ( ) ,
| ( )
| , (
S A
P S
A P
S A P S A P
S A P
2 . 0 05 . 0 9
. 0 05 . 0 04 . 0 05 . 0 05 . 0 1 . 0
4 . 0 9
. 0 05 . 0 9
. 0 03 . 0 05 . 0 04 . 0 2 . 0
2 . 0 02 . 0 01 . 0 01 . 0 8
. 0 1
. 0 9
. 0 4 . 0
2 . 0 03 . 0 04 . 0 04 . 0 03 . 0 8
. 0 01 . 0 3 . 0
NCACGTGN
: model Motif
T G C
A ( | ... )
model Background
2
1 j j m
j
j b b b
b
P
i Motif i
bg bg
z x
z
P P P
T M x S P P
0
) , ,
| (
W
j b
j Motif
j
q x
P
1
1
x
m j
m j j
j m
bg P b b P b b b
P
1
1 1
0 ( ,..., ) ( | ... )
L
w x j
m j j
j i
bg P b b b
P
1
1... )
| (
39
INCLUSive
Integrated Clustering, Upstream sequence retrieval, and motif Sampling
INCLUSive
http://www.esat.kuleuven.ac.be/~dna/BioI/Software.html
40
Overzicht
Lagrange vermenigvuldigers voor EM clustering
EM interpretatie van het Baum-Welch leeralgoritme voor HMMs
MEME voor motief-ontdekking
Gibbs sampling voor motief-ontdekking