Aplicando a maximização da expectativa a exemplos de sorteio

18

Ultimamente, tenho estudado a Maximização de Expectativas e peguei alguns exemplos simples no processo:

A partir daqui : Há três moedas c0 , c1 e c2 com p0 , p1 e p2 a respectiva probabilidade de aterragem na cabeça quando atiradas. Atire c0 . Se o resultado for Cabeça, jogue c1 três vezes, depois jogue c2 três vezes. Os dados observados produzidos por c1 e c2 são assim: HHH, TTT, HHH, TTT, HHH. Os dados ocultos são o resultado de c0 . Estimativa p0 ,p1 ep2 .

E a partir daqui : Há duas moedas cA e cB com pA e pB sendo a respectiva probabilidade de aterragem na cabeça quando jogou. Cada rodada, selecione uma moeda aleatoriamente e jogue-a dez vezes; registre os resultados. Os dados observados são os resultados do sorteio fornecidos por essas duas moedas. No entanto, não sabemos qual moeda foi selecionada para uma rodada específica. Estimado pA e pB .

Embora eu possa obter os cálculos, não posso relacionar as maneiras como eles são resolvidos com a teoria EM original. Especificamente, durante o M-Step de ambos os exemplos, não vejo como eles estão maximizando alguma coisa. Parece que eles estão recalculando os parâmetros e, de alguma forma, os novos parâmetros são melhores que os antigos. Além disso, os dois E-Steps nem se parecem, sem mencionar o E-Step da teoria original.

Então, como exatamente esses exemplos funcionam?

IcySnow
fonte
No primeiro exemplo, quantas instâncias do mesmo experimento temos? No segundo exemplo, o que é a lei de "selecionar uma moeda aleatoriamente"? Quantas rodadas observamos?
Raphael
Os arquivos PDF que eu vinculei já resolvem esses dois exemplos passo a passo. No entanto, eu realmente não entendo o algoritmo EM usado.
IcySnow
@IcySnow, você entende o conceito de expectativa e expectativa condicional de uma variável aleatória?
Nicholas Mancuso
Entendo a expectativa básica de uma variável aleatória e probabilidade condicional. No entanto, não estou familiarizado com a expectativa condicional, sua derivada e estatística suficiente.
IcySnow

Respostas:

12

(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|θ]

  1. Construa o modelo
  2. Calcular expectativa condicional no modelo (E-Step)
  3. 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 | θ ]logPr[X,Z|θ]registro

logPr[X,Z|θ]=i=15logC{A,B}Pr[Xi,Zi=C|θ]=i=15logC{A,B}Pr[Zi=C|Xi,θ]Pr[Xi,Zi=C|θ]Pr[Zi=C|Xi,θ]i=15C{A,B}Pr[Zi=C|Xi,θ]logPr[Xi,Zi=C|θ]Pr[Zi=C|Xi,θ].
logsendo 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[Zi=C|Xi,θ]C θ Pr [ Z i = C | X i , θ ] = Pr [ X i , Z i = C | θ ]Xiθ

Pr[Zi=C|Xi,θ]=Pr[Xi,Zi=C|θ]Pr[Xi|θ].

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 | θ ] = 1Xihi=#heads in Xi Pr[Xi| θ]Zi=AZi=BPr[Zi=A]=Pr[Zi=B]=1/2

Pr[Xi,Zi=C|θ]=12θChi(1θC)10hi,  for  C{A,B}.
Pr[Xi|θ]Zi=AZi=BPr[Zi=A]=Pr[Zi=B]=1/2
Pr[Xi|θ]=1/2(Pr[Xi|Zi=A,θ]+Pr[Xi|Zi=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.6,0.5)

Pr[Z1=A|X1,θ]=1/2(0.650.45)1/2((0.650.45)+(0.550.55))0.45.
X1=(H,T,T,T,H,H,T,H,T,H)A
E[#heads by coin A|X1,θ]=h1Pr[Z1=A|X1,θ]=50.452.2.
B
E[#heads by coin B|X1,θ]=h1Pr[Z1=B|X1,θ]=50.552.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 h110h1Xihi 1i5
E[#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θ

θA1=E[#heads over X by coin A|X,θ]E[#heads and tails over X by coin A|X,θ]=21.321.3+9.60.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).θ^

Nicholas Mancuso
fonte
Se alguma peça não estiver clara, posso tentar expandi-la também.
Nicholas Mancuso
Fica muito mais claro agora. O que realmente não entendo é por que o número esperado de cabeças da moeda A foi calculado como: E [# cabeças da moeda A | X1, θ] = h1⋅Pr [Z1 = A | X1, θ] = 5⋅0,45 .22,2? O problema mencionado no primeiro PDF é mais complicado. Se você não se importa, também pode fazer alguns cálculos ilustrativos? Muito obrigado pela sua resposta.
precisa saber é o seguinte
@IcySnow, na medida em que a expectativa é calculada: . O motivo é que você pode pensar em haver outra variável aleatória do indicador se A foi usado. A expectativa de computação sobre as variáveis ​​indicadoras é simples, a probabilidade desse evento. E[# heads by coin A|X1,θ]=# heads in X1Pr[Z1=A|X1,θ]=5Pr[Z1=A|X1,θ]
Nicholas Mancuso
Desculpe pela resposta lenta. Graças a você, agora posso realmente entender a lógica por trás dos dois exemplos de moedas, depois de analisar sua resposta várias vezes. Há uma última coisa que quero perguntar sobre esta questão: O exemplo a partir da página 8 deste slide cs.northwestern.edu/~ddowney/courses/395_Winter2010/em.ppt mostra que, no M-Step, precisamos calcular primeiro a derivada da função de probabilidade de log e use-a para maximizar a expectativa. Por que não há algo assim nos exemplos M-Steps dos exemplos de sorteio? Porque esses M-Steps não parecem maximizar nada
IcySnow 28/03
Estou confuso com a primeira equação exibida depois de "Construindo o modelo". Você pode explicar de onde veio isso? Parece-me com , então a soma interna é 1 para cada , então todo o lado direito torna-se zero. Tenho certeza de que estou perdendo alguma coisa - você pode explicar o raciocínio sobre como chegou a essa equação? iPr[Zi=A|Xi,θ]+Pr[Zi=B|Xi,θ]=1i
DW