Últimamente he estado estudiando la Maximización de Expectativas y obtuve algunos ejemplos simples en el proceso:
A partir de aquí : Hay tres monedas , y con , y la probabilidad respectiva para aterrizar en la cabeza cuando se arrojó. Lanzar . Si el resultado es Cabeza, tres veces, de lo contrario tres veces. Los datos observados producidos por y son así: HHH, TTT, HHH, TTT, HHH. Los datos ocultos son el resultado de . Estima , y .c 1 c 2 p 0 p 1 p 2 c 0 c 1 c 2 c 1 c 2 c 0 p 0 p 1 p 2
Y a partir de aquí : hay dos monedas y con y siendo la probabilidad respectiva de aterrizar en la Cabeza cuando se arrojan. Cada ronda, selecciona una moneda al azar y tírala diez veces; registra los resultados. Los datos observados son los resultados de lanzamiento proporcionados por estas dos monedas. Sin embargo, no sabemos qué moneda se seleccionó para una ronda en particular. Estime y .c B p A p B p A p B
Si bien puedo obtener los cálculos, no puedo relacionar las formas en que se resuelven con la teoría EM original. Específicamente, durante el M-Step de ambos ejemplos, no veo cómo están maximizando nada. Parece que están recalculando los parámetros y de alguna manera, los nuevos parámetros son mejores que los antiguos. Además, los dos E-Steps ni siquiera se parecen entre sí, sin mencionar el E-Step de la teoría original.
Entonces, ¿cómo funcionan exactamente estos ejemplos?
fuente
Respuestas:
(Esta respuesta utiliza el segundo enlace que le dio).
Queremos encontrar el estimador de máxima verosimilitud . El algoritmo Expectation-Maximization (EM) es uno de esos métodos para encontrar (al menos local) . Funciona al encontrar la expectativa condicional, que luego se utiliza para maximizar . La idea es que al encontrar continuamente una más probable (es decir, más probable) en cada iteración, aumentaremos continuamente que a su vez aumenta la función de probabilidad. Hay tres cosas que deben hacerse antes de seguir diseñando un algoritmo basado en EM. theta thetathetaPr[X,Z| θ]θ^ θ^ θ θ Pr[X,Z|θ]
Construye el modelo
Antes de seguir adelante con EM, necesitamos descubrir qué es exactamente lo que estamos computando. En el E-step estamos calculando exactamente el valor esperado para . Entonces, ¿cuál es este valor, realmente? Observe que La razón es que tenemos 5 experimentos para tener en cuenta, y no sabemos qué moneda se utilizó en cada uno. La desigualdad se debe alog Pr [ X , Z | θ ]logPr[X,Z|θ] Iniciar sesión
Ahora, ¿qué es ? Es la probabilidad de que veamos la moneda dado el experimento y . Usando probabilidades condicionales que tenemos,C X i θ Pr [ Z i = C | X i , θ ] = Pr [ X i , Z i = C | θ ]Pr [ Zyo= CEl | Xyo, θ ] C Xyo θ
Si bien hemos progresado, todavía no hemos terminado con el modelo. ¿Cuál es la probabilidad de que una moneda dada voltee la secuencia ? Dejar que Ahora es claramente sólo la probabilidad bajo las dos posibilidades de o . Como tenemos, h i = # cabezas en X i Pr [ X i , Z i = C | θ ] = 1Xyo hyo= # cabezas en Xyo
Pr[Xi| θ]Zi=AZi=BPr[Zi=A]=Pr[Zi=B]=1/2
E-Step
De acuerdo ... eso no fue tan divertido, pero podemos comenzar a hacer un poco de EM ahora. El algoritmo EM comienza haciendo una suposición aleatoria de . En este ejemplo tenemos . Calculamos Este valor se alinea con lo que está en el papel. Ahora podemos calcular el número esperado de en de la moneda , Haciendo lo mismo para la moneda , obtenemosθ θ0 0= ( 0.6 , 0.5 )
Paso M
Con nuestros valores esperados en la mano, ahora viene el paso M donde queremos maximizar dados nuestros valores esperados. Esto se hace por simple normalización! Asimismo para . Este proceso comienza nuevamente con el E-Step y y continúa hasta que los valores para convergen (o hasta algún umbral permitido). En este ejemplo tenemos 10 iteraciones y . En cada iteración, el valor de aumenta, debido a la mejor estimación deθ
Ahora, en este caso, el modelo era bastante simplista. Las cosas pueden complicarse mucho más rápidamente, sin embargo, el algoritmo EM siempre convergerá y siempre producirá un estimador de probabilidad máxima . Puede ser un estimador local , pero para evitar esto, simplemente podemos reiniciar el proceso EM con una inicialización diferente. Podemos hacer esto una cantidad constante de veces y retener los mejores resultados (es decir, aquellos con la mayor probabilidad final).θ^
fuente