Répresenter l uncertain: Réseaux Bayesiens M1 Miage 2015 2016 Intelligence Artificielle Stéphane Airiau LAMSADE M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 1
Représenter et Raisonner avec des informations incertaines les agents logiques doivent représenter et raisonner sur tous les mondes possibles l information est souvent incertaine, imprécise, parfois même manquante! représentation raisonnement / inférence apprentissage (pas vu ici) exemples d application : diagnostique (médicale, mécanique) détection (ex : est-ce qu une attaque a lieu sur mon réseau?) M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 2
Discussion imaginons une voiture autonome a un plan pour conduire son utilisateur à l aéroport à l heure. A 90 est un plan dans lequel l utilisateur doit partir 90 min avant l heure du décollage.... s il n y a pas d accident... s il n y a pas de bouchons... si la voiture ne tombe pas en panne... s il n y a pas de météorites qui tombe sur la route... le plan ne peut pas raisonner avec toutes ces conditions (problème de qualification). A 180 donne à l agent une croyance plus forte qu il sera à l heure, mais il augmente la possibilité d une longue attente à l aéroport. Quelle est la décision rationnelle? M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 3
ex : Diagnostique médical douleurmollet déchirure Résumer l incertitude toutes les douleurs ne veulent pas dire déchirure! douleurmollet déchirure contracture crampe... il faudrait alors ajouter une liste (très très) longue de toutes les possibilités. déchirure douleurmollet toutes les déchirures ne provoquent pas le même type de douleur très compliquer à donner tous les détails trop de travail pour lister précisemment toutes les causes et conséquences pas de théorie complète pour le domaine (ex : Alzheimer) même si la théorie est connue, peut être qu il manque des données (il faudrait faire des analyses supplémentaires) utilisation des probabilités pour résumer l incertitude. M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 4
il y a 10% de chance que ce soit la pompe à eau qui soit défectueuse en fait soit vous avez la maladie, soit vous ne l avez pas! les probabilités sont faits par rapport à votre connaissance si entendez ce bruit, il y a 50% de chance que ce soit ça! M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 5
Incertain et Théorie de la décision on a des préférences sur les différents alternatives des différents plans d actions on peut utiliser un nombre pour représenter ces préférences attention au sens qu on veut attacher à ces nombres! Théorie de la décision = théorie de la probabilité + préférences M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 6
Rappels sur les probabilités Ω représente l ensemble des mondes possibles par exemple, si on lance deux dés identiques, on a 36 mondes différents on associe une probabilité P(ω) à chaque monde possible probabilité a priori : en l absence de toute autre information. P(ω) = 1 ω Ω souvent, on a des signes e : P(ω e) : probabilité de ω étant donné e : probabilité conditionnelle P(a b) = P(a b) P(b) M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 7
Rappels sur les probabilités Par convention, les variables aléatoires commencent par des majuscules Chaque variable aléatoire possède un domaine (que l on considère ici fini) Utilisation des opérateurs logiques pour lier des variables logiques P( a) = P(ω) ω a = P(ω) P(ω) + ω a ω a = P(ω) P(ω) ω Ω ω a = 1 P(a) ω a P(ω) P(a b) = P(a) + P(b) P(a b) M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 8
Rappels sur les probabilités variables multiples P(X, Y ) distribution de probabilité jointe. Si le domaine de X a une taille de 3 et celui de Y 3, la table de probabilité aura 3 2 lignes. M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 9
Rappels sur les probabilités Que se passe-t-il si on ne satisfait pas ces axiomes? Bruno de Finetti : si un agent ne satisfait pas les règles de probabilités (et qu on connait comment il raisonne), on pourrait organiser des paris et faire en sorte que l adversaire soit tout le temps perdant! M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 10
Rappels sur les probabilités marginalisation : P(Y ) = z Z P(Y,z) conditionnement : P(Y ) = z Z P(Y z)p(z) Si on connait la table de probabilité complète, on peut répondre à toutes les requêtes du type P(X e) P(X e) = α P(X,e,y) où y y désigne toutes les autres variables. α est une constante de normalisation mais cela demande de connaître la table en entier (de taille O(2 n ) pour desn variables binaires!) M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 11
Rappels sur les probabilités Indépendance P(a b) = P(a) P(b a) = P(b) P(a b) = P(a) P(b) Pour des variables multiples, on a X et Y sont indépendante sachant la variable Z : P(X,Y Z) = P(X Y )P(Y Z) P(X Y,Z) = P(X Z) P(Y X,Z) = P(Y Z) M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 12
Rappels sur les probabilités La règle de Bayes P(a b) = P(a b) P(b) P(a b) = P(b a) P(a), donc : P(b a) = P(a b)p(b) P(a) règle de Bayes P(cause conséquence) = P(conséquence cause)p(cause) P(conséquence) P(conséquence cause) : direction causale P(cause conséquence) : direction diagnostique si toutes les causes sont indépendantes on a P(cause,cons 1,...,cons k ) = P(cause) model Bayesien naïf k P(cons i cause) i=1 M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 13
Réseaux Bayésiens Un graphe correspond à une paire (G,E) ou V sont les sommets et E sont arêtes. Ici, le graphe est orienté et on parlera d arc. S il existe un arc A i A j A i est un parent de A j A j est un enfant de A i But : représenter les relations d indépendance conditionnelles Un réseau Bayésien un un graphe orienté tel que chaque sommet correspond à une variable aléatoire. le graphe n a pas de cycle (DAG) chaque noeud X i contient une table de probabilités conditionnelles (CPT) P(X i parents(x i )) X Y on dit que X a une influence directe sur Y. M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 14
Exemple Je travaille pour (compagnie préférée dans la silicon valley) et mon voisin John me téléphone pour me dire que mon alarme s est déclenchée. Par contre, ma voisine Mary, elle n appelle pas. Parfois, mon alarme se déclenche à cause d un très petit tremblement de terre. Est-ce qu il y a un cambriolage? variables : Burglar (cambriolage), Earthquake, Alarm, JohnCalls, MaryCalls Le réseau reflète ma connaissance des causes un cambrioleur peut déclencher l alarme un tremblement de terre peut déclencher l alarme si l alarme sonne, Mary peut me prévenir si l alarme sonne, John peut me prévenir M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 15
Exemple Burglary P(B).001 Earthquake P(E).002 Alarm B t t f f E t f t f P(A).95.94.29.001 JohnCalls A t f P(J).90.05 MaryCalls A t f P(M).70.01 M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 16
Représentation une table de probabilité conditionnelle pour une variable aléatoire binaire avec k parents a 2 k lignes pour représenter les combinaisons des valeurs des noeuds parents. Si chaque variable a au plus k parents, on a besoin au plus de O(n 2 k ) nombres (mieux que O(2 n ). Ici 10 nombres au lieu de 31. Le réseau représente la table entière de probabilité ex : P(x 1,x 2,...,x n ) = n P(x i parents(x i ) P(j, m, a, b, e) = P(j a)p(m a)p(a b e)p( b)p( e) i=1 = 0.90 0.70 0.001 0.999 0.998 0.000628 M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 17
Construction P(x 1,...,x n ) = P(x n x 1,...,x n 1 )P(x 1,...,x n 1 ) = P(x n x 1,...,x n 1 )P(x n 1 x 1,...,x n 2 )P(x 1,...,x n 2 ) =... = P(x n x 1,...,x n 1 )P(x n 1 x 1,...,x n 2 )...P(x 2 x 1 )P(x 1 ) n = P(x i x i 1,...,x 1 ) i=1 On a P(x i x i 1,...,x 1 ) = P(x i Parents(X i )) seulement lorsque Parents(x i ) {x i 1,...,x 1 }. Pour construire un réseau bayésien, il faut faire attention à la structure du réseau. chaque noeud doit être conditionnellement indépendant de ses prédécesseur étant donné ses parents M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 18
Construction 1 sommets chosir un ordre sur les variables, on les renomme pour avoir X 1,X 2,...,X n tout ordre est possible, mais le réseau obtenu sera plus ou moins compact 2 arcs : Pour i = 1 à n Choisir parmis {X 1,...,X i 1 un ensemble minimal de parents pour X i de sorte que P(x i x i 1,...,x 1 ) = P(x i Parents(X i )) soit satisfaite. insérer les arcs entre X i et ses parents écrire la table de probabilités conditionnelles. Intuitivement, les parents de X i devraient influencer directement X i. La méthode garantie que le graphe ne contient pas de cycle. M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 19
Compacité Supposons qu on a n variables aléatoires qui sont binaires la distribution complète possède donc 2 n nombres Supposons que chaque variable dépend de au plus k variables Dans le réseau bayésien, on a seulement besoin de n 2 k nombres ex : si n = 30 et k = 5, on a besoin de 30 2 5 = 30 32 = 960, alors que 2 30 = 1.073.741.824. Dans certains domaines, on ne gagnera pas beaucoup, dans d autres si. Le choix d avoir plus ou moins de parents a aussi un coût (on pourrait ajouter un arc entre tremblement de terre et le fait que Mary appelle, cela serait peut être plus précis, mais cela ferait grandir la table de probabilité, ce qui pourrait compliquer le raisonnement pour un gain faible en précision) M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 20
Choisir un mauvais ordre ordre : MaryCalls, JohnCalls, Alarm, Burglary, Earthquake MaryCalls : pas de parents JohnCalls : si Mary appelle, c est sûrement car l alarme s est déclenchée, ce qui rend plus probable le fait que John appelle. Donc lien MaryCalls JohnCalls Alarm : MaryCalls Alarm et JohnCalls Alarm paraissent intuitif. Burglary : Alarm Burglary semble intuitif. Si John et Mary n appelle pas, peut-être est-ce à cause d un tremblement de terre, ce qui pourrait baisser la probabilité d un cambriolage. Mais cette dernière remarque exige peut-être trop de précision Earthquake : l alarme peut être vue comme un détecteur de tremblement de terre, donc on doit avoir Alarm Earthquake. S il y a un cambriolage, cela expliquerait l alarme, et donc avoir une faible probabilité de tremblement de terre, donc on doit avoir Burglary Earthquake on obtient un réseau avec deux arcs de plus, mais trouver les probabilités ne semble pas facile! M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 21
modèles causal ou modèle diagnotic En construisant un modèle causal (les parents sont des causes des enfants), on crée moins de dépendance, et il est généralement plus facile d estimer les probabilités. Des expériences en sciences cognitives montrent que l humain est plus doué pour estimer des probabilités sur des règles causales. MaryCalls MaryCalls JohnCalls JohnCalls Alarm Earthquake Burglary Burglary Earthquake Alarm (a) (b) M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 22
Inférences exactes Soit E l ensemble des observations Soit X la variable de la requête Les autres variables sont des variables cachées et on utilise Y comme ensemble des variables cachées. La requête est P(X e) P(X e) = α y Y P(X,e,y) exemple : P(B JohnCalls, MaryCalls) si John et Mary ont appele P(b j,m) = α e = α e P(B,j,m,e,a) a P(b)P(e)P(a b, e)p(j a)p(m a) a M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 23
Inférences exactes La complexité est donc exponentielle car on peut avoir a utiliser presque tous les nombres des tables de probabilités. P(b j,m) = αp(b) e P(e) a P(a b, e)p(j a)p(m a) P(e).002 P(b).001 P( e).998 P(a b,e) P( a b,e) P(a b, e) P( a b, e).95.05.94.06 P(j a).90 P( j a) P( j a).05.90 P( j a).05 P(m a) P(m a).70.01 P(m a) P(m a).70.01 M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Répresenter l uncertain: Réseaux Bayesiens 24