La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Froduald Kabanza Département d’informatique Université de Sherbrooke

Présentations similaires


Présentation au sujet: "Froduald Kabanza Département d’informatique Université de Sherbrooke"— Transcription de la présentation:

1 IFT 615 – Intelligence artificielle Raisonnement probabiliste - réseaux bayésiens
Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/cours/ift615

2 Sujets couverts C’est quoi un réseau bayésien (RB)?
structure d’un RB calcul de probabilités dans un RB Indépendance conditionnelle dans un RB Inférence dans un réseau bayésien inférence exacte inférence approximative Sujet plus poussés apprentissage automatique des réseaux bayésiens IFT615 Froduald Kabanza

3 Réseaux bayésiens On a vu les bases du raisonnement probabiliste et de la théorie des probabilité à partir d’une table des probabilités conjointes, comment calculer toute autre probabilité On a utilisé un exemple simple (MalDeDent, Croche, Carie) on aurait pu considérer le cas de la détection de « pourriels » AuteurInconnu : l’auteur du courriel est inconnu ContientMotListeNoire : le courriel contient un mot d’une « liste noire » Pourriel : le courriel est un pourriel souvent, on aura besoin de centaines de variables aléatoires la table des probabilités ne pourra pas être stockée en mémoire Dans ce cours, on va voir une façon plus efficace de construire un modèle de raisonnement probabiliste IFT615 Froduald Kabanza

4 Réseaux bayésiens Les réseaux bayésiens (RB) sont un mariage entre la théorie des graphes et la théorie des probabilités Un RB permet de représenter les connaissances probabilistes d’une application donnée : par exemple, les connaissances cliniques d’un médecin sur des liens de causalité entre maladies et symptômes Les RB sont utiles pour modéliser des connaissances d’un système expert ou d’un système de support à la décision, dans une situation pour laquelle : la causalité joue un rôle important (des événements en causent d’autres) mais notre compréhension de la causalité des événements est incomplète (on doit recourir aux probabilités) IFT615 Froduald Kabanza

5 Application : diagnostique médical
Déterminer la maladie d’un patient, sachant des symptômes On peut avoir une maladie mais montrer seulement un sous-ensemble des symptômes possibles Age Gender Exposure- to-Toxics Smoking Cancer Cancer la capacité du corps humain à maintenir un taux de calcium normal – on peut détecter un cancer en mesurant le taux de calcium Cancer influence le fait d’avoir un tumeur au poumon Serum- Calcium Lung- Tumor IFT615 Froduald Kabanza

6 Applications Diagnostique : P(Causes | Symptômes)
Symptom Diagnostique : P(Causes | Symptômes) Prédiction : P(Symptomes | Causes) Classification : max P(Classe |Données) classe Prise de décision avec un diagramme d’influence (réseau bayésien + fonction d’utilité) À quoi servent les réseaux bayésiens? IFT615 Froduald Kabanza

7 Syntaxe Un RB est un graphe orienté acyclique
dont les nœuds sont des variables aléatoires et les arcs représentent des dépendances (par exemple des causalités) probabilistes entre les variables et des distributions de probabilités conditionnelles (locales) pour chaque variable étant donnés ses parents Carie MalDeDents Croche IFT615 Froduald Kabanza

8 Exemple Considérons la situation suivante :
je suis au travail, et mes voisins Marie et Jean m’ont promis de m’appeler chaque fois que mon alarme sonne mon voisin Jean m’appelle pour me dire que mon alarme sonne parfois il confond l’alarme avec la sonnerie du téléphone par contre ma voisine Marie ne m’appelle pas toujours parfois elle met la musique trop fort parfois mon alarme se met à sonner lorsqu’il y a de légers séismes comment conclure qu’il y a ou non un cambriolage chez moi? On peut représenter ce problème par un RB IFT615 Froduald Kabanza

9 Exemple Variables aléatoires : Cambriolage Séisme Alarme JeanAppelle
MarieAppelle Cambriolage Séisme Alarme MarieAppelle JeanAppelle IFT615 Froduald Kabanza

10 Exemple La topologie du RB modélise les relations de causalité
P(C) .001 P(S) .002 La topologie du RB modélise les relations de causalité Un arc d’un nœud X vers un nœud Y signifie que la variable X influence la variable Y un cambriolage peut déclencher l’alarme un séisme aussi l’alarme peut inciter Jean à appeler idem pour Marie Une table de probabilités conditionnelles (TPC) donne la probabilité pour chaque valeur du nœud étant donnés les combinaisons des valeurs des parents du nœud (c’est l’équivalent d’une distribution) Cambriolage Séisme C S P(A|C,S) T T T F F T F F Alarme MarieAppelle JeanAppelle A P(M|A) T F A P(J|A) T F IFT615 Froduald Kabanza

11 Définitions Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) T T T F F T F F A P(J|A) T F A P(M|A) T F P(C) .001 P(S) .002 S’il y a un arc d’un nœud Y vers un nœud X, cela signifie que la variable Y influence la variable X Y est appelé le parent de X Parents(X) est l’ensemble des parents de X Si X n’a pas de parents, sa distribution de probabilités est dite inconditionnelle ou a priori Si X a des parents, sa distribution de probabilités est dite conditionnelle Si X est une variable observée, ont dit que c’est une évidence ou une observation. IFT615 Froduald Kabanza

12 RB avec des variables continues
PDF(D) PDF(S) Dans ce cours, on considère uniquement des RB avec des variables discrètes : les TPC sont spécifiées en énumérant toutes les entrées Mais les RB peuvent aussi supporter les variables continues : les probabilités conditionnelles sont spécifiées par des fonctions de densité de probabilités (PDF) exemples : distance entre voleur et le capteur de mouvement force du séisme sur l’échelle de Richter Distance Voleur ForceSéisme D S P(A|D,S) <1 > <1 < >1 > >1 < Alarme MarieAppelle JeanAppelle A P(M|A) V F A P(J|A) V F IFT615 Froduald Kabanza

13 Autres appellations Il y a d’autres appellations pour les RB :
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 Il y a d’autres appellations pour les RB : réseaux de croyance (belief networks) modèle graphique dirigé acyclique Les RB font partie de la classe plus courante des modèles graphiques IFT615 Froduald Kabanza

14 Sémantique Un RB est une façon compacte de représenter des probabilités conjointes Par définition, la probabilité conjointe de X1 et X2 est donnée par la distribution P(X1,X2), pour une valeur donnée de X1 et X2 La distribution conditionnelle de X1 sachant X2 est notée P(X1| X2) P(X1,X2) = P(X1 | X2) P(X2) Soit X = {X1, …, Xn}, l’ensemble des variables d’un RB : P(X1, …, Xn) =i = 1 P(Xi | Parents(Xi)) En d’autres mots, la distribution conjointe des variables d’un RB est définie comme étant le produit des distributions conditionnelles (locales) Seules comptent les probabilités de chaque variable connaissant ses parents, pour calculer la distribution jointe. n IFT615 Froduald Kabanza

15 Calcul de probabilité conjointe
Nous avons vu que, quelque soit l’ensemble de variables X = {X1, …, Xn}, par définition : P(X1, …, Xn) = P(Xn | Xn-1, …, X1) P(Xn-1, …, X1) = P(Xn | Xn-1, …, X1) P(Xn-1 | Xn-2, …, X1) … P(X2|X1) P(X1) =  i = 1 P(Xi | Xi-1, …, X1) Pour un RB : P(X1, …, Xn) =i = 1 P(Xi | Parents(Xi)) ceci est cohérent avec l’assertion précédente pour autant que Parents(Xi) soit l’ensemble de {Xi-1, …, X1} ainsi, un RB est en fait une façon de représenter les indépendances conditionnelles n n Pour satisfaire la condition que Parents(Xi) est un sous-ensemble de {Xi-1, …, X1}, on étiquette les nœuds du RB dans un ordre cohérent avec la relation d’ordre partielle implicite dans la topologie du RB. IFT615 Froduald Kabanza

16 Exemple : probabilité conjointe
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) T T T F F T F F A P(J|A) T F A P(M|A) T F P(C) .001 P(S) .002 P(X1, … ,Xn) =  i = 1 P(Xi | Parents(Xi)) P(j, m, a, ¬c, ¬s) = P(j|a) P(m|a) P(a| ¬ c, ¬ s) P(¬ c) P(¬ s) = .90 * .70 * .001 * .999 * n Nous allons maintenant voir que la topologe du réseau bayésien simplifie beaucoup le calcul des probabilité. Nous allons commencer par des cas simples pour aboutir à un critère topologique très general que l’on appelle D-separation (D pour “Directional). P(J=j, M=m, A=a, C=¬c, S=¬s) est aussi noté P(j, m, a, ¬c, ¬s) IFT615 Froduald Kabanza

17 Exemple : probabilité marginale
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) T T T F F T F F A P(J|A) T F A P(M|A) T F P(C) .001 P(S) .002 P(¬c, a) = Σm Σj Σs P(J=j,M=m,a,¬c,S=s) = Σm Σj Σs P(j|a) P(m|a) P(a| ¬ c, s) P(¬c) P(s) = Σs Σj Σm P(j|a) P(m|a) P(a| ¬ c, s) P(¬c) P(s) = Σs Σj P(j|a) P(a| ¬ c, s) P(¬c) P(s) Σm P(m|a) = Σs P(a| ¬ c, s) P(¬c) P(s) Σj P(j|a) = P(a|¬c,s) P(¬c) P(s) + P(a|¬c,¬s) P(¬c) P(¬s) = .29 * .999 * * .999 * .998 = 1 = 1 IFT615 Froduald Kabanza

18 Probabilité marginale
P(C) .001 P(S) .002 P(¬ c, a) = Σm Σj Σs P(J=j,M=m,a,¬c,S=s) = Σs P(a| ¬ c, S=s) P(¬c) P(S=s) Pour les probabilités marginales, on peut ignorer les nœuds dont les descendants ne sont pas les nœuds observés JeanAppelle et MarieAppelle et leurs descendants ne sont pas observés, alors on peut les ignorer Séisme est un ancêtre de Alarme, alors on doit le marginaliser explicitement Cambriolage Séisme C S P(A|C,S) T T T F F T F F Alarme MarieAppelle JeanAppelle A P(M|A) T F A P(J|A) T F IFT615 Froduald Kabanza

19 Indépendance conditionnelle dans un RB
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 Relation entre grand-parent et enfant étant donné les parents sont indépendants si tous les parents sont observés. Exemples : Cambriolage et MarieAppelle sont dépendants a priori mais ils sont indépendants étant donné Alarme : P(M|A,C) = P(M|A) si A est connu, C n’intervient pas dans le calcul connaître A « bloque » le chemin entre M et C Exemples similaires avec Cambriolage -> Alarme -> JeanAppelle ou Sésime -> Alarme -> JeanAppelle, etc. Si on voit l’indépendance entre deux variables (Cambriolage et MarieAppelle) on pourrait dire qu’observer Alarme bloque le chemin entre les deux variabes. IFT615 Froduald Kabanza

20 Indépendance conditionnelle dans un RB
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 P(M|A,C) = P(M,A,C) / P(A,C) = Σs P(M,A,C,S=s) Σs P(A,C,S=s) = Σs P(M|A) P(A|C,S=s) P(S=s) P(C) Σs P(A|C,S=s) P(S=s) P(C) = P(M|A) Σs P(A|C,S=s) P(S=s) P(C) = P(M|A) Note: Par définition, P(A,M,C) = Σj Σs P(M,A,C,J=j,S=s) Cependant, comme nous l’avons vu, nous pouvons ignorer les variables dont les descendants ne sont pas observés. C’est le cas de J. Nous n’avons pas besoin de marginaliser sur J. On a donc P(A,M,C) = Σs P(M,A,C,S=s) IFT615 Froduald Kabanza

21 Indépendance conditionnelle dans un RB
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 P(M|A,C) = P(M,A,C) / P(A,C) = Σs P(M,A,C,S=s) Σs P(A,C,S=s) = Σs P(M|A) P(A|C,S=s) P(S=s) P(C) Σs P(A|C,S=s) P(S=s) P(C) = P(M|A) Σs P(A|C,S=s) P(S=s) P(C) = P(M|A) En fait, la simplification est possible parce que grâce à l’observation de A, j’ai réussi à séparer la contribution de la probabilité de MarieAppelle et Alarme en une partie qui dépend seulement de M (P(M|A)) et une partie qui ne dépend pas de M. IFT615 Froduald Kabanza

22 Indépendance conditionnelle dans un RB
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 Relation entre deux enfants étant donné un parent: sont indépendants si tous leurs parents sont observés Exemples : JeanAppelle et MarieAppelle sont dépendants à priori mais ils sont indépendants étant donné Alarme : P(M|A,J) = P(M|A) si A est connu, J n’intervient pas dans le calcul connaître A « bloque » le chemin entre J et M Encore une fois, si on voit l’indépendance entre deux variables (JeanAppelle et MarieAppelle) on pourrait dire qu’observer Alarme bloque le chemin entre les deux variabes. IFT615 Froduald Kabanza

23 Indépendance conditionnelle dans un RB
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 P(M|A,J) = P(M,A,J) / P(A,J) = Σs Σc P(M,A,J,S=s,C=c) Σs ΣcP(A,J,S=s,C=c) = Σs Σc P(J|A) P(M|A) P(A,S=s,C=c) Σs Σc P(J|A) P(A,S=s,C=c) = P(M|A) Σs Σc P(J|A) P(A,S=s,C=c) = P(M|A) IFT615 Froduald Kabanza

24 Indépendance conditionnelle dans un RB
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 P(M|A,J) = P(M,A,J) / P(A,J) = Σs Σc P(M,A,J,S=s,C=c) Σs ΣcP(A,J,S=s,C=c) = Σs Σc P(J|A) P(M|A) P(A,S=s,C=c) Σs Σc P(J|A) P(A,S=s,C=c) = P(M|A) Σs Σc P(J|A) P(A,S=s,C=c) = P(M|A) Encore une fois, l’observation de Alarme m’a permis deséparer la probabilité conjointe sur MarieAppelle et JeanAppelle en une partie qui ne dépend que JeanAppelle étant donné Alarme et MarieAppelle étant donné Alarme. C’est ça qui permet la simplification permettan d’ignorer la variable JeanAppelle. IFT615 Froduald Kabanza

25 Indépendance conditionnelle dans un RB
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 Relation entre deux parents étant donné un enfant sont indépendants si enfant non observé Exemples : Cambriolage et Séisme sont indépendants à priori mais ils sont dépendants étant donné Alarme P(C|A,S) n’est pas simplifiable, parce que P(A|C,S) n’est pas simplifiable ne pas connaître A « bloque » le chemine entre C et S IFT615 Froduald Kabanza

26 Indépendance conditionnelle dans un RB
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 P(C|A,S) = P(C,A,S) / P(A,S) = P(A|S,C) P(S) P(C) Σc P(A|S) P(S) P(C) Pour calculuer P(C,A,S) on peut ignorer J et M parce que J et M n’ont pas de descendants parmi les variables observées. IFT615 Froduald Kabanza

27 Indépendance conditionnelle dans un RB
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 De ces trois dernières règle, émane une règle plus générale: un nœud est indépendant de ses non-descendants, étant donné ses parents exemples : Cambriolage et Séisme sont indépendants a priori mais ils sont dépendants étant donné Alarme P(C|A,S) n’est pas simplifiable, parce que P(A|C,S) n’est pas simplifiable ne pas connaître A « bloque » le chemine entre C et S IFT615 Froduald Kabanza

28 Indépendance conditionnelle dans un RB : D-séparation
D-séparation : critère général pour décider si un nœud X est indépendant d’un nœud Y, étant donnés d’autres nœuds Z = {Z1, ..., Zm} X est indépendant de Y sachant Z si tous les chemins non-dirigés entre X et Y sont bloqués par Z Un chemin est bloqué s’il contient au moins un noeud N qui satisfait une ou l’autre des conditions suivantes : il inclue un noeud ou , où N ∈ {Z1, ..., Zm} il inclue un noeud et N ∉ {Z1, ..., Zm}, et aucun des descendants de N appartient {Z1, ..., Zm}. N N D-separated (ici “D” veut dire “directionnel”; on tient compte de l’orientation des flèches). À valider: D-séparation est une condition nécessaire pour l’indépendence, mais pas suffisante. C.à.d., si X et Y sont d-séparé par Z alors X est indépendant de Y sachant Z . Par contre, si X et Y ne sont d-séparé par Z on ne peut pas forcément conclure que X est dépendant de Y sachant Z . N IFT615 Froduald Kabanza

29 Indépendance conditionnelle dans un RB : Couverture de Markov
Soit la couverture de Markov (Markov blanket) MB(X) d’un nœud X, c’est à dire : les parents de X les enfants de X et les parents des enfants de X Le nœud X est conditionnellement indépendant des autres nœuds (hors de la couverture de Markov), étant donné les nœuds de la couverture de Markov : P(X|MB(X),Others) = P(X|MB(X)) La couverture de Markov est décrite dans le manuel du cours mais elle est moins générale que la D-séparation. Couverture de Markov de X En d’autre mots, la couverture de Markov est l’ensemble de variables qui font un “bouclier d’independence” pour une variable. Pour prédire le comportement d’une variable (calculer la probabilité), il suffit de conaître sa couverture de Markov. Conaître les autres variables en dehors de la couverture de Markov n’influence pas la probabilité. En fait, la couverture de Markov d’une variable est le plus petit sous-ensemble de variables qui D-sépare la variable d’autres variables. C’est l’ensemble de D-separation minimal. IFT615 Froduald Kabanza

30 Exemple Est-ce que Age et Gender sont indépendants ? Age Gender
Exposure- to-Toxics Smoking Cancer Oui. Dans cette question, il ne s’agit pas d’indépendence conditionnel. Il s’agit d’indépendence à priori. Z est l’ensemble vide. Serum- Calcium Lung- Tumor IFT615 Froduald Kabanza

31 Exemple Est-ce que Age et Gender sont indépendants ?
chemin 1 est bloqué au niveau de Smoking Smoking et ses descendants Cancer, Serum-Calcium et Lung-Tumor ne sont pas observés Age Gender Exposure- to-Toxics N Smoking Cancer Smoking et ses descendants Cancer, Serum-Calcium et Lung-Tumor ne sont pas observés. Autrement dit, Z est vide ici. Serum- Calcium Lung- Tumor IFT615 Froduald Kabanza

32 Exemple Est-ce que Age et Gender sont indépendants ? Réponse : oui
chemin 1 est bloqué au niveau de Smoking Smoking et ses descendants Cancer, Serum-Calcium et Lung-Tumor ne sont pas observés chemin 2 est aussi Cancer même raisons Réponse : oui Age Gender Exposure- to-Toxics N Smoking Cancer N Serum- Calcium Lung- Tumor IFT615 Froduald Kabanza

33 Exemple Est-ce que Age et Lung-Tumor sont indépendants sachant Smoking ? Age Gender Exposure- to-Toxics Smoking Cancer Non. Chemin qui passe par Exposure-to-Toxics n’est pas bloqué Serum- Calcium Lung- Tumor IFT615 Froduald Kabanza

34 Exemple Est-ce que Age et Lung-Tumor sont indépendants sachant Smoking ? chemin 1 est bloqué au niveau de Smoking Smoking est observé Age Gender Exposure- to-Toxics Smoking N Cancer Serum- Calcium Lung- Tumor IFT615 Froduald Kabanza

35 Exemple Est-ce que Age et Lung-Tumor sont indépendants sachant Smoking ? chemin 1 est bloqué au niveau de Smoking Smoking est observé chemin 2 n’est pas bloqué Exposure-to-Toxics n’est pas observé Cancer n’est pas observé Réponse : non Age Gender Exposure- to-Toxics Smoking N Cancer non chemin qui passe par Exposure-to-Toxics n’est pas bloqué Pas observé c.à.d. pas dans Z. N N Serum- Calcium Lung- Tumor IFT615 Froduald Kabanza

36 Exemple Est-ce que Exposure-to-Toxics et Smoking sont indépendants sachant Age et Lung-Tumor? Age Gender Exposure- to-Toxics Smoking Cancer Non. Lung-Tumor crée une dépendance Serum- Calcium Lung- Tumor IFT615 Froduald Kabanza

37 Exemple Est-ce que Exposure-to-Toxics et Smoking sont indépendants sachant Age et Lung-Tumor? chemin 1 est bloqué au niveau de Age Age est observé Age Gender Exposure- to-Toxics Smoking N Cancer Serum- Calcium Lung- Tumor IFT615 Froduald Kabanza

38 Exemple Est-ce que Exposure-to-Toxics et Smoking sont indépendants sachant Age et Lung-Tumor? chemin 1 est bloqué au niveau de Age Age est observé chemin 2 n’est pas bloqué Cancer ne bloque pas le chemin puisque Lung-Tumor, un de ses descendants, est observé Réponse : non Age Gender Exposure- to-Toxics Smoking N Cancer non Lung-Tumor est observé. Il crée une dépendance. N Serum- Calcium Lung- Tumor IFT615 Froduald Kabanza

39 Requête dans un RB L’usage principal d’un RB est de calculer les probabilités à posteriori, étant donné un événement observé un événement est une assignation de valeurs à certaines variables d’observation ex. : sachant le résultat d’une batterie de test, quelle est maintenant la probabilité qu’un patient ait une maladie X ? On va noter X l’ensemble de variables pour lesquelles on fait une requête ex. : la patient a la maladie X E l’ensemble des variables d’observation et e les valeurs observées ex. : Ei = ei est le résultat d’un test Y l’ensemble des variables cachées (qui ne sont pas observées) ex. : Yi est le résultat de tests qui n’ont pas été faits Une requête est l’inférence de P(X|e), où e est une assignation de valeurs aux variables dans E IFT615 Froduald Kabanza

40 Requête dans un RB Exemple : Comment fait-on un tel calcul?
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 Exemple : P(Cambriolage | JeanAppelle = vrai, MarieAppelle = vrai ) = [ 0.284, ] Comment fait-on un tel calcul? inférence exacte (prohibitif) par énumération inférence approximative par échantillonnage avec les méthodes Monte-Carlo (plus efficace) méthode de rejet IFT615 Froduald Kabanza

41 Inférence par énumération
On veut calculer la distribution sur les variables de requêtes sachant les observations P(X|e) = α P(X,E=e)= α Σy P(X, e, y)   Les termes P(X, e, y) peuvent s’écrire comme le produit des probabilités conditionnelles du réseau On peut donc calculer la réponse à une requête P(X|e) dans un RB, simplement en calculant les sommes des produits des probabilités conditionnelles du RB normalisant ces sommes de façon à obtenir une distribution qui somme à 1 Les ensembles des variables X, E et Y couvrent ensemble tous les noeuds complexité en temps : O(d |X|+|Y|), avec d la taille du plus grand domaine complexité en espace : O(d|X|), pour stocker la distribution IFT615 Froduald Kabanza

42 Exemple 1 P(Cambriolage | JeanAppelle = vrai, MarieAppelle = vrai)
Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 P(Cambriolage | JeanAppelle = vrai, MarieAppelle = vrai) noté P(C | j, m) Les variables cachées sont Séisme et Alarme P(C | j, m) = α P(C, j, m) = α Σs Σa P(C, s, a, j, m) =  P(C) Σs Σa P(s) P(a|C,s) P(j|a) P(m|a) =  P(C) Σs P(s) Σa P(a|C,s) P(j|a) P(m|a) Note : s et a prennent toutes les valeurs possibles pour S=s et A=a ne pas confondre avec j et m qui sont des observations fixes (J=vrai et M=vrai) Voir la note 5 en bas de la page 505 dans le livre. IFT615 Froduald Kabanza

43 Exemple 1 (suite) Structure de l’expression representée par l’équation
P(c | j, m)= α * P(c) ΣsP(s) Σa P(a|c,s) P(j|a) P(m|a) P(b | j, m)= α * P(b) ΣsP(e) Σa P(a|b,e) P(j|a) P(m|a) - En anglais   Note: ici, b-> c : burglary -> cambriolage e-> s : earthquake -> seisme Aussi, l’expression est pour une valeur fixe (vraie ou faux) de la variable C (Cambriolage), donc je l’ai mis en miniscule. Il faudrait calculer pour C=vrai et C=faux pour avoir la distribution poir P(C|j,m). IFT615 Froduald Kabanza

44 Exemple 1 (suite) Cambriolage Séisme Alarme JeanAppelle MarieAppelle
C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 On calcule pour C = vrai P(c | j, m) =  α P(c) Σs P(s) Σa P(a|c,s) P(j|a) P(m|a) = α * 0.001*(0.002*(0.95*0.90*0.70+ 0.05*0.05*0.01)+ 0.998*(0.94*0.90*0.70+ 0.06*0.05*0.01)) = α * Et C = faux P(┐c | j, m) = α P(┐c) Σs P(s) Σa P(a| ┐c,s) P(j|a) P(m|a)   = α *   α = 1 / ( ) Donc, P(C | j, m) = [0.284, 0.716] IFT615 Froduald Kabanza

45 Exemple 2 : Évaluation par énumération
Requête : Calculer P(T=vrai|F=faux, M=vrai) Variables connues : F = faux M = vrai Variables inconnues : H O F M P(H|F,M) 0.5 V 1.0 0.01 0.02 F M P(O) 0.6 H O Énumération des valeurs possibles des variables cachées (2*2) T H O P(H|F,M) * P(O)*P(T|H,O) = F 0.0 * 0.4 * 0.1 V 0.0 * 0.6 * 0.5 1.0 * 0.4 * 0.5 0.20 1.0 * 0.6 * 1.0 0.60 TOTAL 0.80 P(T|F,M)= Sum_y P(T,y|F,M)= Sum_h,o P(T,h,o|F,M)= Sum_j,o P(H|F,m)*P(o)*P(T|H,M) On énumère les valeurs possibles des variables cachées, en ayant fixée la valeur des variables d’interrogation (T=vrai) et des variables observées (F=faux, M=vrai) (en rouge). Note, on a P(H|F=faux,M=vrai)=1. Donc, on ne peut pas avoir H=faux. C’est pour cela que les deux premières lignes ont P(H|F,M) mis à 0. H O P(T|H,O) F 0.1 V 0.5 1.0 IFT615 Froduald Kabanza

46 Exemple 3 : Évaluation par énumération
Requête : Calculer P(T=vrai|M=vrai) Variables connues : M = vrai Variables inconnues : H O F F M P(H|F,M) 0.5 V 1.0 0.01 0.02 F M P(F) 0.2 P(O) 0.6 H F H O P(F)*P(H|F,M)*P(O)* P(T | H, O) = 0.8 * 0.0 * 0.4 * 0.1 V 0.8 * 0.0 * 0.6 * 0.5 0.8 * 1.0 * 0.4 * 0.5 0.16 0.8 * 1.0 * 0.6 * 1.0 0.48 0.2 * 0.98 * 0.4 * 0.1 0.2 * 0.98 * 0.6 * 0.5 0.0588 0.2 * 0.02 * 0.4 * 0.5 0.0008 0.2 * 0.02 * 0.6 * 1.0 0.0024 TOTAL 0.71 O T H O P(T|H,O) F 0.1 V 0.5 1.0 IFT615 Froduald Kabanza

47 Exercice Soit le RB ayant les tables de probabilités conditionnelles suivantes Dessinez le graphe du RB. Calculez P(A=faux | E=vrai). Dites si B et E sont indépendants sachant F. Pourquoi? Dites si E et F sont indépendants sachant A et C. Pourquoi? IFT615 Froduald Kabanza

48 Inférence par élimination des variables
Même principe que l’inférence par énumération, mais on évite les répétions de calculs déjà faits (comme en programmation dynamique) Voir section du livre: P(b | j, m)= α * P(b) ΣsP(e) Σa P(a|b,e) P(j|a) P(m|a) b-> c e ->s IFT615 Froduald Kabanza

49 Inférence approximative
Les méthodes d’inférence exactes sont inefficaces le problème d’inférence dans un RB est NP-Complet Les méthodes d’inférence approximatives sont plus pratiques en général, on n’a pas besoin d’un calcul exact des probabilités pour qu’une conclusion tirée d’un RB soit correcte les méthodes approximatives assignent des valeurs aux variables aléatoires en fonction des TPC associées à ces variables ces assignations sont basées sur des simulations stochastiques, plutôt que des observations réelles IFT615 Froduald Kabanza

50 Méthode de rejet (rejection sampling)
Pour estimer P(X=x|e) Générer des échantillons complets à partir de la distribution spécifiée par le RB Rejeter tous les échantillons qui ne correspondent pas à l’observation e. Estimer P(X=x|e) en comptant combien de fois X=x se produit dans les échantillons restant. Autremet dit: P(X=x|e) = α Σy P(X=x, e, y)  ≈ freq(x,e) / Σx’ freq(x’,e) = freq(x,e) /  freq(e) Cette technique est appelée méthode de rejet (rejection sampling) le problème avec cette méthode est que si E=e est très rare selon le RB, il y aura peu d’échantillons qui correspondront à cette observation d’autres méthodes sont plus efficaces et nécessitent moins d’échantillons pour obtenir une bonne estimation voir la section 14.5 dans le livre P(X=x|e) = α Σy P(X=x, e, y)  ≈ freq(x,e) / Σx’ freq(x’,e) = freq(x,e) /  freq(e) où freq(x,e) est le nombre de fois que X=x et E=e a été échantillonné et freq(e) = Σx’ freq(x’,e) est le nombre de fois que E=e IFT615 Froduald Kabanza

51 Exemple Requête : Calculer P(T=vrai|M=vrai) Variables connues : M = vrai Variables inconnues : H O F F M P(H|F,M) 0.5 V 1.0 0.01 0.02 F M P(F) 0.2 P(O) 0.6 H F H O T # rand()<0.2 rand()<P(H|F,M) rand()<0.6 rand()<P(T|H,O) 1 faux vrai 2 3 4 5 6 7 8 Average of T=vrai 6/8 = 0.75 O T Ici, je montre seulement les échantillons où M=vrai (variable observée). Les autres échantillons sont rejetées. Par conséquent, la variable M n’apparait pas dans ma table. Chaque échantillon est généré en simulant le réseau bayésien en suivant sa topologie, en commençant par les variables sans parents. Par exemple, pour échantilloner F, imaginer que j’ai un générateur de nonmbre aléatoire sur l’intervalle [0,1], s’il me retourne une valeur inférieur ou égale à 0.2, j’assigne F à vrai, sinon à faux. H O P(T|H,O) F 0.1 V 0.5 1.0 Plus qu’il y a d’échantillons, plus l’erreur d’estimation est faible. (Vrai réponse : 0.71) IFT615 Froduald Kabanza

52 Exemple 2 : Décomposition en polytree
Requête : Calculer P(T=vrai|M=True) Variables connues : M = True Variables inconnues : H O F F M P(H|F,M) 0.5 T 1.0 0.01 0.02 F M P(F) 0.2 P(O) 0.6 H 1 O 1 F P(F)*P(H | F,M) = 0.8*1.0 0.8 T 0.2*0.02 0.004 Total 0.804 T 2 2 H O P(H)*P(O)*P(T|H,O) = F 0.196*0.4 * 0.1 T 0.196*0.6 * 0.5 0.0588 0.804*0.4 * 0.5 0.1068 0.804*0.6 * 1.0 0.4824 TOTAL 0.71 H O P(T|H,O) F 0.1 T 0.5 1.0 IFT615 Froduald Kabanza

53 Types d’interrogations d’un RB
Cambriolage Séisme Alarme JeanAppelle MarieAppelle C S P(A|C,S) V V V F F V F F A P(J|A) V F A P(M|A) V F P(C) .001 P(S) .002 Diagnostique (on connaît les effets, on cherche les causes) P(Cambriolage|JeanAppelle=vrai) garder à l’esprit qu’on a des arcs « causes / effets ». Prédiction (étant données les causes, quels sont les effets) P(JeanAppelle|Cambriolage=vrai) Probabilité conjointe ou marginale P(Alarme) IFT615 Froduald Kabanza

54 Construction d’un RB Comment bâtir un RB afin de modéliser un environnement/problème donné? On a besoin de spécifier 2 choses: La structure (graphe) du réseau (quelles indépendances peut-on supporter) Les table de probabilités (quelles relations entre les variables de l’environnement?) IFT615 Froduald Kabanza

55 Spécifier les tables de probabilités d’un RB
Si on a un ensemble de données où tous les nœuds Xi sont observés, c’est facile : P(Xi = x| Parents(Xi) = p ) ≈ freq(x,p) / Σx’ freq(x’,p) On fait ce calcul pour toutes les valeurs x de Xi et toutes les valeurs p de ses parents possibles pour éviter d’avoir de probabilités à 0, on peut initialiser freq(x,p) = δ à une petite constante δ (ex. : δ=1) Carie MalDeDents Croche IFT615 Froduald Kabanza

56 Exemple Supposons que l’on souhaite diagnostiquer une carie à l’aide du RB suivant: MalDeDents: le patient a mal aux dents Croche: la sonde s’accroche dans les dents Carie: le patient a une carie Supposons qu’on collecte un ensemble de données sur 120 patients où 70 des 120 patients avaient une carie P(Carie=vrai)=(70+1)/( )=0.52 Carie MalDeDents Croche Ici delta=1 IFT615 Froduald Kabanza

57 Exemple Supposons maintenant que dans mes données de 120 patients,
Parmi les 70 qui avaient une carie 65 avaient mal aux dents 51 ont la sonde qui s’accrochait P(MalDeDents=vrai|Carrie=Vrai)=(65+1)/( )=0.92 P(Croche=vrai|Carie=vrai)=(51+1)/( )=0.72 Carie MalDeDents Croche Ici delta=1 IFT615 Froduald Kabanza

58 Exemple Supposons que dans mes données de 120 patients,
Parmi les 50 qui n’avaient pas de carie 10 avaient mal aux dents La sonde ne s’accrochait pour aucun d’eux P(MalDeDents=vrai|Carrie=faux)=(10+1)/( )=0.20 P(Croche=vrai|Carie=faux)=(0+1)/( )=0.02 Carie MalDeDents Croche Ici delta=1 IFT615 Froduald Kabanza

59 Spécifier les tables de probabilités d’un RB
Si on a un ensemble de données où certaines des variables ne sont pas observées, on doit utiliser des méthodes plus sophistiquées. Algorithme EM (voir section ) Jusque là dans mon exemple j’ai supposé que l’on observait toutes les variables du RB. Pour des cas complexes, en général, on ne peut pas observer toutes les variables. Pour l’exemple, supposer que parfois le dentiste n’a plus sa sonde… IFT615 Froduald Kabanza

60 Construction de la structure du RB
Choisir un ordre des variables X1, … ,Xn Pour i = 1 to n : ajouter Xi au réseau choisir les parents X1, … ,Xi-1 tels que P(Xi | Parents(Xi)) = P(Xi | X1, ... Xi-1) ce choix garantit que : P(X1, … ,Xn) = i =1 P(Xi | X1, … , Xi-1) (chain rule) = i =1 P(Xi | Parents(Xi)) (par construction) Pour construire un bon RB, sa structure doit refléter les indépendances conditionnelles du problème Dans quel ordre ajouter les nœuds au réseau? mettre les « causes racines » d’abord, ensuite les nœuds qu’ils influencent directement n n Causes racines c.à-d. causes premières IFT615 Froduald Kabanza

61 Exemple Supposons qu’on ordonne les variables comme suit : M, J, A, C, S P(J|M) = P(J)? MarieAppelle JeanAppelle Pour illustrer, supposons que plutôt que de mettre Cambriolage et Seisme comme cause racine, je choisi de mettre MarieAppelle et JeanAppelle. Non: si marie appelle, jean va probablement appeler IFT615 Froduald Kabanza

62 Exemple Supposons qu’on ordonne les variables comme suit : M, J, A, C, S P(J|M) = P(J)? Non P(A|J,M) = P(A|J)? P(A|J,M) = P(A)? MarieAppelle JeanAppelle Alarme Non: si les deux ont appelé, y a plus de chance que l’alarme ait bel et bien été déclenchée que si seulement un a appelé IFT615 Froduald Kabanza

63 Exemple Supposons qu’on ordonne les variables comme suit : M, J, A, C, S P(J|M) = P(J)? Non P(A|J,M) = P(A|J)? P(A|J,M) = P(A)? Non P(C|A,J,M) = P(C|A)? P(C|A,J,M) = P(C)? MarieAppelle JeanAppelle Alarme Cambriolage Oui. IFT615 Froduald Kabanza

64 Exemple Supposons qu’on ordonne les variables comme suit : M, J, A, C, S P(J|M) = P(J)? Non P(A|J,M) = P(A|J)? P(A|J,M) = P(A)? Non P(C|A,J,M) = P(C|A)? Oui P(C|A,J,M) = P(C)? P(S|C,A,J,M) = P(S|A)? P(S|C,A,J,M) = P(S|A,C)? MarieAppelle JeanAppelle Alarme Cambriolage Séisme Non: marie et jean n’observe pas s’il y a un cambriolage, mais seulement si y a une alarme par contre, l’alarme est normalement déclenchée pour un cambriolage IFT615 Froduald Kabanza

65 Exemple Supposons qu’on ordonne les variables comme suit : M, J, A, C, S P(J|M) = P(J)? Non P(A|J,M) = P(A|J)? P(A|J,M) = P(A)? Non P(C|A,J,M) = P(C|A)? Oui P(C|A,J,M) = P(C)? Non P(S|C,A,J,M) = P(S|A)? P(S|C,A,J,M) = P(S|A,C)? MarieAppelle JeanAppelle Alarme Cambriolage Séisme Non: si l’alarme sonne mais que y a pas eu de cambriolage, alors y a probablement eu un séisme IFT615 Froduald Kabanza

66 Exemple Supposons qu’on ordonne les variables comme suit : M, J, A, C, S P(J|M) = P(J)? Non P(A|J,M) = P(A|J)? P(A|J,M) = P(A)? Non P(C|A,J,M) = P(C|A)? Oui P(C|A,J,M) = P(C)? Non P(S|C,A,J,M) = P(S|A)? Non P(S|C,A,J,M) = P(S|A,C)? Oui MarieAppelle JeanAppelle Alarme Cambriolage Séisme IFT615 Froduald Kabanza

67 Exemple Déterminer l’indépendance conditionnelle est très difficile dans le sens non causal par exemple, en médecine, des études ont démontré que les experts préfèrent donner des probabilités dans le sens causal (pathologie → symptôme) plutôt que dans le sens diagnostique Un réseau avec des dépendance diagnostiques (effet → cause) est généralement moins compacte dans le cas présent : = 13 nombres pour représenter les tables de probabilité conditionnelle du réseau au lieu de 10 pour la première version Généralement il est plus pratique de représenter les dépendances dans le sens causal plutôt que dans le sens diagnostique : causes  effets hypothèses  évidences pathologies  symptômes Ceci réduit le nombre de dépendance dans le RB. Aussi c’est plus facile de donner les probabilités d’avoir une évidence étant donné la cause, plus tôt que l’inverse. IFT615 Froduald Kabanza

68 Génération automatique de la structure du RB
Quoi faire si on n’a pas accès à un expert pour nous donner un bon graphe de RB ? On peut aussi tenter d’obtenir la structure du RB à partir de données, à l’aide de la recherche locale (par exemple Hill Climbing) : on débute avec un graphe acyclique aléatoire comme graphe courant on obtient ses tables de probabilités à partir des fréquences d’observation du graphe courant on utilise la recherche locale pour générer des graphes successeurs du graphe courant on obtient les tables de probabilités du graphe successeur on remplace le graphe courant par le successeur s’il est « meilleur » on retourne à 2. jusqu’à un certain critère d’arrêt IFT615 Froduald Kabanza

69 Génération automatique de la structure du RB
On génère des successeurs à partir des modifications au graphe suivantes l’ajout d’un arc la suppression d’un arc l’inversion d’un arc . . . ajout inversion suppression IFT615 Froduald Kabanza

70 Génération automatique de la structure du RB
La fonction objectif à maximiser par la recherche locale est : Σt log P(X1 = x1t,...,Xn=xnt) - M (log T) / 2 {x1t,..., xnt} est la tième donnée de mon ensemble de T données M est le nombre de paramètres requis par les tables de probabilités conditionnelles du réseau bayésien On cherche donc un graphe qui explique bien les données (leur donne une haute probabilité) qui est compacte (qui a peu de paramètres) Pour en savoir plus : voir section log probabilité des données complexité du graphe IFT615 Froduald Kabanza

71 Diagrammes d’influence
Un diagramme d’influence (DI) est une extension d’un RB avec en plus des nœuds de décision et des nœuds d’utilité les nœuds habituels d’un RB sont appelés des nœuds chance on ajoute : des nœuds de décision représentant une prise de décision des nœuds d’utilité représentant l’utilité (coût ou degré de désirabilité) des nœuds chance influencés par les actions Ainsi on peut modéliser des prises de décision simples pour des décisions complexes (séquentielles), les processus de décision markoviens sont généralement préférables Les diagrammes d’influence sont aussi appelés réseaux de décision (decision networks) IFT615 Froduald Kabanza

72 Exemple Parapluie Temps TrainerParapluie Bonheur Prévision
Prendre / Ne pas prendre Parapluie pluvieux pluvieux Temps TrainerParapluie P(trainer | prendre) = 1 P(trainer, prendre) = 1 Bonheur Prévision Temps Prévision P(P|T) pluvieux ensoleillé .3 pluvieux pluvieux .7  pluvieux ensoleillé .8  pluvieux pluvieux .2 U(trainer, pluvieux) = 25 U(trainer, pluvieux) = -20 U(trainer, pluvieux) = -100 U(trainer, pluvieux) = 100 IFT615 Froduald Kabanza

73 Évaluation des diagrammes d’influence
Mettre à jour les variables d’observation Pour chaque valeur possible d’un nœud décision change le nœud décision pour lui donner cette valeur calcule les probabilités a posteriori des parents des nœuds utilités calcule l’utilité espérée résultante pour l’action Retourne l’action avec la plus grande utilité Pour en savoir plus : section 16.5 IFT615 Froduald Kabanza

74 Valeur de l’information
Parfois un agent est amené à prendre des décisions sans posséder toute l’information Un aspect important de la prise de décision est de déterminer les questions à poser pour chercher de l’information (pour obtenir des observations E=e) La valeur d’une information pour une action dépend de deux choses : est-ce que l’obtention d’une observation particulière E=e augmenterait grandement notre utilité espérée est-ce que cette observation est vraisemblable Les inférences sur les DI permettent de déterminer les questions qui apportent le plus d’information, pour chaque action Pour en savoir plus : section 16.6 Permet de savoir à quel point une question va permettre d’augmenter l’utilité d’une action, pour toute action IFT615 Froduald Kabanza

75 Logiciels SMILE / GeNIe : https://www.bayesfusion.com/download IFT615
SMILE : librairie C++ GeNIe : interface graphique IFT615 Froduald Kabanza

76 Résumé Un RB est un graphe orienté, acyclique, représentant des connaissances causales, et reflétant les dépendances conditionnelles entre des variables La topologie du réseau (arcs entres les variables) et les TPC donnent une représentation compacte de la distribution conjointe des probabilités Les connaissances du réseau (liens de causalité et probabilités) sont généralement obtenus avec l’aide d’un expert pour des applications concrètes, ceci peut être très laborieux IFT615 Froduald Kabanza

77 Objectifs du cours Algorithmes et concepts recherche locale
la recherche locale peut servir à apprendre une bonne structure de réseaux bayésien à partir de données et automatiquement découvrir de possibles relations causes/effets satisfaction de contraintes agents intelligents logique la logique permet de raisonner rationnellement dans un environnement déterministe le raisonnement probabiliste permet de raisonnement rationnellement dans un environnement stochastique raisonnement probabiliste recherche à deux adversaires - les slides devraient être mises en ligne le mercredi de chaque semaine recherche heuristique IFT615 Froduald Kabanza

78 Vous devriez être capable de...
Décrire ce qu’est un réseau bayésien : qu’est-ce que la topologie représente quelle est la distribution conjointe associée à un réseau bayésien Étant donné un réseau bayésien : calculer une probabilité conjointe, marginale, conditionnelle dire si deux variables sont (conditionnellement) indépendantes Décrire l’inférence par énumération exacte Décrire l’inférence approximative avec la méthode de rejet Décrire comment on apprend les paramètres d’un réseau bayésien à partir de données apprend la structure d’un réseau bayésien à partir de données IFT615 Froduald Kabanza


Télécharger ppt "Froduald Kabanza Département d’informatique Université de Sherbrooke"

Présentations similaires


Annonces Google