94
Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov Procesos de Markov José Luis Ruiz Reina Franciso J. Martín Mateos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Procesos de Markov

José Luis Ruiz ReinaFranciso J. Martín Mateos

Dpto. Ciencias de la Computación e Inteligencia ArtificialUniversidad de Sevilla

Page 2: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Contenido

Cadenas de Markov

Modelos Ocultos de Markov

Procesos de Decisión de Markov

Page 3: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Tiempo e Incertidumbre

• En este tema vamos a ver razonamiento probabilístico ensituaciones que discurren a lo largo del tiempo o ensecuencia:

• Ejemplos:• Reconocimiento del habla• Movimiento de robots• Procesamiento de textos• Bioinformática

• Situaciones que transcurren en el tiempo:• El tiempo se considera en instantes discretos: t = 1,2,3, . . .• Cada instante se modela mediante un conjunto de

variables aleatorias, algunas observables y otras no.• Las relaciones entre dichas variables, así como las

transiciones entre un instante y el siguiente, estánafectadas de incertidumbre, que será modelada mediantedistribuciones de probabilidad condicionada.

Page 4: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Cadenas de Markov

• Es el modelo más simple que veremos.• Supongamos que la situación en cada instante t se

describe mediante una única variable aleatoria Xt , quetienen un número finito de posibles valores quellamaremos estados: s1, s2, . . . , sn• En cada instante t , la variable Xt toma exactamente uno de

sus posibles estados.• Ejemplo:

• Supongamos que el tiempo de cada día puede ser descritocomo calor, frío o lluvia

• Cadena de Markov: la v.a. Xt sería el tiempo del día t , y{calor, frío, lluvia} el conjunto de posibles estadosde la variable.

Page 5: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Propiedad de Markov

• Tenemos ahora que detallar cómo cambia, a lo largo deltiempo, el mundo que se describe.

• Asumiremos la siguiente propiedad, llamada propiedad deMarkov (A. Markov, 1856-1922):

P(Xt |X1, . . . ,Xt−1) = P(Xt |Xt−1)

• En una cadena de Markov, el estado actual sólo dependedel estado inmediatamente anterior.

• Asumiremos también que la distribución P(Xt |Xt−1) esindependiente de t• Es decir, el modelo probabilístico que describe la manera

de transitar entre un instante y el siguiente, no cambia conel tiempo

• Es lo que se denomina un proceso estacionario

Page 6: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Cadena de Markov y redes bayesianas

• Vista como red bayesiana, una cadena de Markov tiene lasiguiente estructura:

Xt+1

Xt−2

Xt

Xt+2X

t−1

• Cada nodo tiene una tabla de probabilidad correspondientea P(Xt |Xt−1)

• La misma tabla en todos los nodos• Excepto en el instante inicial X1, cuya tabla es P(X1)

• Recordar: la estructura de la red implica que, dada lainmediatamente anterior, cada variables es independientede todas las anteriores

Page 7: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Componentes de una cadena de Markov

• El conjunto de estados s1, . . . , sn (posibles valores de cadaXt )

• La tabla de probabilidad P(Xt |Xt−1), dada por una matrizde probabilidades de transición A = (aij)• Donde cada aij = P(Xt = sj |Xt−1 = si)• Es una matriz de tamaño n × n, donde n es el número de

posibles estados• Se cumple que

∑1≤j≤n

aij = 1

• Además para el instante inicial, debemos especificar unvector π = (πi), donde πi = P(X1 = si) (probabilidadesiniciales para cada estado).

Page 8: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ejemplo de cadena de Markov

• Estados: {calor, frío, lluvia} (supondremos ques1 = calor, s2 = frío y s3 = lluvia)

• Matriz de probabilidades de transición:a11 = P(Xt = calor|Xt−1 = calor) = 0.5a12 = P(Xt = frío|Xt−1 = calor) = 0.2a13 = P(Xt = lluvia|Xt−1 = calor) = 0.3a21 = P(Xt = calor|Xt−1 = frío) = 0.2a22 = P(Xt = frío|Xt−1 = frío) = 0.5a23 = P(Xt = lluvia|Xt−1 = frío) = 0.3a31 = P(Xt = calor|Xt−1 = lluvia) = 0.3a32 = P(Xt = frío|Xt−1 = lluvia) = 0.1a33 = P(Xt = lluvia|Xt−1 = lluvia) = 0.6

• Probabilidades iniciales:π1 = P(X1 = calor) = 0.5π2 = P(X1 = frío) = 0.3π3 = P(X1 = lluvia) = 0.2

Page 9: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Representación gráfica de una cadena de Markov• Es usual representar una cadena de Markov como un

grafo dirigido• Los nodos son los estados• Los arcos están etiquetados con la probabilidad de pasar

de un estado a otro

0.5

0.6

0.5

0.1

0.3

0.2

0.2

0.3

0.3

0.5

0.3

0.2

lluvia

frio

calor

Page 10: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Otro ejemplo de cadena de Markov

• Secuencias formadas con las palabras “la”, “nieve”,“es” y “blanca”

la

es

0.7

0.2

0.1

0.1

0.1 0.1

0.1 0.1

0.1

0.5

0.3

0.3

0.3

0.3

0.2

0.3

0.40.3

0.4

0.2

nieve

blanca

Page 11: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Calculando probabilidades en una cadena de Markov

• Dos tipos de preguntas:• ¿Cuál es la probabilidad de que ocurra una determinada

secuencia de estados Q = q1 · · · qt? (es decir,P(X1 = q1,X2 = q2, . . . ,Xt = qt), abreviado comoP(q1q2 · · · qt))

• ¿Cuál es la probabilidad de que en el instante t se llegue alestado q? (Es decir, P(Xt = q))

Page 12: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Probabilidad de una secuencia de estados

• ¿P(q1q2 · · · qt)?• Aplicando la regla de la cadena, es igual a:

P(Xt = qt |X1 = q1, . . . ,Xt−1 = qt−1)·· · ··P(X2 = q2|X1 = q1)·P(X1 = q1)

• Por la propiedad de Markov, eso es igual a:

P(Xt = qt |Xt−1 = qt−1) · · ·P(X2 = q2|X1 = q1) · P(X1 = q1)

• Luego P(q1q2 · · · qt ) = πq1 · aq1q2 · aq2q3 · · · aqt−2qt−1 aqt−1qt

• Es decir, la probabilidad de una secuencia es el productode las correspondientes probabilidades de transitar decada estado al siguiente.

• Ejemplos:• P(calor calor lluvia frío) = 0.5 · 0.5 · 0.3 · 0.1 = 0.0075• P(la nieve es blanca) = 0.7 · 0.5 · 0.4 · 0.3 = 0.042• P(blanca es nieve la) = 0.1 · 0.3 · 0.3 · 0.2 = 0.0018

Page 13: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Probabilidad de llegar a un estado

• Notación: P(Xt = q) = pt(q) ¿Cómo calculamos pt(q)?• Una primera idea: pt (q) = P(Xt = q) =

∑Q P(Q), donde tenemos

un sumando por cada secuencia Q = q1 · · · qt que acabaen el estado q (qt = q).• Por ejemplo, p3(calor) = P(calor calor calor)+

P(calor frío calor) + P(calor lluvia calor) + · · ·+P(lluvia frío calor) + P(lluvia lluvia calor)

• Ineficiente: nt−1 sumandos• Una alternativa más eficiente: calcular recursivamente los

valores pt(si) para todos los estados 1 ≤ i ≤ n• p1(si ) = P(X1 = si ) = πi , 1 ≤ i ≤ n• pt (sj ) = P(Xt = sj ) =

∑1≤i≤n

P(Xt = sj ,Xt−1 = si ) =∑1≤i≤n

(P(Xt = sj |Xt−1 = si ) · P(Xt−1 = si )) =∑

1≤i≤n

(aij · pt−1(si ))

• Complejidad: O(t · n2)

Page 14: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ejemplo de cálculo de probabilidad de llegar a unestado

• p1(calor) = 0.5

• p1(frío) = 0.3

• p1(lluvia) = 0.2

• p2(calor) = 0.5 · p1(calor) + 0.2 · p1(frío) + 0.3 · p1(lluvia) = 0.37

• p2(frío) = 0.2 · p1(calor) + 0.5 · p1(frío) + 0.1 · p1(lluvia) = 0.27

• p2(lluvia) = 0.3 · p1(calor) + 0.3 · p1(frío) + 0.6 · p1(lluvia) = 0.36

• p3(calor) = 0.5 · p2(calor) + 0.2 · p2(frío) + 0.3 · p2(lluvia) = 0.347

• · · ·

Page 15: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Modelos ocultos de Markov

• Muchas situaciones reales no pueden modelarse mediantecadenas de Markov• Problema: el valor de Xt (el estado) no es observable

directamente• Lo que podemos observar depende del estado, aunque con

cierta incertidumbre• Ejemplos:

• Etiquetado léxico• Movimiento de robots• Reconocimiento del habla• Bioinformática

Page 16: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Modelos ocultos de Markov: propiedades asumidas• En un modelo oculto de Markov, para cada instante t

tenemos:• una variable aleatoria Xt , con posibles valores {s1, . . . , sn}

(estados, no observable directamente)• otra variable aleatoria Et , con posibles valores {v1, . . . , vm}

(percepciones, observable directamente)• Propiedades asumidas:

• Propiedad de Markov:

P(Xt |X1,X2, . . . ,Xt−1) = P(Xt |Xt−1)

• Independencia de las percepciones:

P(Et |X1, . . . ,Xt ,E1, . . . ,Et−1) = P(Et |Xt )

• En otras palabras:• En cada instante, el estado depende sólo del estado en el

instante inmediatamente anterior• En cada instante, lo observado depende sólo del estado en

ese instante

Page 17: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ejemplo 1 de modelo oculto de Markov (J. Eisner)

• Supongamos que en el año 2534, un científico quiereestudiar el tiempo que hubo en el año 2012, pero no escapaz de encontrar datos (por simplificar supondremossólo dos tipos de días: c (calor) y f (frío)). Pero haencontrado un diario de la época, en el que una personadescribe cuántos helados tomó cada día de 2012 (1,2 ó 3).• Estados: variable Xt que indica el tiempo en el día t

(posibles estados c y f )• Percepciones: variable Et , número de helados comidos el

día t (1, 2 ó 3).• En este ejemplo, es razonable asumir que se cumple la

propiedad de Markov y la de la independencia de laspercepciones:• El tiempo que haga un día depende sólo del tiempo del día

anterior.• La cantidad de helados comidos sólo depende

(probabilísticamente) del tiempo en ese mismo día

Page 18: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ejemplo 2 (Russell & Norvig)

• Un guardia de seguridad trabaja en unas oficinassubterráneas, sin conexión con el exterior. Cada día, nopuede saber si está lloviendo o no, pero ve llegar aldirector de la oficina, que puede o no llevar paraguas• Estados: variable Xt que indica si llueve o no en el día t

(con posibles estados l y ¬l)• Percepciones: variable Et , que indica si el director lleva o

no paraguas (con posibles valores u y ¬u)

• Nuevamente, es razonable asumir en este caso laspropiedades de un modelo oculto de Markov

Page 19: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Modelos ocultos de Markov y redes bayesianas

• Vista como red bayesiana, una modelo oculto de Markovtiene la siguiente estructura:

Xt+1

Xt−2

Xt

Xt+2

Et

Xt−1

t−2E E E E

t−1 t+1 t+2

• Cada nodo Xt tiene una tabla de probabilidadcorrespondiente a P(Xt |Xt−1) (la misma tabla en todos losnodos)

• Excepto en el instante inicial X1, cuya tabla es P(X1)• Cada nodo Et tiene una tabla de probabilidad

correspondiente a P(Et |Xt) (la misma tabla en todos losnodos)

Page 20: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Componentes de un modelo oculto de Markov

• Por un lado, la parte correspondiente a la cadena deMarkov de los estados (modelo de transición):• Para cada t > 0, una variable Xt con posibles valores

s1, . . . , sn (estados)• La tabla de probabilidad P(Xt |Xt−1), dada por una matriz

A = (aij), donde aij = P(Xt = sj |Xt−1 = si) (probabilidad depasar de si a sj )

• Vector π = (πi), donde πi = P(X1 = si) (probabilidades apriori para cada estado).

• Por otro lado, la parte correspondiente a las percepciones(modelo sensor):• Para cada t > 0, una variable aleatoria Et , con posibles

valores {v1, . . . , vm}• La tabla de probabilidad P(Et |Xt), dada por una matriz de

probabilidades de percepción B = bi(vj), dondebi(vj) = P(Et = vj |Xt = si) (probabilidad de observar vjcuando el estado es si )

Page 21: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Representación gráfica, ejemplo 1

Suponiendo s1 = c y s2 = f

0.70.3

0.6

0.4

0.8 0.2

1b (1)

1b

1b

b (1)

b

b

(2)

(3)

2

2

2

(2)

(3)

= P(1 | c)=0.2

= P(2 | c)=0.4

= P(3 | c)=0.4

= P(1 | f)=0.5

= P(2 | f)=0.4

= P(3 | f)=0.1

c f

Page 22: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Representación gráfica, ejemplo 2

Suponiendo s1 = l y s2 = no l

b2(2) = P(no u | no l)=0.8

l no l

0.7 0.70.3

0.5 0.5

= P(u | l)=0.91b (1)

1b

b (1)

(2)2

= P(no u | l)=0.1

0.3

= P(u | no l)=0.2

Page 23: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ejemplos de aplicaciones reales

• Reconocimiento del habla• Estados: las distintas sílabas• Percepciones: fonemas (con posible ruido)

• Localización de robots• Estados: posibles posiciones de un robot• Percepciones: datos de proximidad obtenidos de los

sensores

Page 24: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Problemas principales a resolver en MOMs

• Filtrado: dada una secuencia de percepciones o1, . . . ,ot yun estado q, ¿cuál es la probabilidad de que Xt = q?• Ejemplo: si sabemos que la secuencia de helados comidos

hasta el cuarto día es 3,1,3,2 ¿cuál es la probabilidad deel cuarto día sea un día frío?

• Explicación más verosímil (o Decodificación): habiendoobservado una secuencia o1, . . . ,ot ¿cuál es lacorrespondiente secuencia de estados más probable?• Ejemplo: si sabemos que la secuencia de helados comidos

hasta el sexto día es 1,1,2,2,3,3 ¿cuál es la secuenciamás probable del tiempo en los seis primeros días?

• Aprendizaje: habiendo observado una secuenciao1, . . . ,ot y conociendo los estados del modelo, pero nolas matrices de transición y de percepciones, aprenderdichas probabilidades

Page 25: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Filtrado

• Supongamos un modelo oculto de Markov:• Con variables aleatorias Xt (estado) y Et (percepción)• Con n estados {s1, . . . , sn} y m posibles percepciones{v1, . . . , vm}

• Con matriz de transición A y matriz de percepción B

• Supongamos que tenemos la secuencia O = o1o2 · · · ot ,percepciones hasta el instante t

• Filtrado: dado un estado q, queremos calcular laprobabilidad de que habiendo observado la secuencia Ohasta el instante t , el estado del sistema en ese últimoinstante sea q

• Es decir, queremos calcular P(Xt = q|o1o2 · · · ot)

Page 26: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Filtrado: una primera simplificación

• Téngase en cuenta que:

P(Xt |o1o2 · · · ot) = α · P(Xt ,o1o2 · · · ot)

• Luego bastará calcular P(Xt = si ,o1o2 · · · ot) para todoslos estados si (1 ≤ i ≤ n), y luego normalizar

• Es decir, la probabilidad de que hasta el instante thayamos observado la secuencia O y además el estadoen el instante t sea si

Page 27: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Una manera ineficiente de hacer filtrado

• Una forma de calcular P(Xt = q,O) es hacer∑

Q P(Q,O),donde tenemos un sumando por cada secuenciaQ = q1 · · · qt que acaba en el estado q (qt = q).• Supongamos dada una secuencia de estados Q = q1 · · · qt

y una secuencia de percepciones O = o1 · · · ot• Entonces (¿por qué?):

P(Q,O) = πq1 · aq1q2 · · · aqt−1qt · bq1(o1) · · · bqt (ot)

• Ineficiente: ¡¡ nt−1 sumandos !!• Alternativa eficiente (similar a lo que se hace en cadenas

de Markov):• Calcular P(Xt = si ,o1 · · · ot), de manera recursiva, para

todos los estados 1 ≤ i ≤ n

Page 28: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Cálculo recursivo para filtrado

• Si llamamos αt(sj) a P(Xt = sj ,o1 · · · ot), tenemos:• Inicio:α1(si) = P(X1 = si , o1) = P(o1|X1 = si) · P(X1 = si) = bi(o1) · πi

• Recursión:αt(sj) = P(Xt = sj , o1 · · · ot)

= P(ot |Xt = sj , o1 · · · ot−1) · P(Xt = sj , o1 · · · ot−1)

= P(ot |Xt = sj) ·∑

1≤i≤n

P(Xt = sj ,Xt−1 = si , o1 · · · ot−1)

= P(ot |Xt = sj) ·∑

1≤i≤n

( P(Xt = sj |Xt−1 = si , o1 · · · ot−1) ·P(Xt−1 = si , o1 · · · ot−1) )

= P(ot |Xt = sj) ·∑

1≤i≤n

( P(Xt = sj |Xt−1 = si) ·P(Xt−1 = si , o1 · · · ot−1) )

= bj(ot)∑

1≤i≤n

(aij · αt−1(si))

Page 29: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de “avance”(forward)

• Entrada:• Un modelo oculto de Markov• Una secuencia de percepciones O = o1 · · · ot

• Salida:• Valores αt(si) = P(Xt = sj ,o1 · · · ot), para cada estado si

• Procedimiento:• Inicio: α1(si) = bi(o1) · πi , para 1 ≤ i ≤ n• Para k desde 2 a t :

• Para j desde 1 a n:• Hacer αk (sj) = bj(ok )

∑1≤i≤n

(aij · αk−1(si))

• Devolver los αt(si), para 1 ≤ i ≤ n

Nótese que la recursión es similar a la que se ha visto para cadenas deMarkov, pero en este caso se “actualiza” con la probabilidad de lapercepción, bj(ok )

Page 30: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de avance para el ejemplo 1

• Para el ejemplo 1, supongamos que hasta el cuarto día lasecuencia de percepciones es O = (3,1,3,2) (es deciro1 = 3, o2 = 1, o3 = 3 y o4 = 2). Calculemos α4(s1) yα4(s2) (donde s1 = c y s2 = f )• Paso 1:

α1(s1) = b1(o1) · π1 = 0.4 · 0.8 = 0.32α1(s2) = b2(o1) · π2 = 0.1 · 0.2 = 0.02

• Paso 2:α2(s1) = b1(o2) · [a11 · α1(s1) + a21 · α1(s2)]

= 0.2 · [0.7 · 0.32 + 0.4 · 0.02] = 0.0464α2(s2) = b2(o2) · [a12 · α1(s1) + a22 · α1(s2)]

= 0.5 · [0.3 · 0.32 + 0.6 · 0.02] = 0.054

Page 31: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de avance para el ejemplo 1

• Para el ejemplo 1, supongamos que hasta el cuarto día lasecuencia de percepciones es O = (3,1,3,2) (es deciro1 = 3, o2 = 1, o3 = 3 y o4 = 2). Calculemos α4(s1) yα4(s2) (donde s1 = c y s2 = f )• Paso 3:

α3(s1) = b1(o3) · [a11 · α2(s1) + a21 · α2(s2)]

= 0.4 · [0.7 · 0.0464 + 0.4 · 0.054] = 0.021632α3(s2) = b2(o3) · [a12 · α2(s1) + a22 · α2(s2)]

= 0.1 · [0.3 · 0.0464 + 0.6 · 0.054] = 0.004632

• Paso 4:α4(s1) = b1(o4) · [a11 · α3(s1) + a21 · α3(s2)]

= 0.4 · [0.7 · 0.021632 + 0.4 · 0.004632] = 0.00679808α4(s2) = b2(o4) · [a12 · α3(s1) + a22 · α3(s2)]

= 0.4 · [0.3 · 0.021632 + 0.6 · 0.004632] = 0.00370752

Page 32: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de avance para el ejemplo 2

• Para el ejemplo 2, supongamos que los dos primeros díasobservamos paraguas y el tercero no (es decir, o1 = u,o2 = u y o3 = ¬u). Calculemos la probabilidad de lluvia enel tercer día (los estados son s1 = l y que s2 = ¬l)• Paso 1:

α1(s1) = b1(o1) · π1 = 0.9 · 0.5 = 0.45α1(s2) = b2(o1) · π2 = 0.2 · 0.5 = 0.1

• Paso 2:α2(s1) = b1(o2) · [a11 · α1(s1) + a21 · α1(s2)]

= 0.9 · [0.7 · 0.45 + 0.3 · 0.1] = 0.3105α2(s2) = b2(o2) · [a12 · α1(s1) + a22 · α1(s2)]

= 0.2 · [0.3 · 0.45 + 0.7 · 0.1] = 0.0410

Page 33: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de avance para el ejemplo 2

• Para el ejemplo 2, supongamos que los dos primeros díasobservamos paraguas y el tercero no (es decir, o1 = u,o2 = u y o3 = ¬u). Calculemos la probabilidad de lluvia enel tercer día (los estados son s1 = l y que s2 = ¬l)• Paso 3:

α3(s1) = b1(o3) · [a11 · α2(s1) + a21 · α2(s2)]

= 0.1 · [0.7 · 0.3105 + 0.3 · 0.0410] = 0.022965α3(s2) = b2(o3) · [a12 · α2(s1) + a22 · α2(s2)]

= 0.8 · [0.3 · 0.3105 + 0.7 · 0.0410] = 0.097480

• Nota: ¿tenemos ya calculada la probabilidad de que eltercer día sea de lluvia dado que se han observadoparaguas en los dos primeros días y sin paraguasel tercero?

• Aún no, queda un pequeño paso (¿cuál?)

Page 34: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Idea gráfica del cálculo que se realiza

Imagen tomada de wikipedia

Page 35: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

¿Cómo usamos los αt(sj)? (I)

• Recordar que αt(sj) = P(Xt = sj ,o1 · · · ot)

• Los αt(sj) que calcula el algoritmo de avance se usanpara:• Calcular la probabilidad (incondicional) de una secuencia

dada de percepciones• Calcular la probabilidad de que tengamos un estado en el

instante t , dada la secuencia de percepciones hasta eseinstante (lo que hemos llamado filtrado)

• Cálculo de la probabilidad de una secuencia:• P(o1 · · · ot) =

∑1≤i≤n

P(Xt = si ,o1 · · · ot) =∑

1≤i≤n

αt(si)

• En el ejemplo 1, la probabilidad de la secuencia depercepciones O = (3,1,3,2) es P(O) = α4(s1) + α4(s2) =0.00679808 + 0.00370752 = 0.0105056

Page 36: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

¿Cómo usamos los αt(sj)? (II)

• Cálculo de la probabilidad de que en el instante t estemosen un estado sj , condicionado a que se ha observado lasecuencia o1 · · · ot (filtrado):• P(Xt |o1 · · · ot) se obtiene normalizando P(Xt ,o1 · · · ot)• Es decir, normalizando los αt(si), 1 ≤ i ≤ n, se obtienen las

correspondientes probabilidades de filtrado• En el ejemplo 2, la probabilidad de que el tercer día sea

lluvioso, dado que se ha observado O = (u,u,¬u) (los dosprimeros días con paraguas y el tercero no) se obtiene:• Normalizamos 〈α3(s1), α3(s2)〉 =〈0.190667939723525, 0.809332060276475〉, obteniendo≈ 〈0.19, 0.81〉

• Por tanto, P(X3 = l|uu¬u) ≈ 0.19

Page 37: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Smoothing¿cuál es el estado más probable para alguna de las posicionesintermedias?

• Supongamos que tenemos la secuencia O = o1o2 · · · ot depercepciones hasta el instante t .

• Dado un estado q queremos calcular la probabilidad deque, habiendo observado la secuencia O hasta el instantet , el estado del sistema en el instante k (1 ≤ k < t) sea q;

P(Xk = q|O) =P(Xk = q,O)

P(O)=

P(Xk = q,O)∑1≤i≤n

αt(si).

• Se tiene que

P(Xk = q,O) = P(Xk = q, o1, . . . , ok )P(ok+1, . . . , ot |Xk = q, o1, . . . , ok )

= P(Xk = q, o1, . . . , ok )P(ok+1, . . . , ot |Xk = q)

= αk (q)P(ok+1, . . . , ot |Xk = q)

Page 38: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Cálculo recursivo para “smoothing” (I)

Si llamamos βk (sj) a P(ok+1, . . . ,ot |Xk = sj), tenemos:• Inicio:βt−1(si)= P(ot |Xt−1 = si) =

∑1≤j≤n

P(ot ,Xt = sj |Xt−1 = si)

=∑

1≤j≤n

P(ot |Xt = sj ,Xt−1 = si)P(Xt = sj |Xt−1 = xi)

=∑

1≤j≤n

P(ot |Xt = sj)aij =∑

1≤j≤n

bj(ot)aij

Page 39: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Cálculo recursivo para “smoothing” (II)

• Recursión:βr (si) = P(or+1, . . . , ot |Xr = si) =

∑1≤j≤n

P(or+1, . . . , ot ,Xr+1 = sj |Xr = si)

=∑

1≤j≤n

P(or+1, . . . , ot |Xr+1 = sj ,Xr = si)P(Xr+1 = sj |Xr = xi)

=∑

1≤j≤n

P(or+1, or+2, . . . , ot |Xr+1 = sj)aij

=∑

1≤j≤n

P(or+1|Xr+1 = sj)P(or+2, . . . , ot |Xr+1 = sj , or+1)aij

=∑

1≤j≤n

bj(or+1)P(or+2, . . . , ot |Xr+1 = sj)aij =∑

1≤j≤n

bj(or+1)βr+1(sj)aij

Se suele iniciar la recursión considerando: βt(si) = 1

Page 40: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de “retroceso”(backward)

• Entrada:• Un modelo oculto de Markov• Una secuencia de percepciones O = o1 · · · ot• Un entero k tal que 1 ≤ k < t .

• Salida:• Valores βk (si) = P(ok+1, . . . ,ot |Xk = si), para cada estado

si

• Procedimiento:• Inicio: βt(si) = 1, para 1 ≤ i ≤ n• Para r desde t − 1 a k :

• Para j desde 1 a n:• Hacer βr (sj) =

∑1≤i≤n

bi(or+1)βr+1(si)aji

• Devolver los βk (si), para 1 ≤ i ≤ n

Page 41: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de retroceso para el ejemplo 1

• Para el ejemplo 1, supongamos que hasta el cuarto día lasecuencia de percepciones es O = (3,1,3,2) (es deciro1 = 3, o2 = 1, o3 = 3 y o4 = 2). Calculemos β2(s2) yβ2(s2) (donde s1 = c y s2 = f )• Paso 1:

β3(s1) = b1(o4) · a11 + b2(o4) · a12

= 0.4 · 0.7 + 0.4 · 0.3 = 0.4β3(s2) = b1(o4) · a21 + b2(o4) · a22

= 0.4 · 0.4 + 0.4 · 0.6 = 0.4

• Paso 2:β2(s1) = b1(o3) · β3(s1) · a11 + b2(o3) · β3(s2) · a12

= 0.4 · 0.4 · 0.7 + 0.1 · 0.4 · 0.3 = 0.124β2(s2) = b1(o3) · β3(s1) · a21 + b2(o3) · β3(s2) · a22

= 0.4 · 0.4 · 0.4 + 0.1 · 0.4 · 0.6 = 0.088

Page 42: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de retroceso para el ejemplo 1

• Para el ejemplo 1, supongamos que hasta el cuarto día lasecuencia de percepciones es O = (3,1,3,2) (es deciro1 = 3, o2 = 1, o3 = 3 y o4 = 2). ¿Cuál es la probabilidadde cada uno de los estados el segundo día?

A partir de los ejemplos de avance y retroceso tenemosque:• α2(s1) = 0.0464 y α2(s2) = 0.054• β2(s1) = 0.124 y β2(s2) = 0.088

Multiplicando y normalizando:• P(X2 = s1|O) = .5476698• P(X2 = s2|O) = .4523302

Page 43: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo “forward-backward”

• Entrada:• Un modelo oculto de Markov• Una secuencia de percepciones O = o1 · · · ot• Un entero k tal que 1 ≤ k ≤ t .

• Salida:• Valores P(Xk = si ,o1, . . . ,ot), para cada estado si

• Procedimiento:• Inicio: βt(si) = 1 y α1(si) = bi(o1) · πi , para 1 ≤ i ≤ n• Para r desde t − 1 a k :

• Para j desde 1 a n:• Hacer βr (sj) =

∑1≤i≤n

bi(or+1)βr+1(si)aji

• Para r desde 2 a k :• Para j desde 1 a n:• Hacer αr (sj) = bj(or )

∑1≤i≤n

(aij · αr−1(si))

• Devolver αk (si)βk (si), para 1 ≤ i ≤ n

Page 44: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Decodificación (explicación más verosímil)

• Nuevamente, tenemos un modelo oculto de Markov y unasecuencia de percepciones O = o1 · · · ot

• Se trata ahora de calcular la secuencia de estadosQ = q1 · · · qt que mejor explica las percepciones

• Es decir, buscamos:

argmaxQ

P(Q|O)

• Podríamos calcular P(Q|O) (ó P(Q,O)) para todas lassecuencias posibles de estados Q, y tomar aquella que dael máximo• Ineficiente (O(nt))

• Cómo con el filtrado, emplearemos un método máseficiente, basado en recursión

Page 45: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Decodificación: método recursivo

• Dada una secuencia de estados q1 · · · qt tal que qt = sj ,podemos calcular la probabilidad de pasar por esasecuencia de estados, habiendo además observadoo1 · · · ot .

• Notaremos νt(sj) a la máxima de esas probabilidades,entre todas esas secuencias de estados. Es decir:

νt(sj) = maxq1q2···qt−1

P(o1 · · · ot ,q1 · · · qt−1,Xt = sj)

• Cada νt(sj) se puede calcular recursivamente, en funciónde los νt−1(si),1 ≤ i ≤ n del instante anterior

Page 46: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Decodificación: método recursivo

• La idea principal de la recursión es que la secuencia más probable deestados hasta llegar a Xt = sj , se compone de la secuencia másprobable de llegar hasta un cierto estado si en el instante t − 1, seguidode un paso de transición desde tal si a sj . Por tanto, sólo hay que“buscar” entre los caminos más probables hasta el instante t − 1 y verdesde cuál se obtiene la probabilidad máxima dando un paso más:

2s2s 2s

o1 o1

s

sn

1

3s

s

sn

1

3s

s

sn

1

3s

sj

ks

1 2 t−1

ot−1

t

ot

Tiempo:

estados

Posibles

Percepciones:

Page 47: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Decodificación: método recursivo

• Inicio: ν1(si) = P(o1,X1 = si) = P(o1|X1 = si) · P(X1 = si) = bi(o1)πi

• Recursión:νt(sj) = max

q1q2···qt−1P(o1 · · · ot , q1 · · · qt−1,Xt = sj)

= maxq1q2···qt−1

( P(ot |o1 · · · ot−1, q1 · · · qt−1,Xt = sj) ·P(o1 · · · ot−1, q1 · · · qt−1,Xt = sj) )

= P(ot |Xt = sj) · maxq1q2···qt−1

P(o1 · · · ot−1, q1 · · · qt−1,Xt = sj)

= P(ot |Xt = sj) ·max

i=1,...,n( P(Xt = sj |Xt−1 = si) ·

maxq1q2···qt−2

P(o1 · · · ot−1, q1 · · · qt−2,Xt−1 = si) )

= bj(ot) maxi=1,...,n

(aij · νt−1(si))

Page 48: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Decodificación: método recursivo

• Se trata de un esquema recursivo análogo al del algoritmode avance usado para filtrado, excepto que en lugar desumatorios, se toman máximos

• En este caso, además de calcular las probabilidadesmáximas, debemos llevar la cuenta de la secuencia deestados que se corresponden con esas probabilidades• Se consigue almacenando, para cada estado e instante de

tiempo, un puntero prt(sj) al estado inmediatamenteanterior en la secuencia más probable

• El método descrito se denomina algoritmo de Viterbi

Page 49: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi

• Entrada:• Un modelo oculto de Markov• Una secuencia de percepciones O = o1 · · · ot

• Salida:• La secuencia de estados Q que maximiza P(Q|O)

• Procedimiento:• Inicio: Para i = 1, . . . ,n, hacer ν1(si) = bi(o1) · πi y

pr1(si) = null ,• Para k desde 2 a t :

• Para j desde 1 a n:• Hacer νk (sj) = bj(ok ) max

i=1,...,n(aij · νk−1(si))

• Hacer prk (sj) = argmaxi=1,...,n

(aij · νk−1(si))

• Hacer s = argmaxi=1,...,n

νt(si)

• Devolver la secuencia de estados que lleva hasta s(siguiendo hacia atrás los punteros, comenzando en prt(s))

Page 50: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi para el ejemplo 1

• Para el ejemplo 1, supongamos que hasta el cuarto dia lasecuencia de percepciones es O = (3,1,3,2). Calculemosla secuencia de estados más probablecon esas percepciones (los estado son s1 = c y s2 = f )• Paso 1:

ν1(s1) = b1(o1) · π1 = 0.4 · 0.8 = 0.32pr1(s1) = nullν1(s2) = b2(o1) · π2 = 0.1 · 0.2 = 0.02pr1(s2) = null

Page 51: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi para el ejemplo 1

• Para el ejemplo 1, supongamos que hasta el cuarto dia lasecuencia de percepciones es O = (3,1,3,2). Calculemosla secuencia de estados más probablecon esas percepciones (los estado son s1 = c y s2 = f )• Paso 2:

ν2(s1) = b1(o2) ·max{a11 · ν1(s1), a21 · ν1(s2)}= 0.2 ·max{0.7 · 0.32, 0.4 · 0.02}= 0.2 ·max{0.224, 0.008} = 0.0448

pr2(s1) = s1

ν2(s2) = b2(o2) ·max{a12 · ν1(s1), a22 · ν1(s2)}= 0.5 ·max{0.3 · 0.32, 0.6 · 0.02}= 0.5 ·max{0.096, 0.012} = 0.048

pr2(s2) = s1

Page 52: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi para el ejemplo 1

• Para el ejemplo 1, supongamos que hasta el cuarto dia lasecuencia de percepciones es O = (3,1,3,2). Calculemosla secuencia de estados más probablecon esas percepciones (los estado son s1 = c y s2 = f )• Paso 3:

ν3(s1) = b1(o3) ·max{a11 · ν2(s1), a21 · ν2(s2)}= 0.4 ·max{0.7 · 0.0448, 0.4 · 0.048}= 0.4 ·max{0.03136, 0.0192} = 0.012544

pr3(s1) = s1

ν3(s2) = b2(o3) ·max{a12 · ν2(s1), a22 · ν2(s2)}= 0.1 ·max{0.3 · 0.0448, 0.6 · 0.048}= 0.1 ·max{0.01344, 0.0288} = 0.00288

pr3(s2) = s2

Page 53: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi para el ejemplo 1

• Para el ejemplo 1, supongamos que hasta el cuarto dia lasecuencia de percepciones es O = (3,1,3,2). Calculemosla secuencia de estados más probablecon esas percepciones (los estado son s1 = c y s2 = f )• Paso 4:

ν4(s1) = b1(o4) ·max{a11 · ν3(s1), a21 · ν3(s2)}= 0.4 ·max{0.7 · 0.012544, 0.4 · 0.00288}= 0.4 ·max{0.0087808, 0.001152} = 0.00351232

pr4(s1) = s1

ν4(s2) = b2(o4) ·max{a12 · ν3(s1), a22 · ν3(s2)}= 0.4 ·max{0.3 · 0.012544, 0.6 · 0.00288}= 0.4 ·max{0.0037632, 0.001728} = 0.00150528

pr4(s2) = s1

Page 54: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi para el ejemplo 1

• Para el ejemplo 1, supongamos que hasta el cuarto dia lasecuencia de percepciones es O = (3,1,3,2). Calculemosla secuencia de estados más probablecon esas percepciones (los estado son s1 = c y s2 = f )• Paso final:

• El estado que da la probabilidad máxima en t = 4 es s1,con probabilidad 0.00351232

• Reconstruimos el camino hasta s1:pr4(s1) = s1, pr3(s1) = s1, pr2(s1) = s1

• Luego la secuencia de estados más probable es(s1, s1, s1, s1) (es decir, cuatro días seguidos de calor)

Page 55: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi para el ejemplo 2

• Para el ejemplo 2, supongamos que la secuencia depercepciones hasta el tercer día es O = (u,u,¬u)(paraguas los dos primeros días y el tercero no).Calculemos la secuencia de estados más probable, conesas percepciones (los estados son s1 = l y s2 = ¬l)• Paso 1:

ν1(s1) = b1(o1) · π1 = 0.9 · 0.5 = 0.45pr1(s1) = nullν1(s2) = b2(o1) · π2 = 0.2 · 0.5 = 0.1pr1(s2) = null

Page 56: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi para el ejemplo 2

• Para el ejemplo 2, supongamos que la secuencia depercepciones hasta el tercer día es O = (u,u,¬u)(paraguas los dos primeros días y el tercero no).Calculemos la secuencia de estados más probable, conesas percepciones (los estados son s1 = l y s2 = ¬l)• Paso 2:

ν2(s1) = b1(o2) ·max{a11 · ν1(s1), a21 · ν1(s2)}= 0.9 ·max{0.7 · 0.45, 0.3 · 0.1}= 0.9 ·max{0.315, 0.03} = 0.2835

pr2(s1) = s1

ν2(s2) = b2(o2) ·max{a12 · ν1(s1), a22 · ν1(s2)}= 0.2 ·max{0.3 · 0.45, 0.7 · 0.1}= 0.2 ·max{0.135, 0.07} = 0.027

pr2(s2) = s1

Page 57: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi para el ejemplo 2

• Para el ejemplo 2, supongamos que la secuencia depercepciones hasta el tercer día es O = (u,u,¬u)(paraguas los dos primeros días y el tercero no).Calculemos la secuencia de estados más probable, conesas percepciones (los estados son s1 = l y s2 = ¬l)• Paso 3:

ν3(s1) = b1(o3) ·max{a11 · ν2(s1), a21 · ν2(s2)}= 0.1 ·max{0.7 · 0.2835, 0.3 · 0.027}= 0.1 ·max{0.19845, 0.0081} = 0.019845

pr3(s1) = s1

ν3(s2) = b2(o3) ·max{a12 · ν2(s1), a22 · ν2(s2)}= 0.8 ·max{0.3 · 0.2835, 0.7 · 0.027}= 0.8 ·max{0.08505, 0.0189} = 0.06804

pr3(s2) = s1

Page 58: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi para el ejemplo 2

• Para el ejemplo 2, supongamos que la secuencia depercepciones hasta el tercer día es O = (u,u,¬u)(paraguas los dos primeros días y el tercero no).Calculemos la secuencia de estados más probable, conesas percepciones (los estados son s1 = l y s2 = ¬l)• Paso final:

• El estado que da la probabilidad máxima en t = 3 es s2,con probabilidad 0.06804

• Reconstruimos el camino hasta s1:pr3(s2) = s1, pr2(s1) = s1

• Luego la secuencia de estados más probable es(s1, s1, s2) (es decir, los dos primeros días con lluviay el segundo no)

Page 59: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

El problema de los números muy bajos

• Problema en los dos algoritmos que hemos visto:• A medida que aumenta el número de percepciones, tanto

los αk (sj) como los νk (sj) son números cada vez máscercanos a cero

• Para evitar esto en el algoritmo de avance, es usual queen cada paso, se aplique normalización de los αk (sj)

• ¿Cambia esto el resultado en el algoritmo de avance?• Estaríamos calculando en cada paso t las probabilidades

de filtrado P(Xk = sj |o1 · · · ok ) (en lugar deP(Xk = sj ,o1 · · · ok ))

• Si quisieramos saber, la probabilidad P(o1 · · · ot), ésta secalcularía como la inversa del producto de los factores denormalización usados en cada paso (¿por qué?)

Page 60: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

El problema de los números muy bajos en Viterbi

• En el algoritmo de Viterbi también podríamos usarnormalización (y no cambiaría el resultado final)

• Sin embargo, puesto que no realiza sumas, es usual tratareste problema mediante el uso de logaritmos(log-probabilidades)

• Si se toman logaritmos, los productos que realiza elalgoritmo se transforman en sumas

• Esto no afecta al cálculo de los máximos, ya que ellogaritmo es una función creciente

• Nótese que las log-probabilidades de las tablas detransición y de las de percepción se pueden calcular alprincipio

Page 61: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de Viterbi (log-modificado)

• Entrada:• Un modelo oculto de Markov• Una secuencia de percepciones O = o1 · · · ot

• Salida:• La secuencia de estados Q que maximiza P(Q|O)

• Procedimiento:• Inicio: Para i = 1, . . . ,n, hacer ν̂1(si) = log(bi(o1)) + log(πi)

y pr1(si) = null ,• Para k desde 2 a t :

• Para j desde 1 a n:• Hacer ν̂k (sj) = log(bj(ot)) + max

i=1,...,n(log(aij) + ν̂k−1(si))

• Hacer prk (sj) = argmaxi=1,...,n

(log(aij) + ν̂k−1(si))

• Hacer s = argmaxi=1,...,n

ν̂t(si)

• Devolver la secuencia de estados que lleva hasta s(siguiendo hacia atrás los punteros, comenzando en prt(s))

Page 62: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Aprendizaje de MOMs

• El tercer problema importante en MOMs es el aprendizaje:• Conocemos el número de posibles estados y de

percepciones, pero no conocemos ni las probabilidades detransición ni de percepción.

• Sólo tenemos una secuencia de percepciones o1 · · · ot ,usualmente con t muy grande.

• El algoritmo que se usa para este tipo de problema es eldenominado algoritmo de Baum-Welch• Es un algoritmo de tipo EM

• Otra posibilidad es hacer una aprendizaje ML• Sólo es válido si también tenemos la secuencia de estados

correspondiente a las percepciones q1 · · · qt

Page 63: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Aprendizaje ML

• πi = P(X1 = si) =Lsi∑

1≤k≤n

Lsk

siendo Lsk el número de

veces que el estado inicial es sk .

• aij = P(Xt = sj |Xt−1 = si) =Nsi sj∑

1≤k≤n

Nsi sk

siendo Nsi sk el

número de veces que el estado sk sigue al estado si

• bi(vj) = P(Et = vj |Xt = si) =Msi vj∑

1≤k≤m

Msi vk

siendo Msi vk el

número de veces que el estado es si y se observa vk (enla misma posición)

Page 64: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Estimación para ejemplo 1Conocemos las secuencias de percepciones y estados:

f f f f f c f c c1 2 1 1 2 3 2 3 3

c f f c c c c c c2 2 1 1 2 3 2 2 3

f f f f f f c c c2 1 3 2 1 1 2 3 2

Calculamos las frecuencias y estimamos las probabilidades

Lf = 2,Lc = 1πf = 2/3, πc = 1/3

N f cf 10 4c 2 8

A f cf 5/7 2/7c 1/5 4/5

M 1 2 3f 7 4 1c 1 6 6

B 1 2 3f 7/12 1/3 1/12c 1/13 6/13 6/13

Page 65: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo tipo EM

• Inicio: Parámetros iniciales del modelo estadístico• Paso E: Calcular ciertos valores esperados a partir de los

parámetros del modelo• Paso M: Estimar los parámetros del modelo a partir de los

valores esperados anteriores.• Repetir los dos pasos anteriores hasta algún criterio de

convergencia (o limitando el número de veces)

Page 66: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo Baum-Welch

• Entrada:• Un modelo oculto de Markov, λ = (π,A,B)• Una secuencia de percepciones O = o1 · · · ot

• Salida:• Un modelo oculto de Markov, λ′ tal que P(O|λ′) ≥ P(O|λ)

• Procedimiento:• Repetir hasta un determinado criterio de convergencia:

• λ′ = λ• Paso Expectation• Paso Maximization (que da lugar a un modelo λ)

Page 67: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo Baum-Welch: Paso E

Calculamos los valores de las probabilidades de lastransiciones y los estados (conocida una secuencia depercepciones)

• ξk (i , j) = P(Xk = si ,Xk+1 = sj |o1 · · · ot)

ξk (i, j) =P(Xk = si , Xk+1 = sj , o1 · · · ot )

P(o1 · · · ot )

=P(Xk = si , o1 · · · ok )P(Xk+1 = sj , ok+1 · · · ot |Xk = si , o1 · · · ok )

P(o1 · · · ot )

=αk (si )P(Xk+1 = sj , ok+1|Xk = si , o1 · · · ok )P(ok+2 · · · ot |Xk+1 = sj , Xk = si , o1 · · · ok+1)∑

1≤i≤n

αt (si )

=αk (si )P(Xk+1 = sj , ok+1|Xk = si )P(ok+2 · · · ot |Xk+1 = sj )∑

1≤i≤n

αt (si )

=αk (si )P(Xk+1 = sj |Xk = si )P(ok+1|Xk+1 = sj , Xk = si )βk+1(sj )∑

1≤i≤n

αt (si )=αk (si )aij bj (ok+1)βk+1(sj )∑

1≤i≤n

αt (si )

Page 68: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo Baum-Welch: Paso E

Calculamos los valores de las probabilidades de lastransiciones y los estados (conocida una secuencia depercepciones)

• γk (i) = P(Xk = si |o1 · · · ot)

γk (i) =P(Xk = si ,o1 · · · ot)

P(o1 · · · ot)=αk (si)βk (si)∑1≤i≤n

αt(si)

Page 69: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo Baum-Welch: Paso M

Estimamos los parámetros del modelo:• πi = γ1(i)

• aij =

∑1≤k≤t

ξk (i, j)∑1≤k≤t

γk (i)

• bi(vj) =

∑1≤k≤t∧ok=vj

γk (i)∑1≤k≤t

γk (i)

Baum et al. demostraron que si a partir de un modeloλ′ = (π′,A′,B′) calculamos el modelo λ utilizando elprocedimiento anterior (pasos E y M) entonces se tiene que:• o bien, λ = λ′

• o bien, P(O|λ) > P(O|λ′)

Page 70: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Procesos de Decisión de Markov

• Tratamos ahora secuencias de acciones cuyos efectos soninciertos.• Similares a espacios de estados, pero el efecto de una

acción está descrito mediante una distribución deprobabilidad

• Además, se introduce la noción de “recompensa” en unestado.

• Pueden verse como “problemas de decisión secuenciales”• ¿Cómo decidir la mejor acción en cada momento?

• Sabiendo de antemano sus posibles efectos y con quéprobabilidad

• Y la recompensa en cada situación

Page 71: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ejemplo: CuadrículaUn robot en una cuadrícula puede intentar moverse en lascuatro direcciones: arriba, abajo, izquierda, derecha (si chocacon la pared, queda en el mismo sitio). Cada acción consiguesu objetivo con probabilidad 0.8, pero a veces se mueve endirecciones en angulo recto a la que se quería (conprobabilidad 0.1 para cada lado).

Page 72: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ejemplo: CuadrículaEn la siguiente cuadrícula, vista como espacio de estados, losestados son las casillas, las acciones son las descritasanteriormente y el objetivo es llegar al estado final +1, evitandoel -1

Page 73: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ejemplo: Cuadrícula• Si el mundo fuera determinista, una solución sería: arriba,

arriba, izquierda, izquierda, izquierda.• Sin embargo, esa secuencia sólo sigue el camino deseado

con probabilidad (0.8)5. Podría ocurrir también (conprobabilidad más baja) que esa secuencia no le llevara alobjetivo deseado.

• Otra novedad respecto a espacio de estados: cada estadotiene una recompensa asociada.• En el ejemplo: suponemos que todos los estados tienen

recompensa -0.04, excepto los dos estados terminales,que tienen recompensa +1, y -1, respectivamente. En losestados terminales, ya no se puede aplicar ninguna acción.

• El objetivo es decidir en cada estado qué acción aplicar,de manera que se maximice el total de recompensas delos estados por donde se pasa.• Más adelante matizaremos qué queremos decir con el total

de recompensas

Page 74: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Procesos de Decisión de Markov

Un Proceso de Decisión de Markov viene definido por:

• Un conjunto S de estados (con un estado inicial s0)• Para cada estado, un conjunto A(s) de acciones

aplicables a ese estado.• Un modelo de transición, dado por una distribución de

probabilidad P(s′|s,a) para cada par de estados s′, s yacción a aplicable a s (indicando la probabilidad de queaplicando a a s se obtenga s′).

• Una función de recompensa R(s).

Propiedad de Markov: el efecto (incierto) de una acción sobreun estado sólo depende de la acción y del propio estado (y node estados anteriores)

Page 75: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Políticas

• En este contexto, una solución no puede ser unasecuencia de acciones, ya que el efecto de cada acción esincierto.

• Más bien buscamos una política que en cada posibleestado recomiende una acción a aplicar: por cada estadoque pasemos, aplicamos la acción que nos recomiendaesa política• Formalmente: una política es una función π definida sobre

el conjunto de estados S, de manera que π(s) ∈ A(s)

• Una misma política puede generar secuencias de accionesdistintas (aunque unas con más probabilidades que otras).

• Se busca la política óptima: aquella que maximice larecompensa media esperada para las posibles secuenciasde acciones que se puedan generar

Page 76: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ejemplo de políticas en la cuadrícula

1 2 3

1

2

3 + 1

–1

4

–1

+1

R(s) < –1.6284

(a) (b)

– 0.0221 < R(s) < 0

–1

+1

–1

+1

–1

+1

R(s) > 0

– 0.4278 < R(s) < – 0.0850

Page 77: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Valoración de secuencia de estados en el tiempo

• Supongamos que mediante aplicación de una secuenciade acciones, se ha generado una secuencia de estadosq0q1q2 · · ·

• ¿Cómo valoramos una secuencia de estados? Idea: apartir de las recompensas, pero penalizando el largo plazo

• Valoración mediante recompensa con descuento:

V ([q0q1q2 · · · ]) = R(q0) + γR(q1) + γ2R(q2) + · · ·

donde γ es el llamado factor de descuento• En el ejemplo de la cuadrícula:

• Con γ = 0.8, la secuencia de estados(1,1),(2,1),(3,1),(3,2),(3,3),(3,4) tiene una valoración−0.04−0.04·0.8−0.04·0.82−0.04·0.83−0.04·0.84+1·0.85 =0.193216

Page 78: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Valoraciones de secuencias: percepciones

• Suponemos horizonte infinito• No hay un plazo fijo de terminación• Procesos estacionarios: la política óptima a partir de un

momento sólo depende del estado en ese momento• ¿Esto implica que las valoraciones pueden ser infinitas?

En general, no:• Si hay estados terminales, los asimilamos a estados a

partir del cual las recompensas son cero.• Aún con posibles secuencias infinitas, si las recompensas

están acotadas por una cantidad Rmax y γ < 1, entonces lavaloración de una secuencia no puede ser mayor deRmax/(1− γ) (¿por qué?)

Page 79: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Valoración de estados respecto de una política• Dada una política π y un estado s, podemos valorar s

respecto de π teniendo en cuenta la valoración de lassecuencias de estados que se generan si se sigue dichapolítica a partir de s

• Ejemplo: si en la cuadrícula estamos en el estado (1,4) yaplicamos la política (a) del gráfico anterior, podríamosgenerar distintas secuencias, cada una con unaprobabilidad y una valoración. Entre otras:• (1,4), (1,3), (1,2), (1,1), (2,1), (3,1), (3,2), (3,3), (3,4),

con probabilidad 0.88 = 0.168 y valoración 0.0013 (siendoγ = 0.8 y R = −0.04)

• (1,4), (1,3), (2,3), (3,3), (3,4) con probabilidad0.83 · 0.1 = 0.0512 y valoración 0.291

• (1,4), (1,3), (2,3), (2,4) con probabilidad0.8 · 0.12 = 0.008 y valoración -0.609

• (1,4), (2,4) con probabilidad 0.1 y valoración -0.84• · · ·

Page 80: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Valoración de estados respecto de una política

• Idea: valorar un estado s respecto de una política π comola media esperada (es decir, ponderada por suprobabilidad) de las valoraciones de todas las secuenciasque se podrían obtener.• En el ejemplo anterior:

0.168 ·0.0013+0.0512 ·0.291−0.008 ·0.609−0.1 ·0.84+ · · ·

• La valoración de un estado respecto de una política π lanotamos por Vπ(s)

Page 81: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Cálculo de valoración respecto de una política

• Afortunadamente, para obtener Vπ(s) no necesitaremoscalcular todas las posibles secuencias que podríaniniciarse en s

• La clave está en la siguiente propiedad de Vπ, querelaciona la valoración de cada estado con la de sus“vecinos”:

Vπ(s) = R(s) + γ ·∑s′

(P(s′|s, π(s)) · Vπ(s′))

• Calcular Vπ es resolver ese sistema de ecuacioneslíneales:• Las incognitas son los Vπ(s), una por cada estado s• Hay tantas ecuaciones como estados

Page 82: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Cálculo de valoración respecto de una política(ejemplo)

En la política (a) de la cuadrícula en la figura anterior, éstasserían alguna de las ecuaciones que salen:

• Vπ(1,1) = −0.04+γ ·(0.8·Vπ(2,1)+0.1·Vπ(1,1)+0.1·Vπ(1,2))

• Vπ(1,2) = −0.04 + γ · (0.8 · Vπ(1,1) + 0.2 · Vπ(1,2))

• Vπ(1,3) = −0.04+γ ·(0.8·Vπ(1,2)+0.1·Vπ(1,3)+0.1·Vπ(2,3))

• · · ·

• Vπ(3,4) = +1

Resolviendo este sistema, obtenemos Vπ

Page 83: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Políticas óptimas y valoraciones de estados• La valoración de un estado s, notada V (s), se define

como:

V (s) = maxπ

Vπ(s)

• Es decir, la mejor valoración que una política puedaconseguir a partir de dicho estado.

• Podemos además definir una política óptima π∗ de lasiguiente manera:

π∗(s) = argmaxa∈A(s)

∑s′

(P(s′|s,a) · V (s′))

• Es decir, en cada estado, aplicar la acción que lleve a lamejor valoración esperada en el estado siguiente

• Objetivo: calcular V y π∗

Page 84: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ecuaciones de Bellman

• De manera análoga a Vπ, podemos describir V (s) enfunción de las valoraciones de los estados “vecinos”. Sonlas llamadas ecuaciones de Bellman:

V (s) = R(s) + γ · maxa∈A(s)

∑s′

(P(s′|s,a) · V (s′))

• Nuevamente, es un sistemas de ecuaciones (una ecuaciónpor estado).

• La solución a este sistema de ecuaciones nos da lavaloración de cada estado y a partir de ésta, la políticaóptima

Page 85: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ecuaciones de Bellman (ejemplo)

• Por ejemplo, en la cuadrícula, la ecuación correspondienteal estado de la casilla (1,1) es:

V (1,1) = −0.04+γ·max [ 0.8V (1,2) + 0.1V (2,1) + 0.1V (1,1),0.9V (1,1) + 0.1V (1,2),0.9V (1,1) + 0.1V (2,1),0.8V (2,1) + 0.1V (1,2) + 0.1V (1,1)]

• Las demás ecuaciones, son similares, una por cadaestado

Page 86: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Ecuaciones de Bellman (ejemplo)

La siguiente figura muestra la valoración de cada estado en elproblema de la cuadrícula (para γ = 1, y R(s) = −0.04),obtenida solucionando las correspondientes ecuaciones deBellman.

1 2 3

1

2

3

–1

+ 1

4

0.611

0.812

0.655

0.762

0.918

0.705

0.660

0.868

0.388

Page 87: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Cálculo de política óptima (ejemplo)

A partir de la valoración anterior, podemos calcular la políticaóptima, usando la fórmulaπ∗(s) = argmax

a∈A(s)

∑s′

(P(s′|s,a) · V (s′)). Por ejemplo, en el

estado (1,1):

• Acción arriba:0.8 · 0.762 + 0.1 · 0.705 + 0.1 · 0.655 = 0.7456

• Acción abajo: 0.8 · 0.705 + 0.1 · 0.705 + 0.1 · 0.655 = 0.7• Acción izquierda:

0.8 · 0.705 + 0.1 · 0.705 + 0.1 · 0.762 = 0.7107• Acción derecha:

0.8 · 0.655 + 0.1 · 0.705 + 0.1 · 0.762 = 0.6707

Luego la acción óptima en el estado (1,1) es moverse haciaarriba. El resto se muestra en la figura anterior (a)

Page 88: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Iteración de valores

• ¿Cómo resolvemos las ecuaciones de Bellman?• Cada V (s) es una incognita en el sistema de ecuaciones.• Hay tantas ecuaciones como estados• Problema: no es un sistema lineal (debido al max)

• Se aplica un método iterativo• Comenzamos con un valor arbitrario V0(s), para cada

estado s• En cada iteración se aplican las ecuaciones de Bellman

para actualizar los valores que se tienen hasta el momento:

Vi+1(s)←− R(s) + γ · maxa∈A(s)

∑s′

(P(s′|s,a) · Vi(s′))

Page 89: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Iteración de valores: propiedades

• Se puede demostrar que los valores que se vancalculando en las diferentes iteraciones convergenasintóticamente hacia la solución (única si γ < 1) de lasecuaciones de Bellman

• La convergencia es rápida para valores de γ pequeños• Además, podemos acotar con bastante precisión el error

que cometemos . Más precisamente:• Sea ||Vi+1 − Vi || = max

s|Vi+1(s)− Vi(s)|

• Se tiene que si ||Vi+1 − Vi || < ε · (1− γ)/γ, entonces||Vi+1 − V || < ε, donde V es la solución exacta a lasecuaciones de Bellman

• Éste será el criterio de parada en las iteraciones

Page 90: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de iteración de valores• Entrada:

• Un proceso de decisión de Markov: conjunto de estados S,A(s), modelo de transición P(s′|s,a), recompensa R(s) ydescuento γ

• ε > 0, cota de error máximo permitido• Salida:

• Una valoración V (s) para cada estado

• Procedimiento:• Inicio: Sean V , V ′ funciones sobre los estados, inicialmente

ambas con valor 0 para cada estado• Repetir:

• Hacer V ′ igual a V y δ = 0• Para cada s ∈ S hacer:• V (s)←− R(s) + γ · max

a∈A(s)

∑s′

(P(s′|s, a) · V ′(s′))

• Si |V (s)− V ′(s)| > δ entonces hacer δ = |V (s)− V ′(s)|hasta que δ < ε · (1− γ)/γ

• Devolver V

Page 91: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Iteración de politicas

• Existe una manera alternativa de obtener V , comenzandocon una política inicial π0 cualquiera:

1. Calcular Vπi

2. A partir de Vπi , calcular una nueva política πi+1 que encada estado recomiende la acción que mejor valoraciónespera, respecto de Vπi

• Los dos pasos anteriores se iteran hasta que πi y πi+1coinciden, en cuyo caso hemos conseguido la políticaóptima, y su valoración asociada es precisamente V .

Page 92: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Iteración de politicas: percepciones

• El proceso anterior termina (pues hay un número finito depolíticas distintas) y devuelve la valoración buscada (yaque se llega a una solución de las ecuaciones de Bellman).

• ¿Cómo calcular Vπi en el paso 1? Dos opciones:• Como ya hemos visto, resolviendo un sistema de

ecuaciones lineal (diapositivas 71 y 72).• Aplicando método iterativo similar al que se usa con las

ecuaciones de Bellman (pero ahora más fácil, ya que nohay máximos):

Vπij+1(s)←− R(s) + γ ·

∑s′

(P(s′|s, πi(s)) · Vπij (s′))

• ¿Cómo calcular πi+1 en el paso 2? Ya lo hemos visto:

πi+1(s) = argmaxa∈A(s)

∑s′

(P(s′|s,a) · Vπi (s′))

Page 93: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Algoritmo de iteración de políticas• Entrada:

• Un proceso de decisión de Markov: conjunto de estados S, A(s), modelode transición P(s′|s, a), recompensa R(s) y descuento γ

• Un número k de iteraciones

• Salida: Una política óptima π y su valoración asociada

• Procedimiento:

• Inicio: π una política aleatoria, asignando una acción a cada estado• Repetir

• Calcular Vπ (iterando k veces la actualización descrita en ladiapositiva anterior)

• Hacer actualizada igual a Falso• Para cada estado s:• Si max

a∈A(s)

∑s′

(P(s′|s, a) · Vπ(s′)) >∑s′

(P(s′|s, π(s)) · Vπ(s′)),

entonces hacer π(s) igual a argmaxa∈A(s)

∑s′

(P(s′|s, a) · Vπ(s′)) y

actualizada igual Verdad

hasta que actualizada sea Falso• Devolver π y Vπ

Page 94: Procesos de Markov - Universidad de Sevilla · 2017-03-02 · Cadenas de MarkovModelos Ocultos de MarkovProcesos de Decisión de Markov Representación gráfica de una cadena de

Cadenas de Markov Modelos Ocultos de Markov Procesos de Decisión de Markov

Bibliografía

• Jurafsky, D. y Martin, J.H. Speech and LanguageProcessing (Second Edition) (Prentice-Hall, 2009)• Cap. 6: “Hidden Markov and Maximum Entropy Models ”

• Russell, S. y Norvig, P. Artificial Intelligence (A modernapproach) (Third edition) (Prentice Hall, 2009)• Cap. 15 (hasta 15.3): “Probabilistic reasoning over time”• Cap. 17 (hasta 17.3): “Making complex decisions”

• Russell, S. y Norvig, P. Inteligencia Artificial (Un enfoquemoderno) (Segunda edición) (Pearson Educación, 2004)• Cap. 15 (hasta 15.3): “Razonamiento probabilista en el

tiempo”• Cap. 17 (hasta 17.3): “Toma de decisiones complejas”