(Bu cevap verdiğiniz ikinci bağlantıyı kullanır.)
Olabilirlik tanımını hatırlayın:
bizim durumumuzda θ = ( θ A , θ B ) A ve B sikkelerinin sırasıyla kara kafaları olma olasılığı için tahmin edicilerdir, X = ( X 1 , … , X 5 ) deneylerimizin sonuçlarıdır, her biri
L[θ|X]=Pr[X|θ]=∑ZPr[X,Z|θ]
θ=(θA,θB)X=(X1,…,X5) ve 10 çevirir oluşan
Z = ( Z 1 , ... , Z, 5 )
her bir deney için kullanılan para olmak.
XiZ=(Z1,…,Z5)
Biz maksimum olabilirlik tahmincisi bulmak istediğiniz İçeride ISTV melerin RWMAIWi'nin . Beklenti-En (EM) algoritması (en azından yerel) bulmak için böyle bir yöntemdir İçeride ISTV melerin RWMAIWi'nin . Koşullu beklentiyi bularak çalışır ve daha sonra θ değerini maksimize etmek için kullanılır . Fikir sürekli daha olası bir (yani daha olası) bularak olmasıdır İçeride ISTV melerin RWMAIWi'nin
her tekrarında sürekli artacak Pr [ X , Z | θ ] sırayla, olasılık fonksiyonunu arttırır. EM tabanlı bir algoritma tasarlamadan önce yapılması gereken üç şey vardır.θ^θ^θθPr[X,Z|θ]
- Modeli oluşturun
- Model altında Koşullu Beklentiyi hesapla (E-Adım)
- Mevcut (M-Adımı) tahminimizi güncelleyerek olasılığımızı en üst düzeye çıkarınθ
Modeli Oluşturun
EM ile daha ileri gitmeden önce, tam olarak ne olduğunu hesaplamamız gerekir. E-adımında Pr [ X , Z | için tam olarak beklenen değeri hesaplıyoruz. θ ] . Peki bu değer nedir, gerçekten mi? Bu günlüğü izleyin
Pr [ X , Z | θ ]logPr[X,Z|θ]
logPr[X,Z|θ]=∑i=15log∑C∈{A,B}Pr[Xi,Zi=C|θ]=∑i=15log∑C∈{A,B}Pr[Zi=C|Xi,θ]⋅Pr[Xi,Zi=C|θ]Pr[Zi=C|Xi,θ]≥∑i=15∑C∈{A,B}Pr[Zi=C|Xi,θ]⋅logPr[Xi,Zi=C|θ]Pr[Zi=C|Xi,θ].
The reason is that we have 5 experiments to account for, and we don't know what coin
was used in each. The inequality is due to
log being concave and applying Jensen's inequality. The reason we need that lower bound is that we cannot directly compute the arg max to the original equation. However we can compute it for the final lower bound.
Now what is Pr[Zi=C|Xi,θ]? It is the probability
that we see coin C given experiment Xi and θ. Using conditional probabilities
we have,
Pr[Zi=C|Xi,θ]=Pr[Xi,Zi=C|θ]Pr[Xi|θ].
Xihi=#heads in Xi
Pr[Xi,Zi=C|θ]=12⋅θhiC(1−θC)10−hi, for C∈{A,B}.
Now
Pr[Xi|θ] is clearly just the probability under both possibilities of
Zi=A or
Zi=B.
Since
Pr[Zi=A]=Pr[Zi=B]=1/2 we have,
Pr[Xi|θ]=1/2⋅(Pr[Xi|Zi=A,θ]+Pr[Xi|Zi=B,θ]).
E-Step
Okay... that wasn't so fun but we can start doing some EM work now. The EM algorithm
begins by making some random guess for θ. In this example we have θ0=(0.6,0.5).
We compute
Pr[Z1=A|X1,θ]=1/2⋅(0.65⋅0.45)1/2⋅((0.65⋅0.45)+(0.55⋅0.55))≈0.45.
This value lines up with what is in the paper. Now we can compute the expected number of heads
in
X1=(H,T,T,T,H,H,T,H,T,H) from coin
A,
E[#heads by coin A|X1,θ]=h1⋅Pr[Z1=A|X1,θ]=5⋅0.45≈2.2.
Doing the same thing for coin
B we get,
E[#heads by coin B|X1,θ]=h1⋅Pr[Z1=B|X1,θ]=5⋅0.55≈2.8.
We can compute the same for the number of tails by substituting
h1 for
10−h1.
This continues for all other values of
Xi and
hi 1≤i≤5.
Thanks to linearity of expectation we can figure out
E[#heads by coin A|X,θ]=∑i=15E[#heads by coin A|Xi,θ]
M-Step
With our expected values in hand, now comes the M step where we want to maximize
θ given our expected values. This is done by simple normalization!
θ1A=E[#heads over X by coin A|X,θ]E[#heads and tails over X by coin A|X,θ]=21.321.3+9.6≈0.71.
Likewise for
B. This process begins again with the E-Step and
θ1 and continues until the values
for
θ converge (or to some alloweable threshold). In this example we have 10 iterations
and
θ^=θ10=(0.8,0.52). In each iteration the value of
Pr[X,Z|θ] increases, due to the better estimate of
θ.
Now in this case the model was fairly simplistic. Things can get much more complicated
pretty quickly, however the EM algorithm will always converge, and will always produce
a maxmimum likelihood estimator θ^. It may be a local estimator, but to
get around this we can just restart the EM process with a different initialization. We
can do this a constant amount of times and retain the best results (i.e., those with the
highest final likelihood).