En las aplicaciones del mundo real del aprendizaje automático, es muy común que haya muchas características relevantes disponibles para el aprendizaje, pero solo un pequeño subconjunto de ellas es observable. Entonces, para las variables que a veces son observables y otras no, podemos usar las instancias en las que esa variable es visible y se observa con el fin de aprender y luego predecir su valor en las instancias en las que no es observable.
Por otro lado, el algoritmo de maximización de expectativas también se puede usar para las variables latentes (variables que no son directamente observables y que en realidad se infieren de los valores de las otras variables observadas) para predecir sus valores con la condición de que la forma general Conocemos la distribución de probabilidad que rige esas variables latentes. Este algoritmo está en realidad en la base de muchos algoritmos de agrupación en clústeres no supervisados en el campo del aprendizaje automático.
Fue explicado, propuesto y recibió su nombre en un artículo publicado en 1977 por Arthur Dempster, Nan Laird y Donald Rubin. Se utiliza para encontrar los parámetros locales de máxima verosimilitud de un modelo estadístico en los casos en que están involucradas variables latentes y los datos faltan o están incompletos.
Algoritmo:
- Dado un conjunto de datos incompletos, considere un conjunto de parámetros iniciales.
- Paso de expectativa (E – paso): Utilizando los datos disponibles observados del conjunto de datos, estimar (adivinar) los valores de los datos faltantes.
- Paso de maximización (M – paso): Los datos completos generados después del paso de expectativa (E) se utilizan para actualizar los parámetros.
- Repita los pasos 2 y 3 hasta la convergencia.
La esencia del algoritmo de maximización de expectativas es usar los datos observados disponibles del conjunto de datos para estimar los datos que faltan y luego usar esos datos para actualizar los valores de los parámetros. Comprendamos el algoritmo EM en detalle.
- Inicialmente, se considera un conjunto de valores iniciales de los parámetros. Se entrega al sistema un conjunto de datos observados incompletos con la suposición de que los datos observados provienen de un modelo específico.
- El siguiente paso se conoce como «Expectativa»: paso o paso E. En este paso, usamos los datos observados para estimar o adivinar los valores de los datos faltantes o incompletos. Básicamente se utiliza para actualizar las variables.
- El siguiente paso se conoce como paso de «Maximización» o paso M. En este paso, utilizamos los datos completos generados en el paso anterior «Expectativa» para actualizar los valores de los parámetros. Se utiliza básicamente para actualizar la hipótesis.
- Ahora, en el cuarto paso, se verifica si los valores están convergiendo o no, si es así, entonces deténgase, de lo contrario, repita los pasos 2 y 3, es decir, «Expectativa» – paso y «Maximización» – paso hasta que se produzca la convergencia.
Diagrama de flujo para el algoritmo EM –
Uso del algoritmo EM –
- Se puede utilizar para completar los datos que faltan en una muestra.
- Se puede utilizar como base del aprendizaje no supervisado de clústeres.
- Se puede utilizar con el fin de estimar los parámetros del modelo oculto de Markov (HMM).
- Se puede utilizar para descubrir los valores de las variables latentes.
Ventajas del algoritmo EM –
- Siempre se garantiza que la probabilidad aumentará con cada iteración.
- El paso E y el paso M a menudo son bastante fáciles para muchos problemas en términos de implementación.
- Las soluciones a los pasos M a menudo existen en forma cerrada.
Desventajas del algoritmo EM –
- Tiene convergencia lenta.
- Sólo hace convergencia a los óptimos locales.
- Requiere ambas probabilidades, hacia adelante y hacia atrás (la optimización numérica requiere solo probabilidad hacia adelante).