530 likes | 1k Views
Diagramas de influencia en Elvira II. ÍNDICE. 1.- Diagramas de Influencia 2.- Métodos de evaluación 3.- Clases disponibles 4.- Asimetrías 5.- Aproximación 6.- Simulación. 1.- Diagramas de influencia.
E N D
Diagramas de influencia en Elvira II
ÍNDICE 1.- Diagramas de Influencia 2.- Métodos de evaluación 3.- Clases disponibles 4.- Asimetrías 5.- Aproximación 6.- Simulación
1.- Diagramas de influencia • Los diagramas de influencia permiten representar problemas de decisión, tal y como los percibe el decisor: incertidumbre, acciones a tomar y preferencias. Representación + evaluación. • Los diagramas de influencia son grafos dirigidos y acíclicos, con tres tipos de nodos: • nodos de azar • nodos de decisión • nodos de valor determinísticos
1. Diagramas de Influencia (II) Nodos de azar: variables aleatorias o eventos aleatorios influyentes en el proceso de toma de decisión. Si el nodo es determinístico, su valor queda “fijado” al conocer los valores de sus predecesores Nodos de decisión: variables bajo control del decisor Nodos de valor: cuantifican las preferencias de los expertos
CBrb Ingreso Edad Tratamiento Peso 1. Diagramas de Influencia (III) • Los arcos entre nodos representan las relaciones entre sus variables asociadas, y pueden ser: • informativos: inciden sobre nodos de decisión. Información • disponible en el momento de decidir • condicionales: inciden sobre nodos de azar y sobre el(los) nodo(s) de utilidad. Representan dependencia probabilística (o funcional) • entre nodos (y no necesariamente causalidad) CBrb CHmgb Daño Enf1 Enf2 Peso Edad Marginales: P(Enf1), P(Enf2), P(Peso), P(Edad) Condicionadas: P(CHmg|Enf1, Enf2), P(CBrb|CHmg), P(Daño|CBrb, Peso, Edad)
Coste 1 Coste 2 Coste 3 Coste total 1. Diagramas de Influencia (IV) Distribuciones: P(Coste 1|.....) P(Coste 2|.....) P(Coste 3|.....) Función: Coste total k1*(Coste 1) + k2*(Coste 2) + k3*(Coste 3) Utilidad V1 V2 V3 D1 D2 ------------------------------------------- 100 v11 v21 v31 d11 d21 39 v11 v21 v31 d11 d22 .......................................................... 45 v1n v2m v3p d1q d2r V1 V2 V3 D1 D2
1. Diagramas de Influencia (V) • Métodos de evaluación • evaluación directa (Shachter, Shachter y Peot, Zhang y Poole, Zhang et al, etc). Idea original: Olmsted (1983) • evaluación indirecta : transforman previamente el DI en alguna otra estructura : árboles de decisión, grafos de decisión, redes bayesianas, ... (Howard y Matheson, Cooper, Qi y Poole, Qi, etc) • métodos aproximados: mediante simulación (Shenoy, Bielza, Ortiz, ...), mediante aproximaciones sucesivas (Horsch & Poole), ...
A B A B X U U U(X) U(A,B)) 2.- Métodos de evaluación • Método de inversión de arcos • Mientras haya antecesores del nodo de valor • - Eliminar nodo de azar • (herencia sobre el nodo de valor)
C C X A B A B U U U(A, B) U(X, A, B) 2. Métodos de evaluación (II) - Eliminar nodo de decisión: Sumidero
D F D F A B A B C E C E U U 2. Métodos de evaluación (III) - Invertir arco: (previo a eliminación de nodo de azar) P(A|B, C, D, E, F) P(B|C, D, E, F) P(A|C, D) P(B|A, E, F)
2. Métodos de evaluación (IV) • Resultados: • tablas de decisión (política óptima) • distribuciones a poteriori de todas las variables antes de eliminarlas (recogen la incertidumbre actualizada sobre las variables; interesante en tareas de diagnóstico) • Inconveniente: • elevado coste computacional
2. Métodos de evaluación (V) • Método de eliminación de variables • - Determinar orden temporal, en función de los • arcos informativos In: los nodos que no son antecesores de ningún nodo de decisión In-1: nodos antecesores de Dn ....................................................... I0: nodos antecesores de D1
2. Métodos de evaluación (VI) Se van seleccionando variables a eliminar respetando el orden parcial anteriormente determinado. Cuando se selecciona una variable X, los potenciales se actualizan de la siguiente forma: Si X es una variable de azar:
2. Métodos de evaluación (VII) Si X es una variable de decisión: El conjunto final de potenciales, tras la eliminación de X queda:
2. Métodos de evaluación (VIII) • Resultados: • tablas de decisión (política óptima) • no obtiene las distribuciones a posteriori de las variables a eliminar • Ventaja: • mucho menor coste computacional
2. Métodos de evaluación (IX) • Métodos aproximados • Objetivo: evaluar problemas muy complejos, las tablas de decisión incluyen muchas variables (explosión combinatoria) • Simulación: • instanciar variables, reducción de la complejidad del problema (casos) • aproximación anytime. Obtener solución inicial y mejorar sucesivamente
3.- Clases disponibles en Elvira A) Clase IDiagram - Comprobación de características y acceso a nodos: a) hasCycles b) directedLinks c) pathBetweenDecisions d) onlyOneValueNode e) numberOfDecisions Métodos f) decisionReadyToRemove g) firstDecision h) getDecisionList i) getBarrenNode j) getValueNode k) getNode l) getProblemSize Bnet IDiagram
3. Clases disponibles en Elvira (II) - Manipulación sobre el DI: m) addNonForgettingArcs n) eliminateRedundancy ñ) removeBarrenNodes o) addLinks Métodos p) copy q) qualitativeCopy r) evaluate (mediante ArcReversal) s) save t) print
3. Clases disponibles en Elvira (III) B) Clase ArcReversal - Constructores: a) ArcReversal() b) ArcReversal(IDiagram) - Comprobación de características y acceso c) getInitialRelations Métodos d) initialConditions - Evaluación y manipulación del DI e) evaluateDiagram f) removeChanceNode g) removeDecisionNode h) reverseArc i) modifyUtilityRelation j) modifyUtilityLinks Propagation ArcReversal IDiagram RelationList
3. Clases disponibles en Elvira (IV) - Evaluación y manipulación del DI k) modifyRelations l) modifyLinks m) getExpectedUtility n) maximizeUtility ñ) getPosteriorDistributions o) storeDecisionTable p) giveInstantiationOrder q) getMarginalsNames r) checkInstantiationOrder s) variablesInDecisionTables
3. Clases disponibles en Elvira (V) C) Clase QualitativeArcReversl - Constructores: a) QualitativeArcReversal(IDiagram) - Acceso a datos miembro b) getOrderOfElimination Métodos c) getOrderOfInstantiation - Evaluación y manipulación del DI d) produceOrderOfInstantiation e) evaluateDiagram f) removeChanceNode g) removeDecisionNode h) reverseArc Propagation ArcReversal QualitativeArcReversal
3. Clases disponibles en Elvira (VI) D) Clase ARWithPotentialTree Propagation - Constructores: a) ARWithPotentialTree(IDiagram) - Transformación de relaciones Métodos b) transformInitialRelations: Este método convierte los valores de utilidades y de PotentialTable a PotentialTree (con la posibilidad de aplicar los métodos de árboles que permiten aproximar) ArcReversal ARWithPotentialTree
3. Clases disponibles en Elvira (VII) E) Clase VariableElimination Funcionalidad compartida para redes Bayesianas y diagramas de influencia - Métodos relacionados con DI a) getPosteriorDistributionsID b) combinePotentialsOfNode c) propagate Incorporación de método nextToRemoveId en la clase PairTable, que determina la próxima variable a eliminar. Este método de evaluación no altera la estructura del diagrama: trabaja con sus potenciales, sobre una copia de las relaciones. Propagation VariableElimination
3. Clases disponibles en Elvira (VIII) F) Clase VEWithPotentialTree - Constructores: a) VEWithPotentialTree(Bnet,Evidence) a) VEWithPotentialTree(Bnet) - Transformación de relaciones Métodos b) transformInitialRelations: Este método convierte los valores de utilidades y de PotentialTable a PotentialTree (con la posibilidad de aplicar los métodos de árboles que permiten aproximar) Propagation VariableElimination VEWithPotentialTree
4.- Asimetrías Para ciertos valores de algunas variables, los posibles valores de otra variable están restringidos. Esta información cualitativa se puede representar como una matriz de restricciones (definida sobre las variables afectadas). X Y1Y2 ....... Yn ------------------------------------------- X1 1 0 ....... 0 X2 1 1 ....... 0 .......................................................... Xm 0 1 ....... 1 x2 x1 Y Y y1 y2 y1 y2 1 0 0 1 El tratamiento de las restricciones simplifica la evaluación (sólo evalúa configuraciones válidas)
4. Asimetrías (II) • Objetivos de la representación de asimetrías: • forma general, de forma que se pueda expresar • cualquier tipo de relación. Expresiones lógicas • b) las restricciones, asimetrías, se convierten en • potenciales que se utilizan en la evaluación del • DI • c) si como soporte de la información cualitativa se usan árboles, es posible realizar podas • d) la aplicación de restricciones, en determinados casos, puede hacer posible la aplicación de nuevas podas
Condiciones RTest1 RTest2 Test1 Test2 Compra Valor 4. Asimetrías (III) • Consideraciones sobre las asimetrías: • parte de la información cualitativa estará recogida en las distribuciones (probabilidad – utilidad) iniciales. Esto ocurre en el caso en que las variables afectadas por la restricción formen parte del dominio de las distribuciones. Por ejemplo:
4. Asimetrías (IV) • Resultados del primer test: • P(RTest1 | Test1, Condiciones) Si Test1={No Test} ↔ RTest1={Sin resul.} Si Test1={Frenos} → RTest1 != {Sin resul, 2 defectos} Si Test1={Electric.} Condiciones={bien} → RTest1 != {Sin resul, 2 defectos}
4. Asimetrías (V) • Procedimiento: • extraer del experto la información cualitativa • reducir con ella el número de parámetros a obtener • al usar árboles, aplicar poda para reducir el número de valores a almacenar. En el ejemplo anterior, se podría hacer que las ramas asociadas a Test1 = no Test (correspondientes a los dos posibles valores de Condiciones), se podrían unir en 1 (son idénticas) • mantener estas dos informaciones supone cierta redundancia
4. Asimetrías (VI) • ¿Qué ocurre si estas informaciones no son consistentes? Por ejemplo, en la primera columna se han especificado valores de probabilidad. ¿Debería prevalecer la información cualitativa? Convendría comprobar la consistencia de ambos tipos de informaciones • Puede que alguna información cualitativa haya que usarla durante el proceso de evaluación, por no estar reflejada en los potenciales originales. Por ejemplo, si los valores de Test1 y Test2 están afectados por alguna restricción, esta información está contenida en las distribuciones asociadas al nodo de utilidad, pero no es suficiente
4. Asimetrías (VII) Condiciones RTest1 RTest2 Test1 Test2 Compra Valor Al eliminar Condiciones, he de combinar los potencialess en que aparece esta variable (método de eliminación de variables, aunqye ocurriría lo mismo con inversión de arcos): P(RTest1 | Condiciones, Test1) P(RTest2 | Condiciones, RTest1, Test2) P(Condiciones) para obtener Ф(RTest1, RTest2, Condiciones, Test1, Test2)
4. Asimetrías (VIII) Sobre este potencial sí que habría que aplicar la restricción. En este caso no hay redundancia alguna. d) En este caso, es necesaria una fase de normalización. Se considera el siguiente ejemplo. A B C Información cualitativa: A={a1} → C={c2}
4. Asimetrías (IX) Al eliminar la variable B, se han de combinar los potenciales en que esta variable participa: P(B | A) y P(C | B). Sobre este potencial resulta aplicable la restricción B b2 b1 A A a1 a2 a1 a2 C C C C c1 c2 c1 c1 c1 c2 c2 c2 0.18 0.12 0.54 0.045 0.36 0.055 0.31 0.39 0.7 0.3
4. Asimetrías (X) B b2 b1 A A La normalización sólo es necesaria en caso de verse afectada un potencial de probabilidad. Para las utilidades, asignar un nuevo 0 significa marcar ese escenario como “no recomendable” (a la cola de las preferencias) a1 a2 a1 a2 C C C C c1 c2 c1 c1 c1 c2 c2 c2 ? 0 0.54 0.045 0.36 0.055 ? 0 ¿ 0.18 / (0.18 + 0.31)=0.367 ? ¿ 0.3 ? ¿ 0.31 / (0.18 + 0.31)=0.633 ? ¿ 0.7 ?
4. Asimetrías (XI) Clases para tratar las asimetrías A) ValuesSet Permite definir un conjunto de valores para un nodo (deben estar incluidos en su dominio, aunque también pudiera ser vacío). El tipo de operación a realizar se reduce a ver si un valor para la variable está incluido en este conjunto. Es decir, dado un valor xi para la variable X, esta clase permite determinar si Se puede establecer un flag de negación, de forma que la comprobación a realizar sería: ValuesSet Node Vector
4. Asimetrías (XII) • Datos miembro: • Node node • Vector values • boolean negated • Métodos: • Constructor (Node, Vector, boolean) • checkValue (String) Este es el elemento básico que permite componer expresiones lógicas, mediante las clases LogicalNode y LogicalExpression
4. Asimetrías (XIII) B) LogicalNode Datos miembro: a) int kind (si el nodo es operador u operando) b) int operator (clase de operador: AND, OR, NOT, etc) c) boolean negated d) LogicalNode leftOperand e) LogicalNode rightOperand f) ValuesSet valuesSet g) Vector variables h) Vector index i) boolean result j) int observedValue LogicalNode ValuesSet Vector LogicalNode (operator) LogicalNode (operand) LogicalNode (operand)
4. Asimetrías (XIV) • Métodos: • Constructor (int operator) • Constructor (ValuesSet values) • indexVariables • evaluateConfiguration La idea es que esta clase permita crear objetos que representen relaciones lógicas entre variables, para expresar las relaciones que se pueden establecer entre las variables del modelo. Por encima de esta clase está LogicalExpression, que vincula dos relaciones lógicas en el esquema clásico antecedente consecuente El antecedente y el consecuente son objetos de la clase LogicalNode
4. Asimetrías (XV) C) LogicalExpression Datos miembro: a) LogicalNode consecuent b) LogicalNode antecedent c) int operator d) Vector index e) PotentialTable result Potential LogicalExpression LogicalExpression (operator) LogicalNode LogicalNode (consecuent) LogicalNode (antecedent) Vector PotentialTable
4. Asimetrías (XVI) • Métodos: • Constructor (LogicalExpression, LogicalExpression) • Constructor (LogicalNode, LogicalNode, int) • evaluate • buildIndex El resultado es un PotentialTable que contiene todas las configuraciones válidas según esta restricción. Del PotentialTable se puede pasar fácilmente a un PotentialTree, de forma que se pueda incorporar a la evaluación de DI mediante árboles. Para mejorar el tratamiento de las restricciones se debería hacer una poda del PotentialTree, de forma que se redujera al máximo su tamaño y la expresión de la restricción fuera lo más compacta posible.
4. Asimetrías (XVII) Expresión de restricciones en Elvira Relation var1 var2 var3 var4{ kind=constraint; values=logical-expression (var1 in {var11,var12} & !(var2 in {var21} | var3 not in {var33}) -> var4 in {var41}); }
4. Asimetrías (XVIII) D) Clase ARWPTAndConstraints Propagation - Constructores: a) ARWPTAndConstraints(IDiagram) - Transformación de relaciones Métodos b) transformInitialRelations: Este método convierte los valores de utilidades y de PotentialTable a PotentialTree (se aplican las restricciones. Poda) b) transformAfterOperation: Ve si es necesario aplicar restricciones sobre un potencial sobre el que se operado (Poda) ArcReversal ARWPTAndConstraints
4. Asimetrías (XIX) D) Clase VEWPTAndConstraints Propagation - Constructores: a) VEWPTAndConstraints(IDiagram) - Transformación de relaciones b) transformInitialRelations: Este método convierte los valores de utilidades y de PotentialTable a PotentialTree (se aplican las restricciones. Poda) b) transformAfterOperation: Ve si es necesario aplicar restricciones sobre un potencial sobre el que se operado (Poda) VariableElimination VEWPTAndConstraints
5.- Aproximación En problemas complejos, pese a aprovechar todo el conocimiento del problema, los potenciales obtenidos pueden ser enormes. En esta situación se puede aprovechar el uso de árboles reduciendo el número de hojas mediante aproximación. La idea consiste en organizar el árbol, de forma que las variables más significativas aparezcan cerca de la raíz del árbol; la realización de una poda debe suponer la menor pérdida posible de información
5. Aproximación (II) Árboles de probabilidad: medida de significación: distancia de Kullback-Leibler Árboles de utilidad: ¿medida de significación?: métrica L2 (raíz cuadrada de las diferencias al cuadrado entre las utilidades de las configuraciones en los árboles podado y expandido) X Y X x2 x1 y2 y1 x2 x1 Y Y 54’5 66 67’5 53 y1 y2 y1 y2 100 35 9 97
5. Aproximación (III) X X x2 x1 x2 x1 Y Y 67’5 53 y1 y2 y1 y2 100 35 9 97 Y y2 y1 54’5 66
5. Aproximación (IV) Otra posible medida estaría relacionada con la proximidad de los nodos hoja. Se permite la poda en el caso en que la distancia sea menor que un cierto valor umbral. X x2 x1 X x2 x1 Y Y 98’5 Y y1 y2 y1 y2 y1 y2 100 97 9 63 9 63
5. Aproximación (V) • ¿Desligar los dos aspectos? • Reordenación de variables, de forma que las más significativas aparezcan más arriba (intento de reducir la distancia de utilidad entre los nodos hoja). Esta información podría usarse con fines de explicación • Podas sobre nodos hoja. Sólo se poda si hay proximidad entre los valores (intento de modificar en la menor medida la función de utilidad original)
6.- Simulación En desarrollo. Idea: abordar problemas muy complejos. Se obtendrá una política (no óptima), especialmente relacionada con las situaciones más usuales.