![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/899859a2c3cf875e1b06af9460961d2f.jpeg)
Modelos de Markov En la presentación acerca de Simplificación del Mundo, hablamos sobre las redes de Bayes y cómo son una estructura maravillosa que se usa para representar relaciones entre variables aleatorias. Ahora cubriremos una estructura muy intrínsecamente relacionada llamada Modelo de Markov , que para los propósitos de esta clase se puede considerar como análogo a una red de Bayes de longitud infinita en forma de cadena. El ejemplo en ejecución con el que trabajaremos en esta presentación es acerca de las fluctuaciones día a día en los patrones climáticos. Nuestro modelo meteorológico dependerá del tiempo (al igual que los modelos de Markov en general), lo que significa que tendremos una variable aleatoria separada para el clima de cada día. Si definimos W! como la variable aleatoria que representa el clima en el día i, el modelo de Markov para nuestro ejemplo del clima se vería como esto: ¿Qué información debemos almacenar sobre las variables aleatorias involucradas en nuestro modelo de Markov? Para realizar un seguimiento de cómo nuestra cantidad bajo consideración (en este caso, el clima) cambia con el tiempo, necesitamos saber tanto su di stribución inicial en el tiempo t = 0 y algún tipo de modelo de transición que caracteriza la probabilidad de pasar de un estado a otro entre períodos de tiempo. La distribución inicial de un modelo de Markov es enumerada por la tabla de probabilidad dada por P(W" ) y el modelo de transición de pasar del estado i al i + 1 viene dado por P(W! #$ |W! ) . Tenga en cuenta que este modelo de transición implica que el valor de W! #$ es condicionalmente dependiente solo del valor de W! . En otras palabras, el clima en el tiempo t = i + 1 satisface la Propiedad de Markov o W0 W1 W2 W3 …
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/080c4d582687d94c89cb6b1e58d64acb.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/080c4d582687d94c89cb6b1e58d64acb.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/1a29b58a46a9a0d7d5d2a6bbf0b92fa5.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/080c4d582687d94c89cb6b1e58d64acb.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/0e5856e84c8ccd57f94f989ecf362375.jpeg)
P ropiedad sin M emoria , y es independiente del clima en todos los demás pasos de tiempo además de t = i. Usando nuestro modelo de Markov para el clima, si quisiéramos reconstruir la articulación entre W" , W$ y W% usando la regla de la cadena, querríamos: P(W" , W$ , W% ) = P(W" )P(W$ |W" )P(W% |W$ , W" )
Sin embargo, con nuestra suposición de que la propiedad de Markov se cumple y W" ⊥⊥ W% |W$ , la articulación se simplifica a: P(W" , W$ , W% ) = P(W" )P(W$ |W" )P(W% |W$ ) Y tenemos todo lo que necesitamos para calcular esto a partir del modelo de Markov. En términos más generales, los modelos de Markov hacen la siguiente suposición de independencia en cada paso de tiempo: W&#$ ⊥⊥ {W" , . . . , W& $ }|W& . Esto nos permite reconstruir la distribución conjunta para las primeras n + 1 variables a través de la regla de la cadena de la siguiente manera: P(W" , W$ , … , W( ) = P(W" )P(W$ |W" )P(W% |W$ ) … P(W( |W) $ ) = P(W" ) = � (�" ) 6 � (�&#$ |�& ) ) $ ! *"
Una suposición final que se suele hacer en los modelos de Markov es que el modelo de transición es estacionario . En otras palabras, para todos los valores de i (todos los intervalos de tiempo), �(�&#$ |�& ) es idéntico. Esto nos permite representar un modelo de Markov con solo dos tablas: una para � (�" )y otra para� (�&#$ |�& ) . El algoritmo de M ini - A vance Ahora sabemos cómo calcular la distribución conjunta en intervalos de tiempo de un modelo de Markov. Sin embargo, esto no nos ayuda
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
Esta ecuación debería tener algún sentido intuitivo: para calcular la distribución del clima en el paso de tiempo i + 1, miramos la distribución de probabilidad en el paso de tiempo i dada por � (�! ) y "avanzamos" este modelo un paso de tiempo con nuestro modelo de transición � (�! #$ |�! ) . Con esta ecuación, podemos calcular iterativamente la distribución del clima en cualquier paso de tiempo de nuestra elección comenzando con nuestra distribución inicial � (�" ) y usándola para calcular � (�$ ), luego, a su vez, usando � (�$ ) para calcular � (�% ), y así sucesivamente. Veamos un ejemplo, usando la siguiente distribución inicial y modelo de transición:
explícitamente a responder la pregunta de la distribución del clima en un día determinado t . Naturalmente, podemos calcular la articulación y luego marginar (sumar) sobre todas las demás variables, pero esto típicamente es extremadamente ineficiente, ya que si tenemos j variables cada una de las cuales puede tomar d valores, el tamaño de la distribución de la articulación es O:d + ; En cambio, presentaremos una técnica más eficiente llamada algoritmo de mini - avance Así es como funciona. Por propiedades de marginación, sabemos que � (�! #$ ) = < � (�! , �! #$ ) ,! Por la regla de la cadena podemos re expresar esto de la siguiente manera: � (�! #$ ) = < � (�! #$ |�! )� (�! ) ,!
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
Usando el algoritmo de mini avance podemos calcular P(W$ ) de la siguiente manera: P(W$ = sol) = ∑ � (�$ = ��� |�" )� (�" )," = � (�$ = ��� |�" = ��� )� (�" = ��� ) + � (�$ = ��� |�" = ������ )� (�" = ������ ) = 0,6 · 0,8 + 0,1 · 0,2 = �, � P(W$ = lluvia) = P(W$ = lluvia|w" )P(w" ) = P(W$ = lluvia|W" = sol)P(W" = sol) + P(W$ = lluvia|W" = lluvia)P(W" = lluvia) = 0,4 · 0,8 + 0,9 · 0,2 = �, � Por lo tanto, nuestra distribución para P(W$ ) es W 1 P(W 1) sol 0.5 lluvia 0.5 En particular, la probabilidad de que haga sol ha disminuido del 80 % en el momento t = 0 a solo el 50 % en el momento t = 1. Este es un resultado directo de nuestro modelo de transición, que favorece la transición a días lluviosos sobre días soleados. Esto da lugar a una pregunta natural: ¿la probabilidad de estar en un estado en un paso de W i+1 W i P(W i+1|W i) sol sol 0.6 lluvia sol 0.4 sol lluvia 0.1 lluvia lluvia 0.9 W 0 P(W 0 ) sol 0.8 lluvia 0.2
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
tiempo dado alguna vez converge? Abordaremos la respuesta a este problema en la siguiente sección. Distribución Estacionaria Para resolver el problema planteado anteriormente, debemos calcular la distribución estacionaria del clima. Como sugiere el nombre, la distribución estacionaria es aquella que permanece igual después del paso del tiempo, es decir, P(W-#$ ) = P(W- ) Podemos calcular estas probabilidades convergentes de estar en un estado dado combinando la equivalencia anterior con la misma ecuación utilizada por el algoritmo de mini avance: �(�.#$ ) = �(�. ) = < � (�.#$ |�. )� (�. ) ,# Para nuestro ejemplo meteorológico, esto nos da las siguientes dos ecuaciones: P(W- = sol) = P(W-#$ = sol|W- = sol)P(W- = sol) + P(W-#$ = sol|W- = lluvia)P(W- = lluvia) = 0,6 · � (�. = ��� ) + 0.1 · � (�. = ������ ) P(W- = lluvia) = P(W-#$ = lluvia|W- = sol)P(W- = sol) + P(W-#$ = lluvia|W- = lluvia)P(W- = lluvia) = 0,4 · � (�. = ��� ) + 0,9 · � (�. = ������ )
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
Ahora tenemos exactamente lo que necesitamos para resolver la distribución estacionaria, ¡un sistema de 2 ecuaciones con 2 incógnitas! Podemos obtener una tercera ecuación usando el hecho de que � (�. ) es una distribución de probabilidad y por lo tanto debe sumar 1: P(W- = sol) = 0.6 · � (�. = ��� ) + 0.1 · �(�. = ������ ) P(W- = lluvia) = 0.4 · � (�. = ��� ) + 0.9 · � (�. = ������ ) 1 = P(W- = sol) + P(W- = lluvia) Resolviendo este sistema de ecuaciones se obtiene P(W- = sol) = 0.2 y P(W- = lluvia) = 0.8. Por lo tanto, la tabla para nuestra distribución estacionaria, que de ahora en adelante denotaremos como P(W/ ), es la siguiente: W ∞ P(W ∞ ) sol 0.2 lluvia 0.8 Para verificar este resultado, apliquemos el modelo de transición a la distribución estacionaria: P(W/#$ = sol) = P(W/#$ = sol|W/ = sol)P(W/ = sol) + P(W/#$ = sol|W/ = lluvia)P(W/ = lluvia) = 0.6 · 0.2 + 0.1 · 0.8 = �. � P(W/#$ = lluvia) = P(W/#$ = lluvia|W/ = sol)P(W/ = sol) + P(W/#$ = lluvia|W/ = lluvia)P(W/ = lluvia) = 0.4 · 0.2 + 0.9 · 0.8 = �. �
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
meteorológica
Como era de esperar, � (�/#$ ) = � (�/ ) . En general, si �tuviera un dominio de tamaño k, la equivalencia �(�. ) = < � (�.#$ |�. )� (�. ) ,# produce un sistema de k ecuaciones, que podemos usar para resolver la distribución estacionaria. Modelos Ocultos de Markov Con los modelos de Markov, vimos cómo podíamos incorporar cambios a lo largo del tiempo a través de una cadena de variables aleatorias. Por ejemplo, si queremos saber el clima el día 10 con nuestro modelo estándar de Markov desde arriba, podemos comenzar con la distribución inicial � (�" ) y usar el algoritmo mini avance con nuestro modelo de transición para calcular � (�$" ). Sin embargo, entre el tiempo t = 0 y el tiempo t = 10 , podemos recolectar nueva evidencia que podría afectar nuestra creencia de la distribución de probabilidad sobre el clima en cualquier momento dado. En términos más simples, si el clima pronostica un 80% de probabilidad de lluvia el día 10, pero hay cielos claros en la noche del día 9, esa probabilidad del 80% podría caer drásticamente. Esto es exactamente con lo que los modelos ocultos de Markov nos ayudan: nos permiten observar evidencia en cada paso de tiempo, lo que potencialmente puede afectar la distribución de creencias en cada uno de los estados. El Modelo Oculto de Markov para nuestro modelo puede ser descrito usando una estructura de red de Bayes que se parece a lo siguiente:
meteorológico
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
A diferencia de los modelos Markov originales, ahora tenemos dos tipos diferentes de nodos. Para hacer esta distinción, llamaremos a cada W& una variable de estado y a cada pronóstico del tiempo F& una variable de evidencia . Dado que W& codifica nuestra creencia de la distribución de probabilidad para el clima en el día i , debería ser un resultado natural que el pronóstico del clima para el día i sea condicionalmente dependiente de esta creencia. El modelo implica relaciones de independencia condicional similares a los modelos estándar de Markov, con un conjunto adicional de relaciones para las variables de evidencia: F$ ⊥⊥ W" |W$ ∀i = 2, … , n; W& ⊥⊥ {W" , … , W& % , F$ , … , F& $ }W& $ ∀i = 2, … , n; F& ⊥⊥ {W" , … , W& $ , F$ , … , F& $ }W& Al igual que los modelos de Markov, los modelos ocultos de Markov suponen que el modelo de transición � (�! #$ |�! ) es estacionario Los modelos ocultos de Markov hacen la suposición simplificadora adicional de que el modelo del sensor P(F& |W& ) también es estacionario. Por lo tanto, cualquier modelo oculto de Markov se puede representar de forma compacta con solo tres tablas de probabilidad: la distribución inicial, el modelo de transición y el modelo de sensor. W0 W1 W2 W3 F1 F2 F3
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/080c4d582687d94c89cb6b1e58d64acb.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/080c4d582687d94c89cb6b1e58d64acb.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/080c4d582687d94c89cb6b1e58d64acb.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/080c4d582687d94c89cb6b1e58d64acb.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/d3e0ea5dd215190bcfa4712bcd6419f4.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/080c4d582687d94c89cb6b1e58d64acb.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/080c4d582687d94c89cb6b1e58d64acb.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/080c4d582687d94c89cb6b1e58d64acb.jpeg)
Como punto final sobre la notación, definiremos la distribución de creencias en el tiempo i con toda la evidencia F$ , … , F& observada hasta ahora: B(W& ) = P(W& |f$ , … , f& ) Del mismo modo, definiremos � 0 (�! ) como la distribución de creencias en el tiempo i con evidencia f$ , … , f& $ observada: B 0 (W& ) = P(W& |f$ , … , f& $ ) Al definir e& como evidencia observada en el paso de tiempo i , a veces puede ver la evidencia agregada de los pasos de tiempo 1 ≤ i ≤ t reexpresada de la siguiente forma: e$:- = e$ , … , eBajo esta notación, P(W& |f$ , … , f& $ ) se puede escribir como P:W& _f$:(& $) ;. Esta notación será relevante luego, donde discutiremos las actualizaciones de lapso de tiempo que incorporan nueva evidencia de manera iterativa en nuestro modelo meteorológico. El Algoritmo de Avance Usando los supuestos de probabilidad condicional establecidos anteriormente y las propiedades de marginación de tablas de probabilidad condicional, podemos derivar una relación entre � (�! ) y � 0 (�! #$ ) que tiene la misma forma que la regla de actualización para el algoritmo de mini avance. Empezamos usando la marginación: � 0 (�! #$ ) = P(W&#$ |f$ , … , f& ) = < � (�! #$ , �! |�$ , … , �! ) ,! Esto se puede re expresar entonces con la regla de la cadena de la siguiente manera:
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
Cuando se trata de probabilidades condicionales, un truco comúnmente utilizado es retrasar la normalización hasta que necesitemos las probabilidades normalizadas, un truco que emplearemos ahora. Más específicamente, dado que el denominador en la expansión anterior de � (�! #$ ) es común a todos los términos de la tabla de probabilidad representada por � (�! #$ ) , podemos omitir dividir por � (�! #$ |�$ , … , �! ) . En cambio, podemos simplemente notar que � (�! #$ ) es proporcional a � (�! #$ , �! #$ |�$ , … , �! ): � (�! #$ ) ∝ � (�! #$ , �! #$ |�$ , … , �! ) con una constante de proporcionalidad igual a � (�! #$ |�$ , … , �! ) Siempre que decidamos que queremos recuperar la distribución de creencias � (�! #$ ) , podemos dividir cada valor calculado por esta constante de proporcionalidad. Ahora, usando la regla de la cadena podemos observar lo siguiente:
� 0 (�! #$ ) = P(W&#$ |f$ , … , f& ) = < � (�! #$ |�! , �$ , … , �! )� (�! |�$ , … , �! ) ,! Teniendo en cuenta que � (�! |�$ , … , �! ) es simplemente B(w& ) y que �! #$ ⊥⊥ {�$ , … , �! }|�! , esto se simplifica a nuestra relación final entre � (�! ) y � 0 (�! #$ ) : � 0 (�! #$ ) = < � (�! #$ |�! ,! )� (�! ) Ahora consideremos cómo podemos derivar una relación entre � 0 (�! #$ ) y B(�! #$ ) . Por simple aplicación de la regla de Bayes, podemos ver que B(W&#$ ) = P(W&#$ |f$ , … , f&#$ ) = � (�! #$ , �! #$ |�$ , … , �! ) � (�! #$ |�$ , … , �! )
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
� (�! #$ ) ∝ � (�! #$ , �! #$ |�$ , … , �! ) = � (�! #$ |�! #$ , �$ , … , �! )� (�! #$ |�$ , … , �! ) Por los supuestos de independencia condicional asociados con los modelos ocultos de Markov establecidos anteriormente, � (�! #$ |�! #$ , �$ , … , �! ) es equivalente simplemente a � (�! #$ |�! #$ ) y por definición � (�! #$ |�! #$ , �$ , … , �! ) = � 0(4!$% ) Esto nos permite expresar la relación entre � 0 (�! #$ ) y � (�! #$ ) en su forma final: � (�! #$ ) ∝ � (�! #$ |�! #$ )� 0 (�! #$ ) La combinación de las dos relaciones que acabamos de derivar produce un algoritmo iterativo conocido como el algoritmo de avance , el modelo oculto de Markov análogo del algoritmo mini avance de antes: � (�! #$ ) ∝ � (�! #$ |�! #$ ) < � (�! #$ |�! ,! )� (�! ) Se puede pensar que el algoritmo de avance consta de dos pasos distintivos: la actualización del lapso de tiempo que corresponde a determinar � 0 (�! #$ ) desde � (�! ) y la actualización de la observación que corresponde a determinar � (�! #$ ) a partir de � 0 (�! #$ ). Por lo tanto, para avanzar nuestra distribución de creencias en un paso de tiempo (es decir, calcular � (�! #$ ) a partir de � (�! )), primero debemos avanzar el estado de nuestro modelo en un paso de tiempo con la actualización del lapso de tiempo, luego incorporar nueva evidencia de ese paso de tiempo con la actualización de la observación. Considere la siguiente distribución inicial, modelo de transición y modelo de sensor: W 0 P(W 0 ) sol 0.8 lluvia 0.2 W i+1 W i P(W i+1|W i) sol sol 0.6 lluvia sol 0.4 sol lluvia 0.1 lluvia lluvia 0.9 F i W i P( F i|W i) Bueno sol 0.8 Malo sol 0.2 Bueno lluvia 0.3 Malo lluvia 0.7
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
Para calcular � (�$ ) , comenzamos realizando una actualización de tiempo para obtener � 0 (�$ ) : B’(�$ = ��� ) = < � (�$ = ��� |�" )� (�" ) ," = �(�$ = ��� |�" = ��� )� (�" = ��� ) + � (�$ = ��� |�" = ������ )� (�" = ������ ) = 0.6 · 0.8 + 0.1 · 0.2 = �. � �’(�$ = ������ ) = < � (�$ = ������ |�" )� (�" ) ," = � (�$ = ������ |�" = ��� )� (�" = ��� ) + � (�$ = ������ |�" = ������ )� (�" = ������ ) = 0.4 · 0.8 + 0.9 · 0.2 = �. � Por eso: A continuación, supondremos que el pronóstico del tiempo para el día 1 fue bueno (es decir, F$ = bueno), y realizaremos una actualización de observación para obtener B(W$ ): B(W$ = sol) ∝ P(F$ = bueno|W$ = sol)B’(�$ = ��� ) = 0.8 · 0.5 = 0.4 � (�$ = ������ ) ∝ � (�$ = ����� |�$ = ������ )�’(�$ = ������ ) = 0.3 · 0.5 = 0.15 El último paso es normalizar � (�$ ), teniendo en cuenta que las entradas en la tabla para � (�$ ) suman 0.4 + 0.15 = 0.55: W 1 B’ (W 1) sol 0.5 lluvia 0.5
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
Como nota final, el truco de normalización discutido anteriormente en realidad puede simplificar significativamente el cálculo cuando se trabaja con modelos ocultos de Markov. Si empezáramos con alguna distribución inicial y estuviésemos interesados en calcular la distribución de creencias en el tiempo t, podríamos usar el algoritmo de avance para calcular iterativamente B(W$ ), … , B(W- ) y normalizar solo una vez al final dividiendo cada entrada en la tabla de B(W- ) para la suma de sus entradas. Algoritmo Viterbi En el Algoritmo de avance, usamos recursividad para resolver P(X 5 |e$:6 ) , la distribución de probabilidad sobre estados que podría habitar el sistema dadas las variables de evidencia observadas hasta el momento. Otra cuestión importante relacionada con los modelos ocultos de Markov es: ¿Cuál es la secuencia más probable de estados ocultos que siguió el sistema dada las variables de evidencia observadas hasta ahora? W 1 B’ (W 1) sol 8/11 lluvia 3/11
B(W$ = sol) = 0.4/0.55 = 8 11 B(W$ = lluvia) = 0.15/0.55 = 3 11
Nuestra tabla final para B(W1) es, por lo tanto, la siguiente: Tenga en cuenta el resultado de observar el pronóstico del tiempo. Debido a que el meteorólogo predijo buen tiempo, nuestra creencia de que estaría soleado aumentó de 1/2 después de la actualización de tiempo a 8/11 después de la actualización de la observación.
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
En otras palabras, nos gustaría resolver arg max 7%:' P(x$:6 |e$:6 ) = arg max 7%:' P(x$:6 , e$:6 ). Esta trayectoria también se puede resolver usando programación dinámica con el algoritmo Viterbi
El algoritmo consta de dos pases: el primero avanza en el tiempo y calcula la probabilidad del mejor camino a cada tupla (estado, tiempo) dada la evidencia observada hasta ahora. El segundo pase corre hacia atrás en el tiempo: primero encuentra el estado terminal que se encuentra en el camino con la mayor probabilidad, y luego atraviesa hacia atrás a través del tiempo por el camino que conduce a este estado (que debe ser el mejor camino). Para visualizar el algoritmo, considere la siguiente reja de estado , un gráfico de estados y transiciones a lo largo del tiempo: En este modelo oculto de Markov (HMM) con dos posibles estados ocultos, sol o lluvia, nos gustaría calcular la ruta de mayor probabilidad (asignación de un estado para cada paso de tiempo) de X$ a X 5 . Los pesos en un borde de X - $ a X - son iguales a P(X - |X - $ )P(E- |X - ) , y la probabilidad de un camino se calcula tomando el producto de los pesos de sus bordes. El primer término en la fórmula de ponderación representa la probabilidad de una transición particular y el segundo lluvia lluvia lluvia lluvia sol sol sol sol X1 X2 … XN
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/3f5ccc0f0527406576da18e57596c3f0.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/3f5ccc0f0527406576da18e57596c3f0.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/3f5ccc0f0527406576da18e57596c3f0.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/c8959332cfec969a449a3b89d2004995.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/3f5ccc0f0527406576da18e57596c3f0.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/3f5ccc0f0527406576da18e57596c3f0.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/3f5ccc0f0527406576da18e57596c3f0.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/c8959332cfec969a449a3b89d2004995.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/3f5ccc0f0527406576da18e57596c3f0.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/3f5ccc0f0527406576da18e57596c3f0.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/3f5ccc0f0527406576da18e57596c3f0.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/c8959332cfec969a449a3b89d2004995.jpeg)
término representa qué tan bien se ajusta la evidencia observada al estadoRecordarresultante.que: P(X$:6 , e$:6 ) = P(X$ )P(e$ |X$ ) 6 �(�. |�. $ )� (�. |�. ) 6 .*% El algoritmo de avance calcula (hasta la normalización) � (�6 , �$:6 ) = � (�6 , �$:6 $ , �$:6 ) En el algoritmo de Viterbi, queremos calcular arg max 8% , ,8' � (�$:6 , �$:6 ) para encontrar la estimación de máxima posibilidad de la secuencia de estados ocultos. Observe que cada término del producto es exactamente la expresión del peso del borde entre la capa t 1 y la capa � . Entonces, el producto de los pesos a lo largo del camino en el enrejado nos da la probabilidad del camino dada la evidencia. Podríamos resolver una tabla de probabilidad conjunta sobre todos los posibles estados ocultos, pero esto da como resultado un costo de espacio exponencial. Dada una tabla de este tipo, podríamos usar la programación dinámica para calcular la mejor ruta en tiempo polinomial. Sin embargo, debido a que podemos usar la programación dinámica para calcular la mejor ruta, no necesariamente necesitamos toda la tabla en un momento dado. Defina m- [x - ] = max 8%:# % P(x$:. , e$:. ), o la probabilidad máxima de que un camino comience en cualquier x " y la evidencia vista hasta ahora para un x - dado en el tiempo t. Esto es lo mismo que el camino de mayor peso a través del enrejado desde el paso 1 hasta el t. También tenga en cuenta que
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
m- [x - ] = max 8%:# % � (�. |�. )� (�. |�. $ )� (�$:. $ , �$:. $ ) (1) = P(e- |x - ) max 8# % � (�. |�. $ ) max 8%:# ) � (�$:. $ , �$:. $ ) (2) = � (�. |�. ) max 8# % � (�. |�. $ ) �. $ [�. $ ] (3) Esto sugiere que podemos calcular �. para todo t recursivamente mediante programación dinámica. Esto hace posible determinar el último estado x 5 para la ruta más probable, pero aún necesitamos una forma de retroceder para reconstruir la ruta completa. Definamos a - [x - ] = P(e- |x - )arg max 7* % P(x - |x - $ )m- $ [x - $ ] = arg max 7* % P(x - |x - $ )m- $ [x - $ ] para realizar un seguimiento de la última transición a lo largo de la mejor ruta a x - . Ahora podemos esbozar el algoritmo. Resultado : Secuencia más probable de estados ocultos x∗1:N /* Pase adelantado */ for t = 1 to N do for xt ∈ X do if t = 1 then mt[ xt] = P( xt) P(e0|xt) elseat[ xt] = arg max xt 1 P( xt|xt 1) mt 1[ xt 1]; mt[ xt] = P(et|xt) P( xt|at[ xt]) mt 1[at[ xt]]; end endend /* Encuentra el punto final de la ruta más probable */ x∗N = arg max xN mN[ xN]; /* Trabajar hacia atrás a través de nuestro camino más probable y encontrar los estados ocultos */ for t = N to 2 do x∗ t 1 = at[ x∗ t]; end
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
Observe que nuestras matrices a definen un conjunto de N secuencias, cada una de las cuales es la secuencia más probable para un estado final particular x 5 . Una vez que terminamos el pase hacia adelante, observamos la probabilidad de las N secuencias, elegimos la mejor y la reconstruimos en el pase hacia atrás. Por lo tanto, hemos calculado la explicación más probable para nuestra evidencia en espacio y tiempo polinomial. Ejercicio : Modelos Ocultos de Markov 1
Considere un modelo de Markov como el de arriba. Para las primeras tres partes de este problema, suponga que el dominio de nuestras variables es {a, b} . Complete la siguiente tabla con la probabilidad de estar en cada estado después de un gran número de transiciones, cuando P(V( ) = P(V(#$ ). Si los valores nunca llegan a un punto en el que P(V( ) = P(V(#$ ), escriba 'Ninguno'. En la parte izquierda de la tabla, suponga que comenzamos con una distribución uniforme (P(V" = a) = P(V" = b) = 0.5) . En la parte derecha de la tabla, supongamos que comenzamos con la distribución que tiene P(V" = a) = 1.0 Probabilidades de transición � (�) ) dado que � (�" ) es uniforme � (�) ) dado que � (�" = � ) = 1.0 V( = a �) = � �) = � �) = � 0.5 0.5 0.5 0.5
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/bc9186f825c5848d90989b67d96dfaa5.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/7e30fb423308ac70fecc659c669ef32a.jpeg)
Ahora consideraremos un modelo oculto de Markov y veremos las propiedades del algoritmo de Viterbi. El algoritmo de Viterbi encuentra la secuencia más probable de estados ocultos �$:< dada una secuencia de observaciones �$:< . Recuerde que para la estructura HMM canónica, el algoritmo de Viterbi realiza la siguiente actualización en cada paso de tiempo:
0.75 0.25 0.75 0.25 0.5 0.5 Ninguno Ninguno Para esta parte nuestras variables tienen el dominio {� , � , � } Complete la tabla de abajo con la probabilidad de estar en cada estado después de un gran número de transiciones, cuando � (�) ) = � (�)#$ ) En la parte izquierda de la tabla, suponga que comenzamos con una distribución uniforme }�(�" = � ) = � (�" = � ) = � (�" = � ) = $ ;~ En la parte derecha de la tabla, suponga que comenzamos con la distribución que tiene � (�" = � ) = 1.0.
Ejercicio: Modelos Ocultos de Markov 2
Probabilidades de transición � (�) ) dado que � (�" ) es uniforme � (�) ) dado que � (�" = � ) = 1.0 a b c a b c 0.33 0.33 0.33 0.5 0.5 0.0
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/fe38e7c79905458b20b9bcc6c1e63657.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/245ef722fd5283ae77f8c5012b00576a.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/506c8a705ccfd78738facee9007cfa26.jpeg)
Supongamos que tenemos un HMM donde: La variable oculta X puede tomar valores H • La variable de emisión (observada) Y puede tomar valores E Nuestra secuencia tiene S pasos (i) ¿Cuál es el tiempo de ejecución del algoritmo de Viterbi?
•
Ignorando el almacenamiento de las probabilidades de emisión, � (�. |�. ), y las probabilidades de transición, � (�. |�. $ ), ¿cuáles son los requisitos de almacenamiento del algoritmo de Viterbi?
Ahora, suponga que la mayoría de las transiciones en nuestro HMM tienen probabilidad cero. En particular, suponga que, para cualquier valor de estado oculto dado, solo hay � valores de siguiente estado posibles para los cuales la probabilidad de transición es distinta de cero. Para aprovechar esta escasez, cambiamos el algoritmo de Viterbi para que solo considere los bordes de transición distintos de cero durante cada cálculo máximo dentro de cada actualización. Puede pensar en esto como el algoritmo de Viterbi que ignora los bordes que corresponden a transiciones de probabilidad cero en el diagrama de celosía de transición. (ii) ¿Cuál es el tiempo de ejecución de este algoritmo modificado?
�. [�. ] = � (�. |�. ) max 8# % [� (�. |�. $ ) �. $ [�. $ ]]
•
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/8e681f0a58117a9563017504de1618d9.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/29ffd2cf6e8e17e8ee8d9887780c80e2.jpeg)
Ignorando el almacenamiento de las probabilidades de emisión, � (�. |�. ), y las probabilidades de transición, � (�. |�. $ ), ¿cuáles son los requisitos de almacenamiento de este algoritmo de Viterbi modificado?
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/d2cb8c7112e0a76bf11206b2e3722c38.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/d608775abd4be6c51df00070cd9fbf10.jpeg)
En esta clase, cubrimos dos nuevos tipos de modelos:
• Modelos de Markov, que codifican variables aleatorias dependientes del tiempo que poseen la propiedad de Markov. Podemos calcular una distribución de creencias en cualquier paso de tiempo de nuestra elección para un modelo de Markov usando inferencia probabilística con el algoritmo mini avance
Conclusión
• Modelos ocultos de Markov, que son modelos de Markov con la propiedad adicional de que se puede observar nueva evidencia que puede afectar nuestra distribución de creencias en cada paso de tiempo. Para calcular la distribución de creencias en cualquier paso de tiempo dado con modelos ocultos de Markov, usamos el algoritmo directo.
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/85d2d3d4430b2f1ea8bf0f83b7dbb6c2.jpeg)
![](https://assets.isu.pub/document-structure/220817165626-21844ce65f6fec2cb420af1bc749c322/v1/922795be030e325c31eefb6b1423738c.jpeg)