(Esta resposta usa o segundo link que você forneceu.)
θ = ( θ 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)
Queremos encontrar o estimador de probabilidade máxima . O algoritmo Expectation-Maximization (EM) é um desses métodos para encontrar (pelo menos local) . Ele funciona encontrando a expectativa condicional, que é usada para maximizar . A idéia é que, ao encontrar continuamente um mais provável (ou seja, mais provável)
em cada iteração, aumentaremos continuamente que, por sua vez, aumenta a função de probabilidade. Há três coisas que precisam ser feitas antes de seguir adiante, projetando um algoritmo baseado em EM. q qqPr[X,Z| θ]θ^θ^θθPr[X,Z|θ]
- Construa o modelo
- Calcular expectativa condicional no modelo (E-Step)
- Maximize nossa probabilidade atualizando nossa estimativa atual de (M-Step)θ
Construir o modelo
Antes de avançarmos com o EM, precisamos descobrir exatamente o que estamos computando. Na etapa E, estamos computando exatamente o valor esperado para . Então, qual é esse valor, realmente? Observe que
O motivo é que temos cinco experimentos para explicar e não sabemos qual moeda foi usada em cada uma. A desigualdade é devido alog Pr [ X , Z | θ ]registroPr [ X, Z| θ]registro
registroPr [ X, Z| θ]= ∑i = 15registro∑C∈ { A , B }Pr [ XEu, ZEu= C| θ]= ∑i = 15registro∑C∈ { A , B }Pr [ ZEu= C| XEu, θ ] ⋅ Pr [ XEu, ZEu= C| θ]Pr [ ZEu= C| XEu, θ ]≥ ∑i = 15∑C∈ { A , B }Pr [ ZEu= C| XEu, θ ] ⋅ logPr [XEu,ZEu=C| θ]Pr [ZEu=C|XEu, θ ].
registrosendo côncavo e aplicando a desigualdade de Jensen. A razão pela qual precisamos desse limite inferior é que não podemos computar diretamente o arg max na equação original. No entanto, podemos calculá-lo para o limite inferior final.
Agora, o que é ? É a probabilidade de vermos a moeda dada a experiência e . Usando probabilidades condicionais, temos,CPr [ZEu=C|XEu, θ ]C θ Pr [ Z i = C | X i , θ ] = Pr [ X i , Z i = C | θ ]XEuθ
Pr [ZEu=C|XEu, θ ] = Pr [ XEu,ZEu=C| θ]Pr [XEu| θ].
Embora tenhamos feito algum progresso, ainda não terminamos o modelo. Qual é a probabilidade de uma determinada moeda a sequência ? Deixando
Agora é claramente apenas a probabilidade sob as duas possibilidades de ou . Como , temos,
h i = # cabeças em X i Pr [ X i , Z i = C | θ ] = 1XEuhEu= # entra XEu
Pr[Xi| θ]Zi=AZi=BPr[Zi=A]=Pr[Zi=B]=1/2
Pr [XEu,ZEu=C| θ]= 12⋅ θhEuC( 1 - θC)10 - hEu, para C∈ { A , B } .
Pr [ XEu| θ]ZEu= AZEu= BPr [ ZEu= A ] = Pr [ ZEu= B ] = 1 / 2Pr [ XEu| θ]=1 / 2⋅ ( Pr [ XEu| ZEu= A , θ ] + Pr [ XEu|ZEu= B , θ ] ) .
E-Step
Ok ... isso não foi tão divertido, mas podemos começar a trabalhar agora em EM. O algoritmo EM começa fazendo uma suposição aleatória para . Neste exemplo, temos . Calculamos
Esse valor está alinhado com o que está no papel. Agora podemos calcular o número esperado de cabeças em da moeda ,
Fazendo a mesma coisa pela moeda que obtemos,
θ 0θθ0 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.
Podemos calcular o mesmo para o número de caudas substituindo por . Isso continua para todos os outros valores de e . Graças à linearidade da expectativa, podemos descobrir
h110−h1Xihi 1≤i≤5E[#heads by coin A|X,θ]=∑i=15E[#heads by coin A|Xi,θ]
M-Step
Com nossos valores esperados em mãos, agora vem a etapa M em que queremos maximizar
considerando nossos valores esperados. Isso é feito por normalização simples!
Da mesma forma para . Esse processo começa novamente com o E-Step e e continua até os valores de convergirem (ou para algum limite permitido). Neste exemplo, temos 10 iterações e . Em cada iteração, o valor de
aumenta, devido à melhor estimativa deθ
θ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|θ]θ .
Agora, neste caso, o modelo era bastante simplista. As coisas podem ficar muito mais complicadas rapidamente, no entanto, o algoritmo EM sempre convergirá e sempre produzirá um estimador de probabilidade máxima . Pode ser um estimador local , mas para contornar isso, podemos simplesmente reiniciar o processo EM com uma inicialização diferente. Podemos fazer isso uma quantidade constante de vezes e manter os melhores resultados (ou seja, aqueles com a maior probabilidade final).θ^