Respuestas:
El algoritmo EM (maximización de expectativas) es un algoritmo general para la optimización de la función de probabilidad en los casos en que el modelo se especifica probabilísticamente en términos de un componente observado y no observado (latente). Los HMM (modelos ocultos de Markov) son modelos de esta forma porque tienen un componente no observado, los estados ocultos y las observaciones reales a menudo se denominan emisiones en la terminología HMM. Por lo tanto, los HMM forman una clase de modelos para los cuales el algoritmo EM puede ser útil.
En generel, si el modelo consta de dos componentes , que suponemos tomar valores en un espacio finito por simplicidad, y si la especificación del modelo probabilístico consiste en las probabilidades de punto conjunto , parametrizado por , entonces la probabilidad al observar solo es
El algoritmo EM tiene más sentido si los dos pasos anteriores se pueden implementar de una manera computacionalmente eficiente, por ejemplo, cuando tenemos expresiones de forma cerrada para la expectativa condicional y la maximización.
Históricamente, el algoritmo EM general se atribuye a Dempster, Laird y Rubin , quienes probaron en su artículo de 1977, entre otras cosas, que el algoritmo conduce a una secuencia de parámetros con valores de probabilidad monotónicamente crecientes. También acuñaron el término "algoritmo EM". Curiosamente, el algoritmo EM para HMM fue descrito ya en 1970 por Baum et al. , y también se conoce a menudo como el algoritmo de Baum-Welch en la literatura HMM (no sé exactamente qué hizo Welch ...).
La maximización de expectativas es un método iterativo utilizado para realizar inferencia estadística en una variedad de modelos estadísticos generativos diferentes, por ejemplo, una mezcla de gaussianos y otros modelos de tipo de red bayesiana. La única conexión es que los HMM también son redes bayesianas. Pero uno probablemente no usaría EM en HMM porque hay un algoritmo exacto para la inferencia dentro de HMM llamado algoritmo de Viterbi. Entonces, aunque uno podría usar EM para realizar inferencia en un HMM, no lo haría porque no hay razón para hacerlo.
En HMM, tratamos de estimar principalmente tres parámetros:
Las probabilidades de estado inicial. Este es un vector con elementos , donde es el número de estados.K
La matriz de transición. Esta es una matriz cuadrada de tamaño .
Las probabilidades condicionales de observar un ítem, condicionadas por algún estado. Esta también es una matriz de tamaño , donde es el número de observaciones.N
Ahora, la parte EM viene cuando intenta estimar las cantidades / parámetros indicados anteriormente. Comenzando con una suposición aleatoria, se evalúa la probabilidad de las observaciones y los parámetros se ajustan iterativamente hasta que obtengamos la máxima probabilidad. Entonces, a través de HMM, modelamos algunos procesos y para eso necesitamos introducir algunos parámetros. Para estimar los parámetros, se representa EM.
Esta es una respuesta muy breve. La implementación de EM requiere muchos otros subproblemas para resolver mediante una serie de técnicas. Para una comprensión profunda, se recomienda encarecidamente el tutorial clásico de Rabiner.