(Этот ответ использует вторую ссылку, которую вы дали.)
Напомним определение вероятности:
где в нашем случае являются оценками вероятности того, что монеты A и B соответственно приземляются, являются результатами наших экспериментов, каждый состоит из 10 сальто, а
- монета, используемая в каждом эксперименте.θ = ( θ A , θ B ) X = ( X 1 , … , X 5 ) X i Z = ( Z 1 , … , Z 5 )
L[θ|X]=Pr[X|θ]=∑ZPr[X,Z|θ]
θ=(θA,θB)X=(X1,…,X5)XiZ=(Z1,…,Z5)
Мы хотим найти оценку максимального правдоподобия . Алгоритм Expectation-Maximization (EM) является одним из таких методов поиска (по крайней мере локального) . Он работает, находя условное ожидание, которое затем используется для максимизации . Идея состоит в том, что, непрерывно находя более вероятную (т.е. более вероятную)
на каждой итерации, мы будем постоянно увеличивать что, в свою очередь, увеличивает функцию правдоподобия. Перед тем, как приступить к разработке алгоритма на основе ЭМ, необходимо сделать три вещи. ; & thetas ; & thetasthetasPr[X,Z| θ]θ^θ^θθPr[X,Z|θ]
- Построить модель
- Вычислить условное ожидание по модели (E-Step)
- Увеличьте нашу вероятность, обновив нашу текущую оценку (M-Step)θ
Построить модель
Прежде чем мы продолжим работу с EM, нам нужно выяснить, что именно мы вычисляем. На шаге E мы вычисляем точно ожидаемое значение для . Так что же это за ценность на самом деле? Заметьте, что
Причина в том, что у нас есть 5 экспериментов, и мы не знаем, какая монета использовалась в каждом. Неравенство связано сlog Pr [ X , Z | θ ]logPr[X,Z|θ]журнал
журналPr [ X, Z| θ]= ∑я = 15журналΣС∈ { A , B }Pr [ Xя, Zя= C| θ]= ∑я = 15журналΣС∈ { A , B }Pr [ Zя= C| Икся, θ ] ⋅ Pr [ Xя, Zя= C| θ]Pr [ Zя= C| Икся, θ ]≥ ∑я = 15ΣС∈ { A , B }Pr [ Zя= C| Икся, θ ] ⋅ logPr [ Xя, Zя= C| θ]Pr [ Zя= C| Икся, θ ],
журналбудучи вогнутым и применяя неравенство Дженсена. Причина, по которой нам нужна эта нижняя граница, заключается в том, что мы не можем напрямую вычислить arg max для исходного уравнения. Однако мы можем вычислить его для окончательной нижней границы.
Теперь, что такое ? Это вероятность того, что мы видим монету учетом эксперимента и . Используя условные вероятности, мы имеемC X i θ Pr [ Z i = C | X i , θ ] = Pr [ X i , Z i = C | θ ]Pr [ Zя= C| Икся, θ ]СИксяθ
Pr [ Zя= C| Икся, θ ] = Pr [ Xя, Zя= C| θ]Pr [ Xя| θ],
Хотя мы добились определенного прогресса, мы еще не закончили с моделью. Какова вероятность того, что данная монета перевернула последовательность ? Пусть
Теперь , очевидно , только вероятность при обеих возможностях или . Поскольку имеем
h i = # головы в X i Pr [ X i , Z i = C | θ ] = 1Иксячася= # головы в Xя
Pr[Xi| θ]Zя=Zя=BPr[Zя=]=Pr[Zя=B]=1/2
Pr [ Xя, Zя= C| θ]= 12⋅ θчасяС( 1 - θС)10 - чя, Для C ∈ { A , B } .
Pr [ Xя| θ]Zя= AZя= BPr [ Zя= A ] = Pr [ Zя= В ] = 1 / 2Pr [ Xя| θ]=1 / 2⋅(Pr[ Xя| Zя= A , θ ] + Pr [ Xя| Zя= B , θ ] ) .
E-Step
Ладно ... это было не так весело, но мы можем начать делать кое-какую работу сейчас. Алгоритм EM начинается с некоторого случайного предположения для . В этом примере мы имеем . Мы вычисляем
Это значение совпадает с тем, что есть в статье. Теперь мы можем вычислить ожидаемое количество голов в из монеты ,
Делая то же самое для монеты мы получаем,
θθ0=(0.6,0.5)
Pr[Z1=A|X1,θ]=1/2⋅(0.65⋅0.45)1/2⋅((0.65⋅0.45)+(0.55⋅0.55))≈0.45.
X1=(H,T,T,T,H,H,T,H,T,H)AE[#heads by coin A|X1,θ]=h1⋅Pr[Z1=A|X1,θ]=5⋅0.45≈2.2.
BE[#heads by coin B|X1,θ]=h1⋅Pr[Z1=B|X1,θ]=5⋅0.55≈2.8.
Мы можем вычислить то же самое для количества хвостов, подставив для . Это продолжается для всех других значений и . Благодаря линейности ожидания мы можем вычислить
h110−h1Xihi 1≤i≤5E[#heads by coin A|X,θ]=∑i=15E[#heads by coin A|Xi,θ]
М-Шаг
Теперь, когда у нас есть ожидаемые значения, наступает этап М, на котором мы хотим максимизировать
учетом ожидаемых значений. Это делается простой нормализацией!
Точно так же для . Этот процесс начинается снова с E-шага и и продолжается до тех пор, пока значения для сходятся (или до некоторого допустимого порога). В этом примере у нас есть 10 итераций и . На каждой итерации значение
увеличивается из-за лучшей оценкиθ
θ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.
Bθ1θθ^=θ10=(0.8,0.52)Pr[X,Z|θ]θ .
Теперь в этом случае модель была довольно упрощенной. Все может стать намного сложнее довольно быстро, однако алгоритм EM всегда будет сходиться и всегда будет давать оценку максимального правдоподобия . Это может быть локальная оценка, но чтобы обойти это, мы можем просто перезапустить EM-процесс с другой инициализацией. Мы можем делать это постоянное количество раз и сохранять лучшие результаты (т. Е. Те, которые имеют наивысшую конечную вероятность).θ^