Plan Raisonnement probabiliste IFT-17587 Concepts avancés pour systèmes intelligents Luc Lamontagne Réseaux bayésiens Inférence dans les réseaux bayésiens 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 déterministe? Capteur Observabilité partielle Inférence Envir ε ment Information bruitée actions Comportement Effecteurs stochastique Environnement complexe 3 Un agent doit pouvoir gérer : L incertitude lié à l environnement probabilité La qualité de ses décisions utilité Agent État Comment le monde évolue? Quel est l impact de mes actions? Utilité Capteurs 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? Quelle action dois-je faire maintenant? Effecteurs Envir ε ment 4
Agent basé sur l utilité Raisonnement incertain : Réseaux bayésiens Raisonnement incertain (ch.13-14) Dans cette section, nous étudions les réseaux bayésiens 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. Théorie de la décision (ch.16-17) Niveau_énergie Armé Attaque Proche Dangereux Visible Audible 5 6 Notions de probabilité 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) P Règle de bayes ( ) ( a b) P( a) P a b = P( b) Distributions de probabilités conjointes P(x,y,z) Utile pour faire des inférences Mais peuvent être difficile à calculer en pratique (grande taille) Conditionnement ( ) P( Y z) P( z) P Y = z Indépendance et indépendance conditionnelle Permettent de réduire les calculs reliés à ces distributions. P ( X Y ) = P( X ) P ( X, Y ) = P( X ) P( Y ) 7 Syntaxe F 0.15 F Réseau bayésien MalDeDents SondeAccroche Un graphe orienté acyclique Chaque nœud annoté d une table de probabilités conditionnelles. Plus spécifiquement, il contient: Un ensemble de variables aléatoires Un ensemble de liens orientés connectant deux nœuds. 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(X i Parents(X i )) qui quantifie l effet du parent sur le nœud. Carie V P(MD) 0.6 P(Carie) 0.02 Carie Carie V P(SA) 0.7 0.2 8
Syntaxe des réseaux bayésiens : Exemple du dentiste Météo MalDeDents Carie SondeAccroche 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. Syntaxe des réseaux bayésiens : Exemple de l alarme Vous avez un nouveau système d alarme à la maison : Il sonne lorsqu il y a un cambriolage (Burglary) Il sonne parfois lorsqu il y a un tremblement de terre (Earthquake) Vous avez deux voisins qui vous appellent au bureau s ils entendent l alarme. 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 : Exemple de l alarme Syntaxe des réseaux bayésiens : 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. 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 11 12
Syntaxe des réseaux bayésiens : Exemple de l alarme Syntaxe des réseaux bayésiens : Spécification concise Table de probabilités conditionnelles (TPC) Pour une variable booléenne X i avec k parents booléens Elle contient 2 k rangés. Chaque rangée a une probabilité p pour X i = Vrai La valeur pour X i = Faux est 1 p Si on borne le nombre maximal de parents à k Alors le réseau demande O(n2 k ) nombres. Linéaire en n, au lieu de O(2 n ) pour une table complète Pour notre exemple On a besoin de 10 valeur au lieu de 2 5 = 32 pour la table complète de probabilité conjointe. 13 14 Sémantique Un réseau définit la distribution conjointe complète de probabilités Correspond au produit des distributions conditionnelles locales : Exemple: Construction 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 X 1,,X n Pour i = 1 à n Faire - Ajouter X i au réseaur - Sélectionner ses parents dans X 1,, X i-1 tels que P(X i Parents(X i )) = P(X i X 1,,X i-1 ) Fin Pour 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
Exemple Supposons que l on choisit l ordre B, E, A, M, J Exemple Supposons que l on choisit le mauvais ordre M, J, A, B, E Bulgary MaryCalls Alarm Earthquake JohnCalls P(J M) = P(J)? Non P(A J,M) = P(A J)? Non P(A J,M) = P(A M)? Non P(B A,J,M) = P(B A)? Oui P(B A,J,M) = P(B)? Non P(E B,A,J,M) = P(E A)? Non P(E B,A,J,M) = P(E A,B)? Oui On obtient un réseaux plus complexe avec des probabilités plus difficiles à déterminer. Bulgary MaryCalls Alarm JohnCalls Earthquake 17 18 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. Sémantique Chaque nœud est indépendant des autres sachant sa couverture de Markov (Markov Blanket) Parent + Enfants + Parents des enfants. 19 20
Sommaire 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. Inférence exacte 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 Inférence exacte Une question typique: P(X e) Dans l exemple du cambriolage 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. Inférence exacte : Inférence par énumération Les réseaux bayésiens donnent la représentation complète de la table de distribution conjointe Alors 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. 23 24
Inférence exacte : Inférence par énumération Inférence exacte : 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: B M A E J Arbre de calcul : En simplifiant, on obtient: 25 Répétitions 26 Inférence exacte : Inférence par énumération En effectuant les calculs, on obtient: Inférence exacte : Inférence par énumération 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(2 n ). 27 28
Inférence exacte : Élimination de variables 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 : Inférence exacte : Élimination de variables - Exemple Pour le facteur M, on enregistre les probabilités, étant donné chaque valeur de a, dans un vecteur à deux éléments. Facteurs On fait la même chose pour J. Pour le facteur A, on obtient une matrice de 2 x 2 x 2, f A (A,B,E) 29 30 Inférence exacte : Élimination de variables - Exemple Inférence exacte : Élimination de variables - Exemple Il faut maintenant faire la somme du produit des trois facteurs La barre sur le A, indique que l on a fait la somme pour A Le facteur et la sommation sur E sont calculés de la même manière. Finalement, on obtient: La multiplication utilisée est un pointwise product 31 32
Inférence exacte : Pointwise product Le pointwise product de deux facteurs f 1 et f 2 donne un nouveau facteur f Les variables sont l union des variables de f 1 et f 2. Exemple: Inférence exacte : Variables inutiles Considérons: P(J b) La somme sur M donne 1 Donc M est inutile. Théorème: Y est inutile sauf si Ici: donc, M est inutile. 33 34 Réseaux bayésiens Inférence approximative 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. Méthodes d échantillonnage directe 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. 35 36
Exemple d échantillonnage directe Exemple d échantillonnage directe 37 38 Exemple d échantillonnage directe Exemple d échantillonnage directe 39 40
Exemple d échantillonnage directe Exemple d échantillonnage directe 41 42 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
Échantillonnage directe : 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 Si on génère 1000 échantillons Que pour 511 d entre eux Rain = true Donc on peut faire l estimation suivante : Échantillonnage par rejet 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. 45 46 É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 Ils sont donc rejetés Pour les 27 échantillons où Sprinkler = true 8 ont Rain = true 19 ont Rain = false Donc 47 48
Échantillonnage par rejet Problème de cette méthode Elle rejette beaucoup d échantillons Elle génère donc beaucoup d échantillons inutiles. Si un grand nombre de variables d évidence L approche est impraticable pour les problèmes complexes Autre approche Likelihood weighting Évite l inefficacité de l échantillonnage par rejet Génère uniquement des échantillons consistants avec les variables d évidence Idée : Fixer les variables d évidence Échantillonner uniquement sur les autres variables Attribuer un poids aux échantillons selon la probabilité que l événement survienne en accord avec les évidences. 49 50 Réseaux bayésiens Inférence approximative Réseaux bayésiens Inférence approximative, e) w = 1 51 52
Réseaux bayésiens Inférence approximative Réseaux bayésiens Inférence approximative w = 1 53 w = 1 54 Réseaux bayésiens Inférence approximative Réseaux bayésiens Inférence approximative w = 1 * 0.1 55 w = 1 * 0.1 56
Réseaux bayésiens Inférence approximative Réseaux bayésiens Inférence approximative w = 1 * 0.1 57 w = 1 * 0.1 * 0.99 = 0.099 58 L estimation de la probabilité 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: La majorité des échantillons vont avoir des petits poids Seulement une minorité d échantillons vont avoir pratiquement tout le poids total. Inférence par MCMC Algorithme Markov Chain Monte Carlo (MCMC) Génère les événements en faisant un changement aléatoire à l événement précédent. 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
Inférence approximative Inférence par MCMC Inférence approximative 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