2016-2017 Aprendizaje Automático 5. Modelos gráficos Francisco Casacuberta Nolla (fcn@dsic.upv.es) Enrique Vidal Ruiz (evidal@dsic.upv.es) Departament de Sistemas Informàtics i Computació (DSIC) Universitat Politècnica de València (UPV) Septiembre, 2016 Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.1 Index ◦ 1 Introducción a los modelos gráficos . 1 2 Redes bayesianas . 6 3 Independencia condicional . 14 4 Inferencia en redes bayesianas . 23 5 Campos de Markov aleatorios . 33 6 Aprendizaje de modelos gráficos . 40 7 Bibliografı́a y notación . 51 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.2 Modelos gráficos (MG) • Los MGs y concretamente las redes bayesianas fundamentan la aproximación probabilı́stica a los Sistemas Inteligentes. Uno de los más famosos impulsores fue Judea Pearl ganador del “ACM A.M. Turing Award” en 2011. • Concepto: Representación compacta de distribuciones de probabilidad conjunta mediante grafos dirigidos (redes bayesianas) y no dirigidos (campos aleatorios markovianos) (teorı́a de grafos + teorı́a de la probabilidad). Los MGs generalizan a las redes neuronales y a los modelos de Markov ocultos entre otros. • Aspectos: – Inferencia: deducir distribuciones de probabilidad a partir de otras dadas – Aprendizaje: obtener el modelo probabilı́stico a partir de observaciones • Aplicaciones: – Diagnóstico médico, de fallos, ... – Visión por computador: segmentación de imágenes, reconstrucción 3D, análisis de escenas – Procesado del lenguaje natural: reconocimiento del habla, extracción de información textual, traducción automática, ... – Robótica: planificación, localización, ... Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.3 PÁGINA INTENCIONADAMENTE EN BLANCO Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.4 Algunos conceptos sobre la teorı́a de las probabilidades Probabilidad X P (x) : P (x) = 1 x Probabilidad conjunta P (x, y) : XX x Probabilidad condicional Marginales X P (x) = X P (x | y) : x P (x, y), P (x, y) = 1 y P (x | y) = 1 ∀y P (y) = y P (x, y) x Regla de la probabilidad conjunta Regla de la cadena X P (x, y) = P (x) P (y | x) P (x1, x2, . . . , xN ) = P (x1) N Y i=2 Regla de Bayes P (y | x) P (x) = P (y) P (x | y) P (xi | x1, . . . , xi−1) Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.5 Factorización de distribuciones conjuntas Una distribución conjunta sobre tres variables puede expresarse exactamente mediante seis factorizaciones completas diferentes: P (a, b, c) = P (a) P (b | a) P (c | a, b) = P (a) P (c | a) P (b | a, c) = P (b) P (a | b) P (c | a, b) = P (b) P (c | b) P (a | b, c) = P (c) P (a | c) P (b | a, c) = P (c) P (b | c) P (a | b, c) Estas factorizaciones se pueden representar mediante grafos dirigidos acı́clicos: a a b b c Septiembre, 2016 b c b c a c c c a a b b a DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.6 Index 1 Introducción a los modelos gráficos . 1 ◦ 2 Redes bayesianas . 6 3 Independencia condicional . 14 4 Inferencia en redes bayesianas . 23 5 Campos de Markov aleatorios . 33 6 Aprendizaje de modelos gráficos . 40 7 Bibliografı́a y notación . 51 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.7 Redes bayesianas: ejemplos Si hay dependencias inexistentes (o despreciables), la factorización exacta (o aproximada) de una distribución conjunta puede ser incompleta, lo que queda reflejado en el grafo correspondiente. Ejemplos: P (a, b, c) = P (a) P (b) P (c | a, b) P (a, b, c, d, e, f ) = P (a) P (b) P (c) P (d | b, c) P (e | a, b, d) P (f | a, c) a a c b d b c f e Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.8 Redes bayesianas: un ejemplo detallado Aspersor P (A | L) Lluvia (L) s n P (L) Aspersor (A) f p 0.01 0.99 0.40 0.60 Lluvia Lluvia (L) s n 0.2 0.8 Césped Aspersor Césped Lluvia f: p: m: r: s: n: P (C | A, L) funciona parado mojado reseco sı́ llueve no llueve Lluvia (L) s s n n Aspersor (A) f p f p Césped (C) m r 0.99 0.01 0.80 0.20 0.90 0.10 0.00 1.00 Distribución conjunta: P (L, A, C) = P (L) P (A | L)P (C | L, A) Ejercicio: calcular P (L = l, A = a, C = c), Septiembre, 2016 l ∈ {s, n}, a ∈ {f, p}, c ∈ {m, r}. DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.9 Un ejemplo detallado (cont.) • ¿Cuál es la probabilidad de que llueva si el césped está mojado? P (L = s | C = m) = = = P (L = s, C = m) P (C = m) P a∈{f,p} P (L = s, A = a, C = m) P a∈{f,p},l∈{s,n} P (L = l, A = a, C = m) 0.00198 + 0.1584 0.00198 + 0.288 + 0.1584 + 0.0 = 0.3577 • El césped está mojado. ¿Cuál es la mejor predicción: llueve o no llueve? arg max P (L = l | C = m) = n l∈{s,n} Ejercicio: a) Calcular P (A = a | L = l, C = c), a ∈ {p, f}, l ∈ {s, n}, c ∈ {m, r}. b) Llueve y el cesped está mojado. ¿Cuál es la mejor predicción sobre el estado del aspersor? Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.10 Redes bayesianas: otro ejemplo P (P ) Polución (P) a b 0.1 0.9 Polución Cáncer de pulmón P (X | C) Cáncer (C) p n Rayos X (X) p d n 0.70 0.20 0.10 0.10 0.10 0.80 Polución Fumador Disnea Rayos X Cáncer Septiembre, 2016 Fumador a: b: s: n: s: n: p: d: n: p: n: Disnea Rayos X alto bajo sı́ no sı́ no positivo dudoso negativo positivo negativo Polución (P) a a b b P (F ) Fumador (F) s n 0.3 0.7 P (D | C) Disnea (D) s n Cáncer (C) p 0.65 0.35 n 0.30 0.70 P (C | P, F ) Cáncer (C) Fumador (F) p n s 0.08 0.92 n 0.05 0.95 s 0.03 0.97 n 0.001 0.999 Ejercicio: ¿Cuál es la probabilidad de que un paciente no fumador no tenga cáncer si la radiografı́a ha dado un resultado negativo pero sufre de disnea? DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.11 Redes bayesianas Una red bayesiana es un grafo dirigido y acı́clico (“directed acyclic graph” -DAG-) donde: • Los nodos representan: – variables aleatorias (discretas o contı́nuas) – distribuciones de probabilidad condicional para cada variable xi dados los valores de las variables asociadas a los nodos padres a(xi) • Los arcos representan dependencias entre las variables Una red bayesiana con nodos x1, . . . , xD define una distribución de probabilidad conjunta: P (x1, . . . , xD ) = D Y i=1 Septiembre, 2016 P (xi | a(xi)) DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.12 Algunas redes bayesianas simples • El clasificador de Bayes (x ∈ Rd y c ∈ {1, . . . , C}): P (c) c P (x, c) = P (c) P (x | c) P (x | c) x P (x, c) P c P (x, c) P (c | x) = • Modelos naive-Bayes (xi ∈ R con 1 ≤ i ≤ d y c ∈ {1, . . . , C}): c P (c) P (x1, . . . , xd, c) = P (c) xd x1 P (x1 | c) d Y i=1 P (xi | c) P (xd | c) Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.13 Otro ejemplo de red bayesiana: modelo oculto de Markov P(q |q ) 2 2 P(q |q ) 1 1 P(x|q ) P(q |q ) 1 2 1 q 1 P(X |Q ) P(X |Q ) 1 1 2 2 X1 X2 P(X |Q ) 3 3 X3 P(X |Q ) 4 4 X4 P(x|q ) 2 q2 Σ = {a, b, c}, x ∈ Σ Q = {q1, q2} Q 1 P(Q ) 1 Q 2 P(Q |Q ) 2 1 Q 3 P(Q |Q ) 3 2 Q 4 P(Q |Q ) 4 3 Las variables aleatorias Qi toman valores en Q y las Xi en Σ, 1 ≤ i ≤ 4. Probabilidad conjunta de la red bayesiana: P (X1 X2 X3 X4, Q1 Q2 Q3 Q4) = P (Q1) P (X1 | Q1) P (Q2 | Q1) P (X2 | Q2) P (Q3 | Q2) P (X3 | Q3) P (Q4 | Q3) P (X4 | Q4) Probabilidad de generar la cadena “aabc”: X P (X1 = a, X2 = a, X3 = b, X4 = c) = P (X1 = a, X2 = a, X3 = b, X4 = c, Q1 = r1, Q2 = r2, Q3 = r3, Q4 = r4) r1 ,r2 ,r3 ,r4 ∈Q O sea, la suma de probabilidades de generar “aabc” mediante todas las secuencias de 4 estados. Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.14 Index 1 Introducción a los modelos gráficos . 1 2 Redes bayesianas . 6 ◦ 3 Independencia condicional . 14 4 Inferencia en redes bayesianas . 23 5 Campos de Markov aleatorios . 33 6 Aprendizaje de modelos gráficos . 40 7 Bibliografı́a y notación . 51 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.15 Independencia condicional Se dice que a es condicionalmente independiente de b dado c (o también que a está D-separado de b por c, y se denota como: a b | c) si: P (a | b, c) = P (a | c) ⇔ P (a, b | c) = P (a | c)P (b | c) Se dice que a es incondicionalmente independiente de b (y se denota como: a b | ∅) si: P (a, b) = P (a) P (b) Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.16 Independencia in/condicional: estructuras tı́picas de RBs (I) • Caso 1: ¿Cuál es la relación entre a y b? P (a, b, c) = P (a)P (c | a)P (b | c) c a b b P c P (a)P (c | a)P (b | c) En general P (a, b) 6= P (a)P (b) ⇒ a / b | ∅ P (a, b | c) = c a P (a, b) = P (a, b, c) P (a)P (c | a)P (b | c) = P (c) P (c) b|c = P (a | c)P (b | c) ⇒ a El nodo c es cabeza-con-cola con respecto al camino desde a a b via c: Dos nodos a y b conectados via un nodo c cabeza-con-cola son independientes condicionalmente si c está dado (nodo c bloquea al camino desde a a b). Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.17 Independencia in/condicional: estructuras tı́picas de RBs (II) • Caso 2: ¿Cuál es la relación entre a y b? P (a, b, c) = P (a | c)P (b | c)P (c) c P (a, b) = a b P c P (a | c)P (b | c)P (c) En general P (a, b) 6= P (a)P (b) ⇒ a / b | ∅ c a P (a, b, c) = P (a | c)P (b | c) ⇒ a P (c) b|c P (a, b | c) = b El nodo c es cola-con-cola con respecto a el camino desde a a b via c: Dos nodos a y b conectados via un nodo c cola-con-cola son independientes condicionalmente si c está dado, (nodo c bloquea al camino desde a a b). Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.18 Independencia in/condicional: estructuras tı́picas de RBs (III) • Caso 3: ¿Cuál es la relación entre a y b? P (a, b, c) = P (a)P (b)P (c | a, b) a b P (a, b) = P c P (a)P (b)P (c a b P (a, b | c) = b|∅ = P (a)P (b) ⇒ a c | a, b) P (a, b, c) P (a)P (b)P (c | a, b) = P (c) P (c) En general P (a, b | c) 6= P (a | c)P (b | c) ⇒ a / b | c c El nodo c es cabeza-con-cabeza con respecto al camino desde a a b via c: Dos nodos a y b conectados via un nodo c cabeza-con-cabeza no son independientes condicionalmete si c está dado, pero a y b sı́ son incondicionalmente independientes si c es desconocido. Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.19 Independencia conditional e inconditional: Resumen Dirección causal: a b c Septiembre, 2016 P (a, b | c) = P (a | c)P (b | c) pero en general P (a, b) 6= P (a)P (b) b a b | c, a / b | ∅ Estructura en V: a / b | c, a b|∅ a Causa común: a c P (a, b | c) = P (a | c)P (b | c) pero en general P (a, b) 6= P (a)P (b) a b | c, a / b | ∅ b c En general P (a, b | c) 6= P (a | d)P (b | c) pero P (a, b) = P (a)P (b) DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.20 Independencia condicional: Ejemplo (I) • B es el estado de la baterı́a (cargada B = 1 o descargada B = 0) • C es el estado del depósito de combustible (lleno C = 1 o vacı́o C = 0) • I es el estado del indicador eléctrico del combustible (lleno I = 1 o vacı́o I = 0) P (B = 1) = P (C = 1) = 0.9 B C P (I = 1 | B = 1, C = 1) = 0.8 P (I = 1 | B = 1, C = 0) = 0.2 I P (I = 1 | B = 0, C = 1) = 0.2 P (I = 1 | B = 0, C = 0) = 0.1 P (B, C, I) = P (B) P (C) P (I | B, C) Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.21 Independencia condicional: Ejemplo (II) B I B 1 1 0 0 C 1 0 1 0 1 0.8 0.2 0.2 0.1 0 0.2 0.8 0.8 0.9 1 0.9 B C B I C 1 0.9 C 0 0.1 0 0.1 I P (B, C, I) = P (B) P (C) P (I | B, C) Si no tenemos información sobre I ¿cuál es la probabilidad conjunta de B y C ?: = = P (B, C, I = 0) + P (B, C, I = 1) P (B) P (C) P (I = 0 | B, C) + P (I = 1 | B, C) = P (B) P (C) ⇒ B C|∅ P (B, C) Supongamos que vemos I = 0, ¿Cuál es la probabilidad P (B = 0, C = 0 | I = 0)? P (B = 0) P (C = 0) P (I = 0 | B = 0, C = 0) = 0.02857 b,c∈{0,1} P (B = b) P (C = c) P (I = 0 | B = b, C = c) P c∈{0,1} P (B = 0) P (C = c) P (I = 0 | B = 0, C = c) P (B = 0 | I = 0) = P = 0.25714 b,c∈{0,1} P (B = b) P (C = c) P (I = 0 | B = b, C = c)) P b∈{0,1} P (B = b) P (C = 0) P (I = 0 | B = b, C = 0) P (C = 0 | I = 0) = P = 0.25714 b,c∈{0,1} P (B = b) P (C = c) P (I = 0 | B = b, C = c)) P (B = 0, C = 0 | I = 0) = P P (B = 0, C = 0 | I = 0) = 0.02857 6= P (B = 0 | I = 0) P (C = 0 | I = 0) = 0.06612 ⇒ B / C | I Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.22 Independencia condicional: Ejemplo (III) I B 1 1 0 0 C 1 0 1 0 1 0.8 0.2 0.2 0.1 0 0.2 0.8 0.8 0.9 B 1 0.9 B 1 0.9 B 0 0.1 C B C I I C 0 0.1 C I P (B, C, I) = P (B) P (C) P (I | B, C) • Conocido I = 0 pero no B: P (C = 0 | I = 0) = · · · = 0.25714 > P (C = 0) = 0.1 es decir, C depende de I. • Conocidos B = 0 y I = 0: P (C = 0 | I = 0, B = 0) = · · · ≈ 0.111 < P (C = 0 | I = 0) = 0.25714 es decir C depende de B si se conoce I. • Conocido B = 0 pero no I: P (C = 0 | B = 0) = · · · = 0.1 = P (C = 0) es decir, C no depende de B si no se conoce I. Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.23 Index 1 Introducción a los modelos gráficos . 1 2 Redes bayesianas . 6 3 Independencia condicional . 14 ◦ 4 Inferencia en redes bayesianas . 23 5 Campos de Markov aleatorios . 33 6 Aprendizaje de modelos gráficos . 40 7 Bibliografı́a y notación . 51 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.24 Inferencia con redes bayesianas • En general, el problema consiste en calcular la probabilidad a posteriori de alguna variable x a partir de las distribuciones conjuntas asociadas a una RB, dada alguna evidencia e (como valores dados de alguna otra variable) y sin importar los valores de resto de las variables f : P (x | e) = X X P (x, e) con P (e) = P (x, e, f ) y P (x, e) = P (x, e, f ) P (e) x,f f • El objetivo es calcular eficientemente P (e) y P (x, e) • Por ejemplo: Sea P (x1, x2, x3, x4) una distribución conjunta dada por P (x1, x2, x3, x4) = P (x2)P (x1 | x2)P (x3 | x2)P (x4 | x3) y se pretende calcular P (x3). Si xi ∈ X para i = 1, 2, 3 verifica que |X| = n P – P (x3) = x1,x2,x4 P (x2)P (x1 | x2)P (x3 | x2)P (x4 | x3) ⇒ O(n3) operaciones. P P P – P (x3) = x2 P (x2)P (x3 | x2) x1 P (x1 | x2) x4 P (x4 | x3) P = x2 P (x2)P (x3 | x2) ⇒ O(n) operaciones. Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.25 Inferencia con redes bayesianas Situaciones donde es útil calcular las probabilidades a-posteriori: • Predicción: ¿Cuál es la probabilidad de observar un sı́ntoma sabiendo que se tiene una determinada enfermedad? • Diagnóstico: ¿Cuál es la probabilidad de que una determinada enfermedad sea un diagnóstico correcto dados algunos sı́ntomas? En RB, la dirección de los enlaces entre variables no restringe el tipo de preguntas que se pueden hacer. Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.26 Tipos de redes bayesianas La estructura de una Red Bayesiana puede permitir ciertas factorizaciones sistemáticas en los cálculos asociados a la inferencia. Dos tipos de estructura adimiten factorizaciones eficientes: cadena y (poli-)árbol. Cadena Árbol Grafo (DAG) Poli-árbol Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.27 Inferencia en una cadena xi x i+1 x n-1 Ex+ n xn x n+1 x f-1 xf Exn Supongamos que el último xi ∈ Ex+n y el primer xf ∈ Ex−n están dados: = = P (xn, xi, xf ) P (xi, xf ) P (xn) P (xi | xn) P (xf | xn, ZxZi ) P (xi, xf ) (Indep. cond.: xf P (xn) P (xi) P (xn | xi) P (xf | xn) ) P (x , x ) P(x n i f = α P (xn | xi) P (xf | xn) xi | xn ) P (xn | xi, xf ) = (Regla de Bayes) (α = P (xi)/P (xi, xf )) • Ejercicio: ¿Qué ocurre si también conocemos xi0 ∈ Ex+n con i0 < i? • Ejercicio: ¿Qué ocurre si también conocemos xf 0 ∈ Ex−n con f 0 > f ? Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.28 Inferencia en una cadena Propagación de creencias (“Belief propagation”) π (xn ) xi x i+1 x n-1 Ex+ n λ (x ) n xn x n+1 x f-1 xf Exn def P (xn | xi, xf ) = α P (xn | xi) P (xf | xn) = α π(xn) λ(xn) donde π(xn) y λ(xn) se calculan como: π(xi) = 1 π(xn) = λ(xf ) = 1 X xn−1 P (xn | xn−1) π(xn−1) λ(xn) = X xn+1 P (xn+1 | xn) λ(xn+1) • Ejercicio: Obtener una expresión para P (xn) Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.29 Inferencia en una cadena (derivación I) π (xn-1 ) xi x i+1 Ex+ n π(xn) = P (xn | xi) = = X xn−1 = X xn−1 π (xn ) x n-1 X xn−1 xn x n+1 x f-1 xf Exn P (xn, xn−1 | xi) P (xn−1 | xi) P (xn | xi , xn−1) = X xn−1 P (xn−1 | xi) P (xn | xn−1) π(xn−1) P (xn | xn−1) π(xi) = 1 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.30 Inferencia en una cadena (derivación II) λ (xn+1 ) λ (x ) n xi x i+1 x n-1 Ex+ n λ(xn) = P (xf | xn) = = X xn+1 = X xn+1 X xn+1 x n+1 xn x f-1 xf Exn P (xf , xn+1 | xn) P (xn+1 | xn) P (xf | xn, xn+1) = X xn+1 P (xn+1 | xn) P (xf | xn+1) P (xn+1 | xn) λ(xn+1) λ(xf ) = 1 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.31 Inferencia en un árbol ui π x (ui ) λ x(uj i ) λ y (xj) E+xj j xj k π y (x j) k y k E-xj Para calcular P (xj | Ex+j , Ex−j ) = α π(xj ) λ(xj ) λ(xj ) = π(xj ) = X ui Septiembre, 2016 m Y k=1 λyk (xj ) con λyk (xj ) = X yk λ(yk ) P (yk | xj ) P (xj | ui) πxj (ui) con πxj (ui) = α Y j 0 6=j λxj 0 (ui) π(ui) DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.32 Inferencia en otros tipos de grafos • Poli-arboles (“Polytrees”). Los nodo pueden tener múltiples padres, pero solo puede existir un camino único entre cualquier par de nodos: una generalización del algoritmo sobre un árbol. • Grafos generales. Inferencia aproximada: – Métodos variacionales. – Métodos basados en el muestreo. Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.33 Index 1 Introducción a los modelos gráficos . 1 2 Redes bayesianas . 6 3 Independencia condicional . 14 4 Inferencia en redes bayesianas . 23 ◦ 5 Campos de Markov aleatorios . 33 6 Aprendizaje de modelos gráficos . 40 7 Bibliografı́a y notación . 51 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.34 Campos de Markov aleatorios • Aspectos generales: – Independencia conditional simplificada – Asignación compleja de distribuciones de probabilidad. • Definición de un campo de Markov aleatorio – Dado un conjunto de variables V = {x1, . . . , xD } – Un grafo no-dirigido R = (V, E) – Para un clique C en R (un subgrafo completamente conectado), VC es el conjunto variables en el clique C: P (x1, . . . , xD ) = 1 Y ψC (VC ) Z ∀C∈R ψC (VC ) es una función potential (estrictamente positiva) y Z es un factor de normalización (función de partición). Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.35 Campos de Markov aleatorios P (x1, . . . , xD ) = 1 Y ψC (VC ) Z ∀C∈R • Las funciones de potencial son de la forma: ψC (VC ) = exp (−E(VC )) , donde E(VC ) es una función de energı́a. Por lo tanto, X 1 P (x1, . . . , xD ) = exp − E(VC ) Z ∀C∈R ! • Un tipo de función de energı́a interesante es el queda definido mediante funciones lineales generalizadas: E(VC ) = − X θC,k fC,k (VC ) k • A partir de una red bayesiana se puede construir un campo de Markov aleatorio Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.36 Un ejemplo Un conjunto x de pı́xeles binarios xi ∈ {−1, +1}, 1 ≤ i ≤ D La imagen está corrupta con probabilidad 10% en un conjunto y de pı́xeles binarios yi ∈ {−1, +1}, 1 ≤ i ≤ D El objetivo es recuperar la imagen original a partir de la imagen corrupta Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.37 Un ejemplo (Bishop. Pattern Recognition and Machine Learning. 2006) • Fuerte correlación entre xi y yi yi • Correlación entre xi y xj si los dos pı́xeles son vecinos. xi • La función de energı́a (cliques máximos: Cij = (xi, xj ), Ci = (xi, yi) ∀i, j ∈ N (i)): ) X X X E(VCij ) = −β xi xj → E(VC ) = −β x i xj − ν xi yi E(VCi ) = −ν xi yj i,j i ∀C∈R • La distribución conjunta: P (x1, . . . , xD , y1, . . . , yD ) = Septiembre, 2016 X X 1 xi xj + ν xi yi exp β Z i,j i DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.38 Un ejemplo (Bishop. Pattern Recognition and Machine Learning. 2006) • A partir de la distribución conjunta: P (x1, . . . , xD , y1, . . . , yD ) = 1 exp β Z X i,j xi xj + ν X i xiyi • el objetivo es: (x̂1, . . . , x̂D ) = arg max P (x1, . . . , xD | y1, . . . , yD ) x1 ,...,xD Esto es: Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.39 Inferencia con campos de Markov aleatorios • En cadenas: Algoritmo adelante-atrás (”Backward-Forward algorithm”) • En árboles: Algoritmo suma-producto • En grafos generales: Algoritmo de árbol de unión (“Junction tree algorithms”), algoritmo suma-producto (“Loopy belief propagation”) Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.40 Index 1 Introducción a los modelos gráficos . 1 2 Redes bayesianas . 6 3 Independencia condicional . 14 4 Inferencia en redes bayesianas . 23 5 Campos de Markov aleatorios . 33 ◦ 6 Aprendizaje de modelos gráficos . 40 7 Bibliografı́a y notación . 51 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.41 Aprendizaje de redes bayesianas • Dada la estructura, aprender las distribuciones de probabilidad a partir de un conjunto de entrenamiento. – Métodos basados en la maximización de la verosimilitud (algoritmo EM -T3-). – Aprendizaje bayesiano. • Aprender la estructura a partir de un conjunto de entrenamiento. – Un problema de selección de modelos: búsqueda en el espacio de grafos. Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.42 Aprendizaje en redes bayesianas: ejemplo • B es el estado de la baterı́a (cargada B = 1 o descargada B = 0) • C es el estado del depósito de combustible (lleno C = 1 o vacı́o C = 0) • I es el estado del indicador eléctrico del combustible (lleno I = 1 o vacı́o I = 0) Por simplicidad se asume que las distribuciones asociadas a las variables I y C son fijas y conocidas y hay que estimar la distribución de B a partir de observaciones. P (B) = ? B C P (C = 1) = 0.9 P (I = 1 | B = 1, C = 1) = 0.8 P (I = 1 | B = 1, C = 0) = 0.2 I P (I = 1 | B = 0, C = 0) = 0.1 P (B, C, I) = P (B) P (C) P (I | B, C) P (I = 1 | B = 0, C = 1) = 0.2 P (B) viene dada por dos valores de probabilidad, p0 = P (B = 0), p1 = P (B = 1). Por tanto los parámetros a estimar son: Θ = (p0, p1), p0 + p1 = 1 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.43 Aprendizaje con observaciones completas Sea S = {(b1, c1, i1), . . . , (bN , cN , iN ), } un conjunto de observaciones de entrenamiento. Sean N0 y N1 = N − N0 los números de observaciones en las que b = 0 y b = 1, respectivamente. Se asume que S está ordenado de forma que bn = 0, 1 ≤ n ≤ N0 y bm = 1, NN0+1 ≤ m ≤ N . La log-verosimilitud es: LS (p0, p1) = N X log P (b = bn, C = cn, I = in) n=1 = = N X n=1 N0 X n=1 log P (b = bn)P (C = cn)P (I = in | B = bn, C = cn) log p0 + N X log p1 + K = N0 log p0 + N1 log p1 + K m=N0 +1 donde K incluye los términos independientes de p0, p1. Maximización de LS mediante multiplicadores de Lagrange, como en el ejemplo de estimación de probs. a priori del Tema 3 · · · → p̂0 = Ejemplos: Septiembre, 2016 N0 , N p̂1 = S = {(0, 1, 1), (1, 1, 0)} → S = {(0, 0, 1), (1, 1, 0)} → S = {(0, 1, 1), (1, 1, 0), (0, 0, 1)} → N1 N p̂0 = 21 , p̂1 = p̂0 = 12 , p̂1 = p̂0 = 23 , p̂1 = 1 2 1 2 1 3 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.44 Algoritmo esperanza-maximización (EM) (Recordatorio) Dada la muestra S = {x1, . . . , xN }y variables latentes {z 1, . . . , z N }. • Inicialización: t = 1, Θ(1) = arbitrario. • Iteración hasta la convergencia – Paso E: A partir de Θ(t) y para todo 1 ≤ n ≤ N , q̂n(z n) , P (z n | xn; Θ(t)) – Paso M: Maximización de Q(Θ, q̂) con respecto a Θ 0 Θ(t + 1) = arg max Q (Θ, q̂) = arg max Θ Θ – t=t+1 N X X n=1 z n q̂n(z n) log P (xn, z n | Θ) Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.45 Algoritmo esperanza-maximización (EM) En el ejemplo, se dispone de observaciones del estado del depósito de combustible y de lo que marque el indicador del estado de baterı́a, pero no del verdadero estado de la baterı́a, la muestra incompleta serán los datos observables, S = {(c1, i1), . . . , (cN , iN )}, (x = (c, i)), las variables latentes, {b1, . . . , bN } (z = b) y los parámetros p0 y p1 (Θ = (p0, p1)). • Inicialización: t = 1, p0(1) = arbitrario y p1(1) = 1 − p0(1). • Iteración hasta la convergencia – Paso E. A partir de p0(t) y p1(t) y cada muestra 1 ≤ n ≤ N . – Paso M. q̂n(b) , P (B = b | C = cn, I = in; p0(t), p1(t)) (p0(t + 1), p1(t + 1)) = arg max Q0(p0, p1, q̂) p0 ,p1 = arg max p0 ,p1 – t=t+1 Septiembre, 2016 N X 1 X n=1 b=0 q̂n(b) log P (C = cn, I = in, B = b | p0, p1) DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.46 Aprendizaje EM con observaciones incompletas: Paso E En el paso E hay que calcular, para cada observación incompleta, la distribución de probabilidad de la variable oculta o latente (B) dados los valores conocidos de las otras dos variables (C e I) y de los parámetros obtenido en la iteración anterior t (p0(t), p1(t)). q̂n(b) = P (B = b | C = cn, I = in; p0(t), p1(t)) P (B = b, C = cn, I = in; p0(t), p1(t)) P (C = cn, I = in; p0(t), p1(t)) = H HH P (B = b; p0(t), p1(t)) PH(C)P (I | B = b, C) H H H HH HH P (B = 0) PH(C)P (I | B = 0, C) + P (B = 1) PH(C)P (I | B = 1, C) H H = pb(t)kbn p0(t)k0n + p1(t)k1n = para b ∈ {0, 1} Donde: k0n = P (I = in | B = 0, C = cn) y k1n = P (I = in | B = 1, C = cn) Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.47 Aprendizaje EM con observaciones incompletas: paso M En el paso M hay que maximizar Q0(p0, p1, q̂), definida en base a las esperanzas calculadas en el paso E. 0 Q (p0, p1, q̂) = = = N X 1 X n=1 b=0 N X 1 X n=1 b=0 N X q̂n(b) log P (B = b, C = cn, I = in; p0, p1) q̂n(b) log(P (B = b; p0, p1)P (C = cn)P (I = in | B = b, C = cn)) q̂n(0) log p0 + q̂n(1) log p1 + K = q̄0 log p0 + q̄1 log p1 + K n=1 Donde, K= N X 1 X n=1 b=0 q̂n(b) log(P (C = cn)P (I = in | B = b, C = cn)) q̄0 = . Septiembre, 2016 N X n=1 q̂n(0) y q̄1 = N X q̂n(1) n=1 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.48 Aprendizaje EM con observaciones incompletas: paso M Maximizar Q0: similar a estimación de probabilidades a priori por máxima verosimilitud (Tema 3): • Función de Lagrange: Λ(p0, p1, β) = Q0(p0, p1, q̂) + β(1 − p0 − p1) = q̄0 log p0 + q̄1 log p1 + K + β(1 − p0 − p1) q̄0 ∂Λ = 0 ⇒ p?0 = ; ∂p0 β • Función dual: ∂Λ q̄1 = 0 ⇒ p?1 = ∂p1 β ΛD (β) = K 0 + β − (q̄0 + q̄1) log β = K 0 + β − N log β Donde K 0 = K + q̄0 log q̄0 + q̄1 log q̄1 • Optimizando la función dual: dΛD N =1− = 0 ⇒ β? = N dβ β • Solución final: p0(t + 1) , p?0 = q̄0 q̄1 ; p1(t + 1) , p?1 = N N Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.49 Aprendizaje EM con observaciones incompletas: ejemplos Sea S = {(1, 1), (1, 0)} (N = 2): Paso E: q̂1(0) = 0.2p0(t)/(0.2p0(t) + 0.8p1(t)), q̂1(1) = 0.8p0(t)/(0.2p0(t) + 0.8p1(t)), q̂2(0) = 0.8p0(t)/(0.8p0(t) + 0.2p1(t)), q̂2(1) = 0.2p0(t)/(0.8p0(t) + 0.2p1(t)). q̄0 = q̂1(0) + q̂2(0), q̄0 , N Inicializando con p1(1) = 0.9, p0(1) = 0.1: Paso M: p0(t + 1) = q̄1 = q̂1(1) + q̂2(1) p1(t + 1) = . q̄1 N t 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 p1(t) 0.90 0.83 0.75 0.68 0.62 0.58 0.55 0.53 0.52 0.51 0.51 0.51 0.50 0.50 0.50 0.50 Si ahora las observaciones son S = {(0, 1), (1, 0)}: 1 2 3 4 5 10 20 25 30 35 36 37 38 39 40 41 t p1(t) 0.90 0.82 0.72 0.61 0.52 0.45 0.28 0.19 0.18 0.18 0.17 0.17 0.17 0.17 0.17 0.17 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.50 Algunos toolkits • BNT https://code.google.com/p/bnt • GMTK http://melodi.ee.washington.edu/˜bilmes/gmtk/ • GraphLab http://graphlab.org/toolkits/graphical-models/ • PMTK3 probabilistic modeling toolkit for Matlab/Octave https://github.com/probml/pmtk • Software Packages for Graphical Models http://www.cs.ubc.ca/˜murphyk/Software/bnsoft.html Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.51 Index 1 Introducción a los modelos gráficos . 1 2 Redes bayesianas . 6 3 Independencia condicional . 14 4 Inferencia en redes bayesianas . 23 5 Campos de Markov aleatorios . 33 6 Aprendizaje de modelos gráficos . 40 ◦ 7 Bibliografı́a y notación . 51 Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.52 Bibliografı́a Christopher M. Bishop: “Pattern Recognition and Machine Learning”. Springer, 2006. Septiembre, 2016 DSIC – UPV Aprendizaje Automático. 2016-2017 Modelos gráficos: 5.53 Notación • P (x): probabilidad de x • P (x, y): probabilidad conjunta de x e y • P (x | y): probabilidad condicional de x dado y • Para un conjunto de variables VC en un clique C, ψC (VC ) = exp (−E(VC )) es una función potential donde E(VC ) es una función de energı́a. • Una función de energı́a lineal: E(VC ) = − X θC,k fC,k (VC ) donde fC,k son k determinadas funciones que obtienen caracterı́sticas del clique C. Septiembre, 2016 DSIC – UPV