나는 최근에 Expectation Maximization을 스스로 연구했고 그 과정에서 몇 가지 간단한 예를 들었습니다.
에서 여기에 세 동전이 있습니다
씨0,
씨1과
씨2와
피0,
피1과
피2던져 머리에 착륙 각각의 확률. 던
씨0졌습니다. 결과가 Head이면
씨13 번 던지거나 그렇지 않으면
씨23 번 던지십시오 .
씨1및 의해 생성 된 관찰 된 데이터는
씨2HHH, TTT, HHH, TTT, HHH와 같습니다. 숨겨진 데이터는 의 결과입니다
씨0. 추정
피0,
피1및
피2.
그리고에서 여기 : 두 개의 동전이 있습니다
씨ㅏ와
cB와
pA및
pB던져 때 머리에 착륙 각각의 확률 인가. 각 라운드마다 동전 하나를 무작위로 골라 10 번 던집니다. 결과를 기록하십시오. 관찰 된 데이터는이 두 코인이 제공 한 던지기 결과입니다. 그러나 특정 라운드에 어떤 동전이 선택되었는지는 알 수 없습니다.
pA와 추정합니다
p비.
계산을 할 수는 있지만 해결 방법을 원래 EM 이론과 연관시킬 수는 없습니다. 특히, 두 예제의 M-Step 중에는 어떻게 최대화하는지 알 수 없습니다. 매개 변수를 다시 계산하는 것처럼 보이며 어쨌든 새 매개 변수가 이전 매개 변수보다 낫습니다. 더욱이, 두 개의 E- 단계는 원래 이론의 E- 단계를 언급하지 않고 서로 비슷해 보이지 않습니다.
그렇다면이 예제들은 정확히 어떻게 작동합니까?
답변
(이 답변은 귀하가 제공 한 두 번째 링크를 사용합니다.)
θ = ( θ A , θ B ) X = ( X 1 , … , X 5 ) X i Z = ( Z 1 , … , Z 5 )
θ=(θA,θB)
X=(X1,…,X5)
Xi
Z=(Z1,…,Z5)
우리는 최대 우도 추정기 찾으려면 θ를 . 기대치 – 최대화 (EM) 알고리즘 (최소 로컬) 발견하는 하나의 이러한 방법 θ를 . 조건부 기대 값을 찾아서 작동하며 θ 를 최대화하는 데 사용됩니다 . 아이디어는
각 반복에서 더 가능성이 높은 (즉, 더 가능성이 높은) θ 를 지속적으로 찾아서 Pr [ X , Z
θ^
θ
θ
는 우도 함수를 증가시킵니다. EM 기반 알고리즘을 설계하기 전에 수행해야 할 세 가지가 있습니다.
홍보[엑스,지|θ]- 모델 구성
- 모델 하의 조건부 기대 계산 (E-Step)
- 현재 추정치를 업데이트하여 가능성을 극대화 (M-Step)
θ
모델 구성
EM을 계속 진행하기 전에 정확히 그것이 무엇인지 계산해야합니다. E- 단계에서는 . 이 값은 무엇입니까? 그
로그 Pr [ X , Z | θ ]
그 이유는 5 가지 실험이 있고 각 동전에 어떤 동전이 사용되었는지 모르기 때문입니다. 불평등은 가 오목하고 Jensen의 불평등을 적용 하기 때문 입니다. 하한이 필요한 이유는 원래 방정식에 대한 arg max를 직접 계산할 수 없기 때문입니다. 그러나 최종 하한값을 계산할 수 있습니다.
이제 ? 실험 X i 및 θ가 주어지면 코인 C를 볼 확률입니다 . 조건부 확률을 사용하여 Pr [ Z i = C | X i , θ ] = Pr [ X i , Z i = C | θ
홍보[지나는=씨|엑스나는,θ]씨
엑스나는
θ
우리는 약간의 진전을 이루었지만 아직 모델을 완성하지 못했습니다. 주어진 코인이 시퀀스 뒤집었을 확률은 얼마입니까? 시키는 시간 내가 = # 에서 헤드 X I 잠 [ X I , Z 난 = C를 | θ ] =
엑스나는h나는=#머리 엑스나는
이제Pr[Xi| θ]는Zi=A또는Zi=B의 두 가지 가능성 모두에서 확률 일뿐입니다. 이후잠이[Z난=A를]Z는전=
홍보[엑스나는|θ]
지나는=ㅏ
지나는=비
우리가,
잠 [ X I | θ ] = 1 / 2 ⋅ ( 잠이 [ X 난 | Z가 나는 = 를 , θ ] + 홍보 [ X 난 | Z는 전 = B는 , θ ] )
전자 단계
알았어 .. 재미 있지는 않았지만 이제 EM 작업을 시작할 수 있습니다. EM 알고리즘은 대해 임의의 추측을하는 것으로 시작합니다 . 이 예에서는 θ 0 = ( 0.6 , 0.5 ) 입니다. 우리는
Pr [ Z 1 = A | X 1 , θ ] = 1 / 2 ⋅ ( 0.6 5 ⋅ 0.4 5 )
θ0=(0.6,0.5)
이 값은 논문의 내용과 일치합니다. 이제동전A,
E에서X1=(H,T,T,T,H,H,T,H,T,H)에서예상 헤드 수를 계산할 수 있습니다
엑스1=(H,티,티,티,H,H,티,H,티,H)
ㅏ
= B우리가 얻는
동전 B에 대해 똑같은 일을한다.
E [ # 동전 B의 머리 | X 1 , θ ] = h 1 ⋅ Pr [ Z 1 | X 1 ,
비
h 1 을 10 – h 1
로 대체하여 꼬리 수에 대해 동일하게 계산할 수 있습니다. 이것은 X i 및 h i 1 ≤ i ≤ 5의 다른 모든 값에 대해 계속됩니다. 기대의 선형성 덕분에 우리는 동전 A로 E [ # 머리를 알아낼 수 있습니다
| X , θ ] = 5 ∑ i E [ # 동전 A 머리
h1
10−h1
엑스나는
h나는
1≤나는≤5
M 단계
θ
비
θ1
θ
θ^=θ10=(0.8,0.52)
홍보[엑스,지|θ]
θ
.
θ^