Plan Raisonnement probabiliste Réseaux bayésiens Inférence dans les réseaux bayésiens IFT-17587 Concepts avancés pour systèmes intelligents Luc Lamontagne Inférence exacte Inférence approximative 1 2 Contexte Quel type d’agent? Jusqu’à maintenant, nous avons principalement étudié des techniques pour des environnements déterministes Que faire lorsque l’environnement est non percepts Agent Capteur déterministe? partielle Inférence Information bruitée actions Comportement Effecteurs stochastique Environnement complexe… Envir__ε…ment L’incertitude lié à l’environnement Æ probabilité La qualité de ses décisions Æ utilité Capteurs Agent État Comment le monde évolue? Quel est l’impact de mes actions? Utilité Comment le monde est maintenant? Comment sera le monde si je fais l’action A? À quel point je vais être satisfait dans un tel état? Envir___ε…ment Observabilité Un agent doit pouvoir gérer : Quelle action dois-je faire maintenant? Effecteurs 3 4 1 Raisonnement incertain : Agent basé sur l’utilité Réseaux bayésiens Dans cette section, nous étudions les réseaux bayésiens Raisonnement incertain (ch.13-14) Basés sur les probabilités – un formalisme éprouvé Permettent de représenter les dépendances entre les variables Donnent une spécification concise des distributions de probabilités conjointes. Attaque Théorie de la décision (ch.16-17) Niveau_énergie Proche Armé Dangereux Visible Audible 5 6 Réseaux bayésiens : Réseaux bayésiens : Notions de probabilité Syntaxe Révision des concepts de probabilité au chapitre 13 Règle du produit P(a, b ) = P(a b )P(b ) = P(b a )P(a ) Règle de bayes Distributions de probabilités conjointes P(x,y,z) P (a b ) = P (a b )P (a ) P (b ) Utile pour faire des inférences Mais peuvent être difficile à calculer en pratique (grande taille) Conditionnement P (Y ) = ∑ P (Y z )P( z ) Permettent de réduire les calculs reliés à ces distributions. P(X Y ) = P( X ) V 0.6 F 0.15 Carie MalDeDents Un graphe orienté acyclique Chaque nœud annoté d’une table de probabilités conditionnelles. Carie P(SA) V 0.7 F 0.2 SondeAccroche Un ensemble de variables aléatoires Un ensemble de liens orientés connectant deux nœuds. Indépendance et indépendance conditionnelle 0.02 P(MD) Plus spécifiquement, il contient: z Réseau bayésien P(Carie) Carie S’il y a un lien du nœud X vers Y, on dit que X est le parent de Y. Chaque nœud a une distribution de probabilité conditionnelle P(Xi | Parents(Xi)) qui quantifie l’effet du parent sur le nœud. P( X , Y ) = P( X )P(Y ) 7 8 2 Syntaxe des réseaux bayésiens : Syntaxe des réseaux bayésiens : Exemple du dentiste Exemple de l’alarme Météo Carie Vous avez un nouveau système d’alarme à la maison : MalDeDents SondeAccroche Vous avez deux voisins qui vous appellent au bureau s’ils entendent l’alarme. Indépendance : Météo est indépendante des autres variables Indépendance conditionnelle : MalDeDents et SondeAccroche le sont sachant Carie. Il n’y a aucun lien direct entre MalDeDents et SondeAccroche. Il sonne lorsqu’il y a un cambriolage (Burglary) Il sonne parfois lorsqu’il y a un tremblement de terre (Earthquake) John appelle tout le temps quand il entend l’alarme, mais parfois il confond le téléphone avec l’alarme (JohnCalls). Mary aime écouter de la musique forte et parfois elle n’entend pas l’alarme (MaryCalls). Sachant qui a appelé : Quelle est la probabilité qu’il y ait un cambriolage ? 9 10 Syntaxe des réseaux bayésiens : Syntaxe des réseaux bayésiens : Exemple de l’alarme Exemple de l’alarme La topologie du réseau reflète un ensemble de relations d’indépendances conditionnelles Bulgary et Earthquake affectent directement la probabilité de déclenchement d’une alarme Le fait que John ou Mary appelle ne dépend que de l’alarme. 11 John et Mary ne perçoivent pas directement le cambriolage Ils ne perçoivent pas les tremblements de terre mineurs Ils ne se consultent pas avant d’appeler 12 3 Syntaxe des réseaux bayésiens : Syntaxe des réseaux bayésiens : Exemple de l’alarme Spécification concise Table de probabilités conditionnelles (TPC) Pour une variable booléenne Xi avec k parents booléens Elle contient 2k rangés. Chaque rangée a une probabilité p pour Xi = Vrai Si on borne le nombre maximal de parents à k La valeur pour Xi = Faux est 1 – p Alors le réseau demande O(n2k) nombres. Linéaire en n, au lieu de O(2n) pour une table complète Pour notre exemple On a besoin de 10 valeur au lieu de 25 = 32 pour la table complète de probabilité conjointe. 13 14 Réseaux bayésiens : Réseaux bayésiens : Sémantique Construction Un réseau définit la distribution conjointe complète de probabilités Correspond au produit des distributions conditionnelles locales : Il faut une méthode garantissant qu’une série d’indépendances conditionnelles vérifiées localement induise la sémantique globale requise Choisir un ordre sur les variables X1, …,Xn Pour i = 1 à n Faire - Ajouter Xi au ré réseau - Sélectionner ses parents dans X1, …, Xi-1 tels que P(Xi | Parents( Parents(Xi)) = P(Xi | X1, …,Xi-1) Fin Pour Exemple: Il est préférable d’avoir un modèle causal • C’est-à-dire qu’il est mieux d’ajouter la cause « racine » en premier • Et ensuite les variables qui sont influencées par la cause 15 16 4 Réseaux bayésiens : Réseaux bayésiens : Exemple Exemple Supposons que l’on choisit l’ordre B, E, A, M, J Bulgary Earthquake Supposons que l’on choisit le mauvais ordre M, J, A, B, E Non P(J|M) = P(J)? Non P(A|J,M) = P(A|J)? Non P(A|J,M) = P(A|M)? Oui P(B|A,J,M) = P(B|A) ? Non P(B|A,J,M) = P(B) ? Non P(E|B,A,J,M) = P(E|A) ? Oui P(E|B,A,J,M) = P(E|A,B) ? Alarm MaryCalls JohnCalls MaryCalls JohnCalls Alarm Bulgary On obtient un réseaux plus complexe avec des probabilités plus difficiles à déterminer. Earthquake 17 18 Réseaux bayésiens : Réseaux bayésiens : Sémantique Sémantique Sémantique locale : chaque nœud est conditionnellement indépendant des nœuds qui ne sont pas ses descendants étant donné ses parents. Chaque nœud est indépendant des autres sachant sa couverture de Markov (Markov Blanket) 19 Parent + Enfants + Parents des enfants. 20 5 Réseaux bayésiens : Sommaire Inférence exacte Les réseaux bayésiens sont une manière naturelle de représenter les dépendances causales. C’est une représentation compact des distributions conjointes de probabilité. Généralement facile à construire. But : Calculer la distribution de probabilité a posteriori d’un ensemble de variables de requête Étant donnée un événement observé, c.-à-d. à des variables d’évidence dont les valeurs sont déterminées L’ensemble complet de variables X: X : variable de question E: l’ensemble des variables d’évidence e: un événement particulier Y: l’ensemble des variables cachées X = {X }U E U Y 21 22 Réseaux bayésiens : Inférence exacte : Inférence exacte Inférence par énumération Une question typique: P(X | e) Dans l’exemple du cambriolage Les réseaux bayésiens donnent la représentation complète de la table de distribution conjointe Alors On pourrait observer l’événement JohnCalls = vrai et MaryCalls = vari. Par la suite, on pourrait se demander s’il y a eu un cambriolage. 23 on peut utiliser la formule suivante (voir chapitre 13) Si on reprend l’exemple précédent où les variables cachées sont Earthquake et Alarm. 24 6 Inférence exacte : Inférence exacte : Inférence par énumération Inférence par énumération On peut réécrire la formule en utilisant les entrées des tables de probabilités conditionnelles du réseau bayésien. Pour Burglary = vrai, on obtient: En simplifiant, on obtient: B Arbre de calcul : E A M J Répétitions 25 Inférence exacte : Inférence exacte : Inférence par énumération Inférence par énumération En effectuant les calculs, on obtient: Si on fait la même chose pour Burglary = false, on obtient: Même si les deux appellent, il n’y a que 28% des chances qu’il y ait eu un cambriolage. La complexité en temps de l’inférence par énumération est de O(2n). 27 26 28 7 Inférence exacte : Inférence exacte : Élimination de variables Élimination de variables - Exemple Améliore l’algorithme par énumération en évitant les calculs répétés. La somme est effectuée de la droite vers la gauche. Exemple cambriolage : Pour le facteur M, on enregistre les probabilités, étant donné chaque valeur de a, dans un vecteur à deux éléments. On fait la même chose pour J. Pour le facteur A, on obtient une matrice de 2 x 2 x 2, fA(A,B,E) Facteurs 29 30 Inférence exacte : Inférence exacte : Élimination de variables - Exemple Élimination de variables - Exemple Il faut maintenant faire la somme du produit des trois facteurs Le facteur et la sommation sur E sont calculés de la même manière. Finalement, on obtient: La barre sur le A, indique que l’on a fait la somme pour A La multiplication utilisée est un pointwise product 31 32 8 Inférence exacte : Inférence exacte : Pointwise product Variables inutiles Le pointwise product de deux facteurs f1et f2 donne un nouveau facteur f Exemple: Les variables sont l’union des variables de f1 et f2. Considérons: P(J | b) La somme sur M donne 1 Théorème: Y est inutile sauf si Ici: Donc M est inutile. donc, M est inutile. 33 34 Réseaux bayésiens Inférence approximative : Inférence approximative Méthodes d’échantillonnage directe Les méthodes d’inférences exactes que l’on vient de voir ne sont pas utilisables pour de grands réseaux. C’est pourquoi on considère des approches approximatives. On va voir des algorithmes basés sur l’échantillonnage aléatoire (Monte Carlo) dont la précision va dépendre du nombre d’échantillons. 35 La forme la plus simple d’échantillonnage aléatoire est de générer des événements sans variable d’évidence La distribution de probabilité à partir de laquelle un échantillon pour une variable est choisi est basée sur les valeurs attribuées aux parents. 36 9 Inférence approximative : Inférence approximative : Exemple d’échantillonnage directe Exemple d’échantillonnage directe 37 38 Inférence approximative : Inférence approximative : Exemple d’échantillonnage directe Exemple d’échantillonnage directe 39 40 10 Inférence approximative : Inférence approximative : Exemple d’échantillonnage directe Exemple d’échantillonnage directe 41 42 Inférence approximative : Inférence approximative : Exemple d’échantillonnage directe Exemple d’échantillonnage directe Résultat = [T, F, T, T] On répète plusieurs fois pour obtenir un échantillon! 43 44 11 Inférence approximative : Échantillonnage directe : Échantillonnage par rejet Estimer la probabilité d’un événement On peut estimer la probabilité d’un événement avec la fraction des événements générés aléatoirement qui remplit la condition. Par exemple Utiliser pour déterminer les probabilités conditionnelles. Méthode: Génère des échantillons comme la méthode précédente Enlève tous les échantillons où les variables d’évidence n’ont pas les bonnes valeurs Estime la probabilité en comptant parmi les échantillons restants. Si on génère 1000 échantillons Que pour 511 d’entre eux Rain = true Donc on peut faire l’estimation suivante : 45 46 Inférence approximative : Inférence approximative : Échantillonnage par rejet Échantillonnage par rejet Supposons que l’on veut estimer P(Rain|Sprinkler = true) en utilisant 100 échantillons. Dans 73 échantillons, Sprinkler = false Pour les 27 échantillons où Sprinkler = true 47 Ils sont donc rejetés 8 ont Rain = true 19 ont Rain = false Donc 48 12 Inférence approximative : Inférence approximative : Échantillonnage par rejet Pondération de la vraisemblance Problème de cette méthode Elle rejette beaucoup d’échantillons Elle génère donc beaucoup d’échantillons inutiles. Génère uniquement des échantillons consistants avec les variables d’évidence Si un grand nombre de variables d’évidence L’approche Idée : Fixer les variables d’évidence uniquement sur les autres variables Attribuer un poids aux échantillons selon la probabilité que l’événement survienne en accord avec les évidences. est impraticable pour les problèmes Échantillonner complexes Autre approche – Pondération de la vraisemblance Évite l’inefficacité de l’échantillonnage par rejet Likelihood weighting 49 50 Réseaux bayésiens – Inférence approximative Réseaux bayésiens – Inférence approximative Pondération de la vraisemblance Pondération de la vraisemblance , e) w=1 51 52 13 Réseaux bayésiens – Inférence approximative Réseaux bayésiens – Inférence approximative Pondération de la vraisemblance Pondération de la vraisemblance w=1 w=1 53 54 Réseaux bayésiens – Inférence approximative Réseaux bayésiens – Inférence approximative Pondération de la vraisemblance Pondération de la vraisemblance w = 1 * 0.1 w = 1 * 0.1 55 56 14 Réseaux bayésiens – Inférence approximative Réseaux bayésiens – Inférence approximative Pondération de la vraisemblance Pondération de la vraisemblance w = 1 * 0.1 w = 1 * 0.1 * 0.99 = 0.099 57 Inférence approximative : Inférence approximative : Pondération de la vraisemblance Inférence par MCMC L’estimation de la probabilité Algorithme Markov Chain Monte Carlo (MCMC) Génère les événements en faisant un changement aléatoire à l’événement précédent. La somme pondérée des échantillons où ce qui est recherchée est vrai. Plus efficace que l’échantillonnage par rejet Mais l’efficacité de la méthode se dégrade si le nombre de variables d’évidence augmente, parce que: 58 La majorité des échantillons vont avoir des petits poids Seulement une minorité d’échantillons vont avoir pratiquement tout le poids total. L’algorithme maintient donc un état courant où toutes les variables ont une valeurs. Pour générer le prochain état: Choisir une variable qui n’est pas une variable d’évidence. La distribution de cette variable dépend des valeurs des variables dans son Markov Blanket 59 60 15 Inférence approximative Inférence approximative Inférence par MCMC Inférence par MCMC Exemple: si on génère 100 échantillons et que l’on trouve: 31 où Rain = true 69 où Rain = false Donc, l’estimation de la distribution est Normalize(31,69) = (0.31,0.69). Avec Sprinkler = true et WetGrass = true, il y a quatre états possibles. 61 62 Conclusion Un réseau bayésien est un graphe dirigé acyclique Les nœuds correspondent à des variables aléatoires Chaque nœud a une distribution conditionnelle Moyen concis de représenter les relations d’indépendance conditionnelle Représente une distribution conjointe complète L’inférence revient à calculer la distribution de probabilité d’un ensemble de variables étant donné un ensemble de variables d’observations On peut approximer ce calcul par de l’échantillonnage et les techniques MCMC 63 16