td 9

publicité
Université Paris 7 - M1 Ingénierie Informatique
Année 2016-2017
TD de Introduction à l’Intelligence Artificielle n◦ 9
Réseaux Bayésiens
Soient X1 , ..., Xn des variables aléatoires discrètes, et soit Vi = {vi1 , . . . , vili }, pour 1 ≤ i ≤ n, l’ensemble
des valeurs possibles de la variables Xi . La lois jointe de X1 , ..., Xn est donnée par une table de Πni=1 li
T
lignes, spécifiant pour chaque vecteur v1k1 ∈ V1 , . . . , vnkn ∈ Vn la probabilité de l’événement ni=1 Xi = viki
Tn
(remarque: pour calculer P( i=1 Xi = viki ) il sera utile de vérifier l’indépendance des variables, et dans
les cas de dépendance, d’utiliser les probabilités conditionnelles).
Exercice 1 Calcul d’une lois jointe
En sortant par temps nuageux, je prend mon parapluie une fois sur deux (PP).
Si je le prend, il pleut (PL) une fois sur dix, sinon neuf fois sur dix.
Par ailleurs, si j’ai pris mon parapluie j’ai deux chances sur trois de l’oublier quelques parts (PO).
Donner la lois jointe des variables booléennes PP, PL, PO.
A partir de la lois jointe de X1 , ..., Xn , on peut calculer facilement P(E) pour n’importe quel événement E concernant X1 , ..., Xn : il suffit de calculer la somme des probabilités des lignes de la table de la
lois jointe de X1 , ..., Xn où l’événement en question se produit. La probabilité d’un événement conditionnel E|V est donnée par la somme des probabilités des lignes où E et V se produisent, divisée par la
somme des probabilités des lignes où V se produit.
Exercice 2 Utilisation d’une lois jointe
A partir de la lois jointe de l’exercice 1, calculer:
1)P(PL); 2) P(PL, PO); 3) P(PP|PL) ...
Il est clair que le calcul de la lois jointe est simplifié par des hypothèse d’indépendance entre les Xi :
Définition: Xi est indépendante de X j si P(Xi = vik |X j = vmj ) = P(Xi = vik ), pour tout vik ∈ Vi , vmj ∈ V j .
T
Si, par exemple, les variables X1 , . . . , Xn sont toutes indépendantes entre elles1 , on a P( ni=1 Xi =
viki ) = Πni=1 P(Xi = viki )
Exercice 3 Un exemple de lois jointe avec peu de dépendance
On lance quatre fois une pièce. Si le résultat est Pile à chaque fois, on gagne 15 euros, sinon on perd 1
euro. Donner la lois jointe de L1 , L2 , L3 , L4 , G, où Li est la variable aléatoire associée au i-ème lancer, et
G le gain.
Les réseaux bayésiens permettent de représenter de manière intuitive et compacte les relations
de dépendance existantes entre les variables aléatoires pertinentes à l’étude d’un problème/phénomène
donné2 . La donnée des probabilités conditionnelles réliant chaque variable du réseau à ses parents, permet de calculer la lois jointe de l’ensemble des variables du réseau, et donc aussi toutes les probabilités
conditionnelles intéressantes pour l’étude du problème/phénomène en question3 .
1 Bien évidemment, il s’agit là d’un cas limite:
la modélisation via les réseaux bayésiens concerne des
phénomènes/événements corrélés.
2 On peut penser à de problèmes de décision/diagnostique/planification/...
3 Toutefois, le calcul de la probabilité jointe à partir d’un réseau bayésian est complexe: il a été montré par G. F. Cooper en
1987 que dans le cas général, il s’agit d’un problème NP-difficile.
1
Définition: Un réseau bayésien est un graphe orienté acyclique G = (V, E), où V est l’ensemble des
noeuds du réseaux et E l’ensemble de ses arcs. Chaque noeud représente une variable aléatoire discrète.
À chaque noeud x est associé la distribution de probabilité conditionnelle P(x|pa(x)), oà pa(x) désigne
l’ensemble des prédécesseurs immédiat de x dans G.
Par exemple, voici le réseau bayésien relatif au jeu de l’exercice 3:
L1
L2
L3
L4
G
P(G = 15|L1 = L2 = L3 = L4 = Pile) = 1
P(G = −1|L1 = b1 , L2 = b2 , L3 = b3 , L4 = b4 ) = 1 si ∃i : bi 6= Pile
Exercice 4 Deux réseaux bayésiens
Dessiner le réseau bayésien modélisant la situation décrite dans l’exercice 1, puis celui modélisant la
situation décrite dans l’exercice 9.
Dans un réseau bayésien, pour détecter l’indépendence de deux variables, on considère les chemins non
orientés qui les relient. Il existe trois forme possibles pour un chemin de longueur deux: HT (Head to
Tail), TT (Tail to Tail) et HH (Head to Head):
X
Y
Y
Z
HT
X
X
Z
TT
Z
Y
HH
Exercice 5 Calcul de lois jointes sur des petits réseaux bayésiens
Pour chacun des réseaux ci-dessus, supposons que X,Y, Z soient des variables aléatoires booléennes, que
P(W ) = 0.5 pour chaque variable W n’ayant aucun parent dans le graphe, que la probabilité conditionnelle associée à chaque arc W → V soit P(V |W ) = 0.5, P(V |¬W ) = 0.2 dans les cas HT et TT, et finalement que, dans le cas HH, on ait P(Y |X, Z) = P(Y |¬X, ¬Z) = 0.5 et P(Y |X, ¬Z) = P(Y |¬X, Z) = 0.2.
Donner la lois jointe de X,Y, Z dans les trois cas.
Deux variables sont inter-dépendentes s’il existe un chemin qui les relie et qui ne contient aucun souschemin de la forme HH; deux variable non inter-dépendantes sont séparées.
Exercice 6 Séparation dans un réseau bayésien
On considère le réseaux (sans probabilités conditionnelles, pour le moment):
2
S
M
L
R
T
Pour chaque paire de variables, dire si elles sont inter-dépendentes ou séparées.
Si deux variables X,Y sont séparées, alors P(X = v|Y = w) = P(X = v) et donc P(X = v,Y = w) = P(X =
v)P(Y = w).
Dans certains cas, deux variables dépendantes deviennent séparées si on augmente notre connaissance (par instanciation d’autre variables). Par exemple, dans les réseaux HT et TT ci-dessus, X et
Z deviennent indépendantes si on instancie Y : P(X|Y, Z) = P(X|Y ) et P(Z|Y, X) = P(Z|Y ). Donc
P(X, Z|Y ) = P(X|Y )P(Z|Y ).
Il est possible, par ailleurs, que l’instanciacion d’une variable rende inter-dépendantes deux variables
qui ne l’étaient pas: par exemples dans HH, si on instancie Y , X et Z deviennent dépendantes.
Ceci motive la définition suivante:
d-séparation: Soient V et W deux noeuds d’un réseau bayésien et soit d un ensemble de noeuds du
réseau. On dit que V et W sont d-dépendantes s’il existe un chemin qui les relie et qui est tel que:
• pour tout sous-chemin X → Y → Z, Y 6∈ d.
• pour tout sous-chemin X ← Y → Z, Y 6∈ d.
• pour tout sous-chemin X → Y ← Z il existe un descendant de Y qui appartient à d,
l’ensemble des descendants de Y étant l’ensemble de sommets reliés à Y par un chemin orienté de
longueur ≥ 0 (donc Y est un descendant de Y ).
V et W sont d-séparés si un tel chemin n’existe pas. Deux ensemble de sommets v, w sont d-séparés si
pour tout V ∈ v et pour tout W ∈ w, V et W sont d-séparés.
Remarque: deux variables sont inter-dépendentes si et seulement si elles sont 0-dépendantes.
/
Elles
sont séparées si et seulement si elles sont 0-séparées.
/
Exercice 7 d-séparation dans un réseau bayésien
Dans le réseau de l’exercice 6, pour chaque paire de variables différentes de L, dire si elles sont {L}dépendantes ou {L}-séparées.
Si deux variables X,Y sont {Z}-séparées, alors P(X = v|Y = w, Z = u) = P(X = v|Z = u) et donc P(X =
v,Y = w, Z = u) = P(X = v|Z = u)P(Y = w|Z = u)P(Z = u).
Inférence de probabilités dans un réseau bayésien: L’inférence dans un réseau bayésien est le
calcul des probabilités a posteriori dans le réseau, étant donné des nouvelles informations observées.
Ainsi, étant donné un ensemble d’évidences (de variables instanciées) Y , le problème de l’inférence
dans G = (V, E) est de calculer P(X|Y ) avec X ⊂ V , Y ⊂ V . Si Y est vide (aucune évidence), cela revient
à calculer P(X).
Les informations de dépendance/séparation sont essentielles pour calculer la lois jointe d’un réseau
bayésien: considérons par exemple le réseau:
3
Xn → Xn−1 → . . . → X1
comportant n variables booléennes X1 ,...,Xn disposées dans une chaîne, et supposons de vouloir calculer P(X1 , ..., Xn ) (c.à.d la probabilité que les n variables valent toutes 1).
Si on sélectionne X1 , on a
P(X1 , ..., Xn ) = P(X1 |X2 , ..., Xn )P(X2 , ..., Xn ).
Or, vu que X1 est {X2 }-séparée de toute autre variable du réseau, on a P(X1 |X2 , ..., Xn ) = P(X1 |X2 ).
Il nous reste à calculer
P(X2 , ..., Xn ) = P(X2 |X3 , ..., Xn )P(X3 , ..., Xn ).
Vu que X2 est {X3 }-séparée de toute autre variable du réseau, on a P(X2 |X3 , ..., Xn ) = P(X2 |X3 ).
En itérant ce processus, on obtient
P(X1 , ..., Xn ) = P(X1 |X2 )P(X2 |X3 ) . . . P(Xn−1 |Xn )P(Xn )
Remarquer que toutes les probabilités conditionnelles de la dernière équation sont données explicitement dans le réseau.
Exercice 8 Inférence de probabilités à partir d’un réseau bayésien (I)
Les données suivantes complètent le réseau de l’exercice 6 (toutes les variables sont booléennes4 :
P(S) = 0.3, P(M) = 0.7,
P(L|S, M) = 0.1, P(L|S, ¬M) = 0.2, P(L|¬S, M) = 0.3, P(L|¬S, ¬M) = 0.6,
P(R|M) = 0.2, P(R|¬M) = 0.5,
P(T |L) = 0.3, P(T |¬L) = 0.8.
Remarque: les 10 probabilités données ci-dessus suffisent à calculer la lois jointe des 5 variables du
réseau, là où 25 − 1 = 31 probabilités jointes sont nécessaires pour donner explicitement la lois jointe.
1. Calculer P(S, ¬M, L, ¬R, T )
Exercice 9 Inférence de probabilités à partir d’un réseau bayésien (II)
Chacun a des bonnes chances5 de réussir ses études (RE).
Si on réussit ses études on a huit chances sur dix de trouver un travail intéressant (T I), sinon une chance
sur trois.
On a par ailleurs une chance sur un million de gagner au loto (GL).
Si on trouve un travail intéressant ET on gagne au loto on a neuf chances sur dix d’être heureux (EH),
Si on trouve un travail intéressant OU on gagne au loto on a deux chances sur trois d’être heureux, sinon
on a une chance sur deux d’être heureux.
1. en analysant la dépendance/séparation dans le réseau bayésien de la deuxième partie de l’exercice
4, calculer:
• la lois jointe de RE, GM pour une personne donnée.
• la lois jointe de RE, GM pour une personne donnée, dont on sait qu’elle est heureuse.
• la lois jointe de RE, GM pour une personne donnée, dont on sait qu’elle est heureuse et
qu’elle a un travail intéressant.
2. Donner la lois jointe des variables booléennes RE, T I, EH, GL, par inférence à partir du réseau
bayésien de la deuxième partie de l’exercicie 4.
4 les
variables peuvent être interprétées comme suit:
T: Le cours commence à 10:35.
L: L’enseignant arrive en retard (Late).
R: Le sujet de l’enseignement est la Robotique.
M: Manuela enseigne.
S: il fait beau (Sunny).
5 A vous de choisir P(RE).
4
Téléchargement