Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un...
Transcript of Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un...
![Page 1: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/1.jpg)
Métodos deInteligencia Artificial
L. Enrique Sucar (INAOE)[email protected]
ccc.inaoep.mx/esucarTecnologías de Información
UPAEP
![Page 2: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/2.jpg)
Redes Bayesianas: Parte II
• Inferencia– Propagación en redes multiconectadas
• Aprendizaje– Parámetros– Estructura
![Page 3: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/3.jpg)
Inferencia en RB multiconectadas
• Hay 3 tipos de métodos para calcular lasprobabilidades posteriores de todas lasvariables no conocidas en redes multi-conectadas:– Condicionamiento– Simulación estocástica– Agrupamiento
![Page 4: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/4.jpg)
Condicionamiento
• Si instanciamos (asignamos un valor) a unavariable, ésta bloquea las trayectorias depropagación.
• Entonces, asumiendo valores para un gruposeleccionado de variables podemos descomponerla gráfica en un conjunto de redes conectadas enforma sencilla.
• Propagamos para cada valor posible de dichasvariables y luego promediamos las probabilidadesponderadas.
![Page 5: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/5.jpg)
Condicionamiento
A
CB
D E
A´
CB
D E
A”
A=ai A=ai
![Page 6: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/6.jpg)
Procedimiento
• Al “cortar” en A, la probabilidad decualquier variable (b) la podemos obtenermediante la regla de probabilidad total:
P(b|E) = Σi P(b|ai, E) P(ai|E)• Donde:
– P(b|ai, E) : probabilidad posterior porpropagación para cada valor de A
– P(ai|E) : “peso”
![Page 7: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/7.jpg)
Simulación estocástica
• Se asignan valores aleatorios a las variables noasignadas, se calcula la distribución deprobabilidad, y se obtienen valores de cadavariable dando una muestra.
• Se repite el procedimiento para obtener unnúmero apreciable de muestras y en base alnúmero de ocurrencias de cada valor se determinala probabilidad de dicha variable.
![Page 8: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/8.jpg)
Muestreo LógicoPara “N” muestras, repetir:1. Dar valores aleatorios a los nodos raíz de acuerdo a sus
probabilidades2. En base a los valores anteriores, dar valores aleatorios a las
siguientes variables (hijos de los nodos raíz) en función de laprobabilidad condicional
3. Repetir (2) hasta llegar a los nodos hojaObtener probabilidades posteriores como frecuencias
• Si hay nodos evidencia, sólo considerar las muestras quecorrespondan a dichos valores
![Page 9: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/9.jpg)
A
CB
D E
v
f f
v
f
vfffv
fvvff
vffvf
ffvfv
vfvvf
ffffv
fvvvf
fffff
fffvf
vvvvf
Muestreo Lógico:ejemplo
![Page 10: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/10.jpg)
Ejemplo• Sin evidencia:
– P(A=V) = 4/10 = 0.4– P(B=V) = 3/10 = 0.3– P(C=V) = 5/10 = 0.5– P(D=V) = 5/10 = 0.5– P(E=V) = 3/10 = 0.3
• Con evidencia: D=V (aplican 5 muestras):– P(A=V) = 3/5 = 0.6– P(B=V) = 2/5 = 0.4– P(C=V) = 3/5 = 0.6– P(E=V) = 1/5 = 0.2
![Page 11: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/11.jpg)
Agrupamiento
• El método de agrupamiento consiste entransformar la estructura de la red paraobtener un árbol, mediante agrupación denodos usando la teoría de grafos.
• La propagación se realiza sobre el árbol demacro-nodos obtenido, donde cada macro-nodo corresponde a un clique o unión de laRB original (junction tree)
![Page 12: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/12.jpg)
Agrupamiento
• Transformación:– Eliminar direccionalidad de los arcos– Ordenamiento de los nodos por máxima
cardinalidad– Moralizar el grafo (arco entre nodos con hijos
comunes)– Triangular el grafo– Obtener los cliques y ordenar– Construir árbol de cliques
![Page 13: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/13.jpg)
Ejemplo
A
CB
D E
A
CB
D E
![Page 14: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/14.jpg)
Ordenamiento de Cliques
A
CB
D E
C1
C2
C3
![Page 15: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/15.jpg)
Árbol de Cliques
C1
C2
C3
A,B,C
B,C,D
C,E
![Page 16: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/16.jpg)
Propagación
• La propagación es mediante el envío de mensajesen el árbol de cliques (en forma similar a árboles)
• Inicialmente se calcula la probabilidad conjunta(potencial) de cada clique, y la condicional dadoel padre
• Dada cierta evidencia se recalculan lasprobabilidades de cada clique
• La probabilidad individual de cada variable seobtiene de la del clique por marginalización
![Page 17: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/17.jpg)
Ejemplo – propagación λ
C1
C2
C3
Ψ(C1)’, λ(C1), Ψ(C1)’
λ(C3)
λ(C3), Ψ(C3)’
Ψ(C2)’, λ(C2), Ψ(C2)’
λ(C3)
![Page 18: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/18.jpg)
Ejemplo – propagación π
C1
C2
C3
P’(C1), π1(C2)
π2(C3)
P’(C3)
P’(C2), π2(C3)
π1(C2)
![Page 19: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/19.jpg)
Complejidad
• En el peor caso, la propagación en redes bayesianas es unproblema NP-duro
• En la práctica, en muchas aplicaciones se tienen redes nomuy densamente conectadas y la propagación es eficienteaún para redes muy grandes (función del clique mayor)
• Para redes muy complejas (muchas conexiones), la mejoralternativa son técnicas de simulación estocástica otécnicas aproximadas
![Page 20: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/20.jpg)
20
Aprendizaje
El aprendizaje inductivo consiste en obtener conocimiento a partir de datos.
En redes bayesianas se divide en 2 aspectos:• Obtener la estructura de la red –
aprendizaje estructural• Obtener las probabilidades asociadas –
aprendizaje paramétrico
![Page 21: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/21.jpg)
21
Aprendizaje Paramétrico
• Datos completos - se estiman lasprobabilidades a partir de frecuencias
P(A) ~ Na / NtP(B|A1, ..., An) ~ N a1, ..., an, b / Na1, ..., an
![Page 22: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/22.jpg)
22
Ejemplo - ¿Cuándo jugar golf?
Ambiente Temp. Humedad Viento Jugarsoleado alta alta no Nsoleado alta alta si Nnublado alta alta no Plluvia media alta no Plluvia baja normal no Plluvia baja normal si Nnublado baja normal si Psoleado media alta no Nsoleado baja normal no Plluvia media normal no Psoleado media normal si Pnublado media alta si Pnublado alta normal no Plluvia media alta si N
![Page 23: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/23.jpg)
23
AH
J
V
T
Ejemplo – estructura
![Page 24: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/24.jpg)
24
Ejemplo
• P(J)– P(N) = 5/14– P(P) = 9/14
• P(V|J)– P(si|N)=3/5, P(si|P)=3/9– P(no|N)=2/5, P(no|P)=6/9
• Etc.
![Page 25: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/25.jpg)
25
Aprendizaje Estructural
Diversos métodos:• Aprendizaje de árboles• Aprendizaje de poliárboles• Aprendizaje de redes multiconectadas
– Métodos basados en medidas– Métodos basados en relaciones de dependencia
![Page 26: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/26.jpg)
26
Aprendizaje de árboles• Algoritmo desarrollado por Chow y Liu para
aproximar una distribución de probabilidad porun producto de probabilidades de segundoorden (árbol).
• La probabilidad conjunta de n variables sepuede representar como:
• donde Xj(i) es la causa o padre de Xi.
( ) ( )( )!=
=n
iijin XXPXXXP
121 |,...,,
![Page 27: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/27.jpg)
27
Aprendizaje de árboles• Se plantea el problema como uno de
optimización - obtener la estructura quemás se aproxime a la distribución "real".
• Medida de la diferencia de informaciónentre la distribución real (P) y laaproximada (P*):
• El objetivo es minimizar I.
( ) ( )!=x XP
XPXPPPI)()(log, *
*
![Page 28: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/28.jpg)
28
Aprendizaje de árboles• Se puede definir dicha diferencia en función de la información mutua
entre pares de variables, que se define como:
• Se puede demostrar (Chow 68) que la diferencia de información esuna función del negativo de la suma de las informaciones mutuas(pesos) de todos los pares de variables que constituyen el árbol
• Encontrar el árbol más próximo equivale a encontrar el árbol conmayor peso.
( ) ( ) ( )( ) ( )!=
ji xx ji
jijiji XPXP
XXPXXPXXI
,
,log,,
![Page 29: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/29.jpg)
29
Aprendizaje de árboles - algoritmo1. Calcular la información mutua entre todos los pares de
variables (n(n - 1)/2).2. Ordenar las informaciones mutuas de mayor a menor.3. Seleccionar la rama de mayor valor como árbol inicial.4. Agregar la siguiente rama mientras no forme un ciclo, si es así,
desechar.5. Repetir (3-4) hasta que se cubran todas las variables (n -1
ramas).
• El algoritmo NO provee la dirección de los arcos, por lo queésta se puede asignar en forma arbitraria o utilizandosemántica externa (experto).
![Page 30: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/30.jpg)
30
Ejemplo (golf)• Informaciones mutuas ordenadasNo. Var 1 Var 2 I.M.
1 temp. humedad .11282 humedad viento .08603 ambiente juega .07454 ambiente temp. .00745 humedad juega .04576 viento juega. .01457 temp. juega …8 viento ambiente …9 humedad viento …10 viento temp. …
![Page 31: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/31.jpg)
31
Ejemplo (golf)
AH
J
VT
![Page 32: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/32.jpg)
32
Aprendizaje de poliárboles• Parte del esqueleto (estructura sin direcciones)
obtenido con el algoritmo anterior• Determina la dirección de los arcos utilizando
pruebas de dependencia entre tripletas de variables.
• Dadas 3 variables, existen 3 casos posibles:• Arcos divergentes• Arcos secuenciales• Arcos convergentes
• Los primeros dos casos son indistinguibles, pero eltercero es diferente, ya que las dos variables "padre"son marginalmente independientes.
![Page 33: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/33.jpg)
33
Prueba de Tripletas
• Tripleta de variables:X – Z – Y
• Si X – Y son independientes dado Z, entonces pueden sersecuenciales o divergentes
X Z Y; X Z Y• Si X – Y no son independientes dado Z, entonces son
arcos convergentesX Z Y
![Page 34: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/34.jpg)
34
Aprendizaje de poliárboles - algoritmo1.1. Obtener esqueleto utilizando el algoritmo de Obtener esqueleto utilizando el algoritmo de Chow Chow y y LiuLiu
2. 2. Recorrer la red hasta encontrar una tripleta de nodos queRecorrer la red hasta encontrar una tripleta de nodos quesean convergentes (tercer caso) - nodo sean convergentes (tercer caso) - nodo multipadre-multipadre-
3. 3. A partir de un nodo A partir de un nodo multipadre multipadre determinar las direccionesdeterminar las direccionesde los arcos utilizando la prueba de tripletas hasta dondede los arcos utilizando la prueba de tripletas hasta dondesea posible (base causal).sea posible (base causal).
4. 4. Repetir 2-3 hasta que ya no se puedan descubrir másRepetir 2-3 hasta que ya no se puedan descubrir másdirecciones.direcciones.
5. 5. Si quedan arcos sin direcciSi quedan arcos sin direcciónón, utilizar semántica externa, utilizar semántica externapara obtener su dirección (o fijar direcciones).para obtener su dirección (o fijar direcciones).
![Page 35: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/35.jpg)
35
Ejemplo
AH
J
V
T
~I(H,J,V)I(H,J,A)I(J,A,T)
![Page 36: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/36.jpg)
36
Aprendizaje de redesmulticonectadas
Existen dos tipos de métodos para elaprendizaje genérico de redes bayesianas:
1. Métodos basados en medidas de ajuste ybúsqueda
2. Métodos basados en pruebas deindependencia
![Page 37: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/37.jpg)
© L.E. Sucar: MGP - Aprend. RB 37
Métodos basados en medidas
Se generan diferentes estructuras y se evalúanrespecto a los datos utilizando algunamedida
Dos aspectos principales:• Medida de “ajuste” de la estructura a los
datos• Búsqueda de la “mejor” estructura
![Page 38: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/38.jpg)
© L.E. Sucar: MGP - Aprend. RB 38
Buscando la mejor estructura
• Búsqueda de ascenso de colinas (hillclimbing)
• Se inicia con una estructura simple (árbol)y se van agregando arcos hasta llegar a unmínimo local
“óptimo”
![Page 39: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/39.jpg)
© L.E. Sucar: MGP - Aprend. RB 39
Buscando la mejor estructura
• Se puede iniciar con una estructuracompleja (máximo número de arcos) y sevan eliminando arcos hasta llegar a unmínimo local
“óptimo”
![Page 40: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/40.jpg)
© L.E. Sucar: MGP - Aprend. RB 40
Búsqueda bidirecionalEstructurecompleja
Estructurasimple
S
CO
![Page 41: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/41.jpg)
© L.E. Sucar: MGP - Aprend. RB 41
Ejemplo - ¿Cuándo jugar golf?
Ambiente Temp. Humedad Viento Jugarsoleado alta alta no Nsoleado alta alta si Nnublado alta alta no Plluvia media alta no Plluvia baja normal no Plluvia baja normal si Nnublado baja normal si Psoleado media alta no Nsoleado baja normal no Plluvia media normal no Psoleado media normal si Pnublado media alta si Pnublado alta normal no Plluvia media alta si N
![Page 42: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/42.jpg)
© L.E. Sucar: MGP - Aprend. RB 42
AH
J
V
T
Ejemplo – agregando arcos
AH
J
V
TAH
J
V
T
![Page 43: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/43.jpg)
© L.E. Sucar: MGP - Aprend. RB 43
Ejemplo – eliminando arcos
AH
J
V
T AH
J
V
TAH
J
V
T
![Page 44: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/44.jpg)
© L.E. Sucar: MGP - Aprend. RB 44
Métodos basados en medidas
• Se genera la estructura en base a iragregando/eliminando arcos de acuerdo amedidas de dependencia entre variables
• Ejemplos:– Árboles – método de Chow y Liu– Poliárboles – método de Rebane y Pearl– Multiconectadas – existen varios algoritmos
basados en diferentes medidas
![Page 45: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/45.jpg)
45
Algoritmo PC
• Se basa en pruebas de independencia entrevariables:
I (Xi, Xj | A)• Donde A es un subconjunto de variables• Asume que:
– Se tienen suficientes datos– Las pruebas estadísticas no tienen errores
![Page 46: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/46.jpg)
46
Prueba de Independencia
• Para probar si X, Y son independientes dado A se utiliza laentropía cruzada condicional:
CE(X,Y | Z) = Σz P(z) Σx,y P(x,y|z) log [P(x,y|z) / P(x|z) P(y|z)]• Si es cero o cercana a cero, quiere decir que son
independientes (se puede usar un umbral o una pruebaestadística con cierto nivel de significancia)
![Page 47: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/47.jpg)
47
Algoritmo
1. Encontrar un “esqueleto” (grafo nodirigido)
2. Encontrar arcos convergentes en tripletasde variables por pruebas de independencia
3. Orientar el resto de las ligas de forma queno se produzcan ciclos
![Page 48: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/48.jpg)
48
Esqueleto• La idea básica para determinar el esqueleto es
iniciar con un grafo completo (conectando todosvs. todos los nodos) y eliminar el arco entre X –Y si hay un subconjunto de nodos en G (exceptoX, Y) que los hace independientes
• En principio se consideran todos los posiblessubconjuntos de variables, de tamaño 1 hasta detamaño N-1 (N es el número de nodos adyacentesa X)
• El considerar todos los posibles subconjuntos esmuy ineficiente, y normalmente se limita aconsiderar sólo subconjuntos de 1, 2, …, k nodos
![Page 49: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/49.jpg)
49
Ejemplo
AH
J
V
T
Probar si H,V sonIndependientes dados:1: J, A, T2: JA, JT, AT3: JAT si
![Page 50: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/50.jpg)
50
Ejemplo
AH
J
V
T
Probar si H,T sonIndependientes dados:1: J, A2: JA si
![Page 51: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/51.jpg)
51
Ejemplo
AH
J
V
T
Probar si H,A sonIndependientes dados:1: J si
![Page 52: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/52.jpg)
52
Ejemplo
AH
J
V
T
Probar si H,J sonIndependientes dados:0, no
![Page 53: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/53.jpg)
53
Ejemplo
AH
J
V
T
Probar si A,J sonIndependientes dados:1: T, V2: TV no
![Page 54: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/54.jpg)
54
Ejemplo
AH
J
V
T
Probar si A,V sonIndependientes dados:1: T, J2: TJ si
![Page 55: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/55.jpg)
55
Ejemplo
AH
J
V
T
Probar si A,T sonIndependientes dados:1: J no
![Page 56: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/56.jpg)
56
Ejemplo
AH
J
V
T
Probar si J,V sonIndependientes dados:1: T no
![Page 57: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/57.jpg)
57
Ejemplo
AH
J
V
T
Probar si J,T sonIndependientes dados:1: A,V2: AV si
![Page 58: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/58.jpg)
58
Ejemplo
AH
J
V
T
Probar si V,T sonIndependientes dados:1: 0 no
![Page 59: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/59.jpg)
59
Arcos convergentes
• Se verifica cada tripleta de variables paraencontrar arcos convergentes mediantepruebas de independencia:
X – Z – Y• Si X – Y no son independientes dado Z,
entonces son arcos convergentesX Z Y
![Page 60: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/60.jpg)
60
Ejemplo
AH
J
V
T
H,V no sonIndependientes dado J
![Page 61: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/61.jpg)
61
Ejemplo
AH
J
V
T
A,V no sonIndependientes dado T
![Page 62: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/62.jpg)
62
Otras orientaciones
• En base a los arcos existentes, se orientanlos demás con pruebas de independencia,evitando crear ciclos
• Si quedan al final arcos sin orientar, sedireccionan en forma aleatoria, evitandociclos
![Page 63: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/63.jpg)
63
Ejemplo
AH
J
V
T
H, A sonIndependientes dado J
![Page 64: Métodos de Inteligencia Artificial - INAOEesucar/Clases-MetIA/MetIA-11.pdf1.Encontrar un “esqueleto” (grafo no dirigido) 2.Encontrar arcos convergentes en tripletas de variables](https://reader034.fdocument.pub/reader034/viewer/2022042121/5e9b0aab303a3c61255696a8/html5/thumbnails/64.jpg)
Tarea
• Leer sobre inferencia y aprendizaje deredes bayesianas (capítulo en la página)
• Hacer ejercicios para el jueves 10 de marzo