Tema
Modelos ocultos de Markov
- IA clásica
- Nivel intermedio
Un modelo oculto de Markov describe una secuencia de estados no observables que evolucionan con una matriz de transición, y de los que solo se ven emisiones ruidosas gobernadas por una matriz de observación.
Nombre en inglés
Hidden Markov models
Intuición
Conviene imaginar a alguien encerrado en una oficina sin ventanas que solo ve si los compañeros entran con paraguas. El clima es el estado oculto, el paraguas es la emisión, y la creencia sobre el clima de hoy se actualiza en dos pasos, ya que primero se predice a partir de la creencia de ayer y de la matriz de transición, y después se corrige multiplicando por la verosimilitud de lo observado y normalizando.
Fórmula
alfa_t(j) = P(o_t | s_j) * sum_i alfa_{t-1}(i) * P(s_j | s_i)
Ejemplo resuelto
Los estados son lluvia y sol, con P(lluvia inicial) = 0.6. Las transiciones valen P(lluvia | lluvia) = 0.7 y P(lluvia | sol) = 0.4. Las emisiones valen P(paraguas | lluvia) = 0.9 y P(paraguas | sol) = 0.2. Con la observación paraguas en el primer instante, alfa vale 0.6 por 0.9 = 0.54 para lluvia y 0.4 por 0.2 = 0.08 para sol. Al normalizar dividiendo entre 0.62 se obtiene P(lluvia | paraguas) = 0.871 y P(sol | paraguas) = 0.129.
Errores frecuentes
- Confundir filtrado con suavizado, ya que filtrar estima el estado actual con las observaciones hasta hoy y suavizar reestima un estado pasado usando también las observaciones posteriores.
- Olvidar la normalización en cada paso del filtro, con lo que los valores se van haciendo cada vez más pequeños y acaban desbordando por abajo en aritmética de coma flotante.
- Encadenar los estados más probables de cada instante y llamar a eso la secuencia más probable, cuando esa cadena puede incluso ser imposible según la matriz de transición.
Ejercicio
Con el modelo del ejemplo y la creencia filtrada P(lluvia) = 0.871 tras el primer paraguas, calcula la predicción de lluvia para el instante siguiente antes de observar nada.
Ver la solución
La predicción suma sobre el estado anterior. El término de lluvia aporta 0.871 por P(lluvia | lluvia) = 0.871 por 0.7 = 0.6097. El término de sol aporta 0.129 por P(lluvia | sol) = 0.129 por 0.4 = 0.0516. La suma da 0.6613, de modo que sin observar nada la creencia de lluvia baja de 0.871 a 0.661, arrastrada hacia la distribución estacionaria del proceso.
Respuesta: 0.661