Les Réseaux Bayesiens
A quoi sert un réseau bayésien? à représenter la connaissance d un système technique Le "système" dont on représente la connaissance au moyen d'un réseau bayésien peut être aussi biologique bien le contenu du caddie d'un client de économique supermarché, un navire de la Marine, le patient d'une informatique consultation médicale, le moteur d'une automobile, un réseau électrique, l'utilisateur d'un logiciel, etc. pour : prévoir (le comportement du système) diagnostiquer (les causes d'un phénomène observé dans le système) contrôler (le comportement du système) simuler (le comportement du système) analyser des données (relatives au système) aider à la décision (diagramme Application naturelle à la Sûreté de Fonctionnement
Pourquoi le boom des réseaux bayésiens? Plusieurs disciplines scientifiques : Intelligence artificielle Statistique Informatique Ingénierie de la connaissance Multiples types d applications : Prévision Diagnostic Data mining Nombreux domaines d application : Santé Industrie (robotique, défense, etc.) Informatique Marketing Finance
Avantages sur les modèles ou outils «concurrents» Possibilité de représenter des connaissances de diverses natures dans un même modèle expertise données de retour d expérience (apprentissage) règles logiques, équations Observations Lisibilité (modèles graphiques) Convivialité : logiciels «tout-en-un» : saisie du modèle et évaluations Rapidité : calcul quasi-instantanés
Qu est-ce qu un réseau bayésien? Un réseau bayésien est un graphe acyclique dans lequel les nœuds représentent des variables les liens représentent des dépendances entre les variables 2 1 3 6 4 7 5
Exemples de nœuds Panne du composant X Vrai Faux 1.00 99.0 chaque nœud d un réseau bayésien représente une variable aléatoire 1 2 3 4 5 6 Pile Face Variable booléenne Pièce 50.0 50.0 Variable catégorielle «binaire» Dé 16.7 16.7 16.7 16.7 16.7 16.7 3.5 ± 1.7 Variable numérique discrète Jaune Vert Bleu Couleur 43.6 4.2 52.2 Variable catégorielle «multi-états» Puissance électrique (MW) 0 to 100 100 to 200 200 to 300 300 to 400 400 to 500 8.00 25.0 35.0 25.0 7.00 2.5e+002 ± 1.1e+002 Variable numérique continue
Eléments de base Chaque nœud parent contient une loi de probabilité 2 1 3 6 4 nœuds parents : 1 et 2 sur cet exemple 7 5
Eléments de base Chaque nœud enfant contient une description de la variable associée soit sous la forme d une équation déterministe de ses nœuds parents soit sous la forme d une table de probabilités conditionnelles (CPT) 2 1 3 4 7 6 nœuds enfants : 3,4,5,6 et 7 sur cet exemple 5
Exemple : lien Pluie - Nuages Les nœuds «Pluie» et «Nuage» prennent les valeurs Vrai et Faux. Le réseau bayésien intègre des données probabilistes, par exemple : Pluie Nuages Pr(Pluie=Oui)=20% ; Pr(Pluie=Non)=80% Pr(Nuages=Oui/Pluie=Oui)=100% ; Pr(Nuages=Non/Pluie=Oui)=0% Pr(Nuages=Oui/Pluie=Non)=50% ; Pr(Nuages=Non/Pluie=Non)=50%
Tables de probabilités Pluie Nuages Dans cet exemple, le nœud parent «Pluie» contient la table : Pluie Oui Non 20% 80% Le nœud enfant «Nuages» contient la table : Nuages Pluie Oui Non Oui 100% 0% Non 50% 50%
Comment s utilise un réseau bayésien? Pluie Nuages Vrai 20.0 Vrai 60.0 Faux 80.0 Faux 40.0 On introduit des observations (par exemple : «il y a des nuages») Le réseau bayésien propage les observations introduites et met à jour les lois de probabilité conditionnelles des autres variables. Pluie Nuages observation : «il y a des nuages» Vrai 33.3 Vrai 100 Faux 66.7 Faux 0
Comment fonctionne un réseau bayésien? Utilisation de la formule de Bayes d où l adjectif : «bayésien»... Pr(A/B) = Pr(A et B) Pr(B) = Pr(B/A) Pr(A) Pr(B) Exemple Pr(Pluie/Nuages) = Pr(Nuages/Pluie) Pr(Pluie) Pr(Nuages) = 1*0.2 1*0.2+0.5*0.8 = 1 3 Vrai Faux Pluie 33.3 66.7 Vrai Faux Nuages 100 0
Construction d un RB : exemple 1 Un agriculteur découvre que ses pommiers perdent leurs feuilles. Il veut en connaître la raison. Il peut s agir d un problème de sécheresse ou de maladie. Il sait que sécheresse et maladie sont observées statistiquement une fois tous les 10 ans. Il sait de plus que sécheresse combinée à maladie occasionne la perte de feuille dans 95% des cas, cette proportion étant limitée à 90% dans le cas de maladie sans sécheresse, à 85% dans le cas de sécheresse sans maladie et seulement 2% des cas ne peuvent être expliqués par sécheresse ou maladie.
Construction d un RB : exemple 1
Construction d un RB : exemple 2 Un dispositif de détection d incendie est composé de 3 détecteurs de fumées. En cas d incendie, on admet que chaque détecteur a 90% de chances de fonctionner correctement. Le dispositif déclenche l alarme si au moins 2 détecteurs sur 3 révèlent la présence de fumée. Un opérateur, présent 8h par jour, peut activer l alarme manuellement.
Quelles sont les variables et leurs modalités? Détecteur 1 : Oui/Non Détecteur 2 : Oui/Non Détecteur 3 : Oui/Non Alarme automatique : Oui/Non Opérateur : Présent/Absent Alarme manuelle : Oui/Non Alarme : Oui/Non
Quels sont les liens? Détecteur 1 Détecteur 2 Détecteur 3 Opérateur Alarme Automatique Alarme Manuelle Alarme
Remplissage des tables de probabilités On introduit dans le réseau bayésien les informations probabilistes : Pr(détecteur OK)=0,9 Pr(opérateur présent)=0,33 ainsi que les informations logiques : vote 2/3 pour le déclenchement automatique déclenchement =déclenchement automatique OU déclenchement manuel Remarque : il serait possible d incorporer des données de retour d expérience, sous forme d un fichier du type suivant (apprentissage) : opérateur alarme 12-avr-98 absent non 25-mars-99 présent oui.........
Réseau bayésien Détecteur 1 True 90.0 False 10.0 Détecteur 2 True 90.0 False 10.0 Détecteur 3 True 90.0 False 10.0 Opérateur Present 33.3 Absent 66.7 Alarme automatique Alarme manuelle True False 97.2 2.80 True False 33.3 66.7 «True» signifie ici bon fonctionnement Alarme True False 98.1 1.87
Conclusion La probabilité que l alarme ne soit pas déclenchée est de 1,87%. On peut aussi raisonner «en diagnostic» : Si l alarme ne s est pas déclenchée, chaque détecteur a 32,1% de chances de n avoir pas fonctionné. On en déduit également que l opérateur était absent. Evénement indésirable : non-déclenchement de l'alarme ET arbre de défaillances équivalent pas de déclenchement automatique pas de déclenchement manuel 2/3 opérateur absent défaillance détecteur 1 défaillance détecteur 2 défaillance détecteur 3
Construction d un RB : exemple 3 On considère un système électrique constitué d une zone de demande et de deux groupes de production. G1 L1 Demande L2 G2 Les groupes (130 MW) sont disponibles 90% du temps. La charge dépend de la saison : 150 MW en hiver, 50 MW en été et 100 MW en printemps automne, avec un écart-type de 30 MW. En hiver les lignes sont indisponibles 1% du temps (de manière indépendante) à cause de forts givres. Quel pourcentage du temps la demande peut-elle être satisfaite?
Construction d un RB : exemple 3 Réseau bayésien Saison Groupe 1 Groupe 2 Ligne 1 Ligne 2 Demande Demande satisfaite
Construction d un RB : exemple 3 Modèle (NETICA) Hiver Printemps Ete Automne Saison 25.0 25.0 25.0 25.0 Demande 0 130 G1 10.0 90.0 117 ± 39 0 130 G2 10.0 90.0 117 ± 39 OK Indisponible L1 99.8 0.25 OK Indisponible L2 99.8 0.25 0 to 25 25 to 50 50 to 75 75 to 100 100 to 125 125 to 150 150 to 175 175 to 200 200 to 225 225 to 250 4.41 9.91 15.7 20.0 19.9 15.3 9.48 4.16 1.07 0.15 101 ± 46 Demande satisfaite OK Non 92.5 7.55
Construction d un RB : exemple 3 La demande peut être satisfaite 93% du temps (En été : 99% ; en hiver : 83%, etc.) On aurait pu prendre en compte d autres dépendances : périodes de maintenance des lignes en fonction de la saison dépendances entre lignes : pas de maintenance simultanée sur les deux lignes risque d incidents simultanés sur les deux lignes, dus par exemple à un fort givre, à la foudre, à une tempête, etc. etc. Le même réseau bayésien peut s utiliser en diagnostic.
Apprentissage Il existe des algorithmes permettant d apprendre la structure d un réseau bayésien à partir de données. Les tables de probabilités d un RB peuvent être apprises : estimation bayésienne. Exemple : prévision de l évolution du CAC40 en fonction des évolutions du NASDAQ et du DOW Jones de la veille.
Structure du réseau bayésien Nasdaq DJ CAC
Construction du modèle On introduit un a priori : C=0.8*D+0.2*N On incorpore les données ; le RB effectue une estimation bayésienne des probabilités
Apprentissage : Cas d école Dans une urne contenant des boules noires et blanches, soit θ la proportion de boules noires. On se donne une loi a priori sur θ, loi uniforme sur [0,1]. On fait N tirages, dont k sont des boules noires. Loi a posteriori de θ? Couleur Blanche Noire 50.0 50.0
Apprentissage : Cas d école D après le théorème de BAYES : dp(θ = p / tirages)=p(tirages / θ =p) * dp(θ = p)/p(tirages) Or : dp(θ = p) = 1 car c est une loi uniforme. P(tirages/ θ = p) = C(N,k)*p^k*(1-p)^(N-k) P(tirages) = intégrale de 0 à 1 sur p de C(N,k)*p^k*(1-p)^(N-k) = C(N,k)*k!*(n-k)!/(n-k+1)! On obtient donc comme loi a posteriori une loi beta, de moyenne (k+1)/(n+2) NETICA estime θ par (k+1)/(n+2)
Cas d école (3/3) Exemple : s il y a 7 boules noires parmi les 10, l estimation bayésienne de θ est 2/3. L apprentissage se fait par estimation bayésienne. Couleur Blanche Noire 33.3 66.7
Apprentissage : cas industriel Modèle du système électrique en PACA «ensemble des installations de production et de transport d énergie électrique dans une région donnée» caractéristiques : complexité incertitudes fortes interactions/dépendances
Apprentissage : cas industriel Etudes de systèmes électriques les études de sécurité ou de planification s effectuent essentiellement par simulation de Monte Carlo génération aléatoire de situations/scénarios simulation (calculs électriques) analyse des résultats
Apprentissage : cas industriel Besoin existence d une base de données de 10000 situations du réseau de la région PACA présence de situations extrêmement peu probables besoin d évaluer la probabilité des situations
Apprentissage : cas industriel Démarche mise en oeuvre recueil d informations REX (dispatching Marseille) Expertise analyse des dépendances modélisation du système par un réseau bayésien
Apprentissage : cas industriel Variables du système électrique l état du système électrique est caractérisé par un grand nombre de variables : topologie du réseau (lignes exploitées ou indisponibles) production (puissance produite par chaque groupe) Consommation ces variables sont inter-dépendantes
Apprentissage : cas industriel Dépendances dues au climat la température et la nébulosité influencent la consommation le climat influence les probabilités d incident (ex : foudre, gel) la température influence les transits maximaux de puissance sur les lignes
Apprentissage : cas industriel Dépendances dues à la date et à l heure l heure influence la consommation (ex : creux la nuit, pic du soir, etc.) la date influence la consommation (ex : weekends, EJP) la date influence le climat...
Apprentissage : cas industriel Dépendances dues à la politique de consignation périodes préférentielles de consignations de lignes (été) pas de maintenance simultanées pour certaines lignes
Apprentissage : cas industriel Remarque il existe des dépendances indirectes : par exemple, la consommation et la topologie du réseau sont dépendantes date consommation topologie
Apprentissage : cas industriel 0 to 10 10 to 20 20 to 30 Temperature 42.6 38.0 19.4 Day Evening Night Hour 63.0 12.0 25.0 Week Week End Day 85.0 15.0 Modèle simplifié Load Winter Spring Summer Autumn Season 25.0 25.0 25.0 25.0 0 to 1000 1000 to 2000 2000 to 3000 3000 to 4000 4000 to 5000 5000 to 6000 6000 to 7000 0.27 7.02 25.8 38.8 22.3 4.29 1.57 Cloudy Sunny Weather 30.0 70.0 calcul de la probabilité d une situation Line_1 Available 96.7 Unscheduled... 0.10 Maintenance 3.20 Exclusion Line_2 Available 96.7 Unscheduled... 0.10 Maintenance 3.20 génération aléatoire d un échantillon de situations plausibles Imported_Power 0 to 500 500 to 1000 1000 to 1500 1500 to 2000 2000 to 2500 2500 to 3000 1.98 14.9 40.6 33.9 8.04 0.57 Generated_Power 0 to 1000 1000 to 2000 2000 to 3000 3000 to 4000 4000 to 5000 5000 to 6000 6000 to 7000 19.3 29.6 31.5 14.8 3.84 0.93.056
Démonstrat ion
Conclusion de l étude souplesse, évolutivité, rapidité du calcul des probabilités des situations importance des dépendances possibilité de générer directement un échantillon de situations réalistes car tenant compte des dépendances
Domaines d application Santé Industrie Défense Data Mining - Marketing Informatique Autres domaines
Santé Historiquement, les premières applications opérationnelles des réseaux bayésiens Intégration de l expertise du médecin, de données statistiques et de faits observés ou déclarés Pathfinder, Intellipath : diagnostic histopathologique (biopsies) Microsoft Pregnancy and Child Care Localisation de gènes (projet Human Genome) Maladies du foie, dermatologie, etc.
Industrie (1) : contrôle, robotique Capacité d apprentissage incrémental (adaptabilité), réactivité NASA - système VISTA : aide à la décision en temps réel (système de suivi des moteurs de positionnement orbital de la navette spatiale) ; première application non-médicale Hugin (pour Lockheed Martin) : système de contrôle d un véhicule sousmarin autonome Bayesia : système de régulation d ambiance
Industrie (2) : diagnostic Détermination des causes (et des remèdes) les plus probables à partir des symptômes Ricoh : assistance aux opérateurs de réparation de photocopieurs (système Fixit) - utilisation en centre d appels Intel : tests sur puces semiconducteurs Bayesian Systems : pannes automobiles (www.bayes.com)
Industrie (3) : simulation génération aléatoire d états d un système avec dépendances EDF : étude d un système électrique
Défense Fusion de données, aide à la décision US Navy : système embarqué de défense tactique des navires : temps de réaction très inférieur aux systèmes précedents (propagation de contraintes, programmation dynamique)
Data Mining - Marketing Applications de prévision de comportement - apprentissage incrémental Paris New York Bangkok Rio Janeiro Lieu 25.0 25.0 25.0 25.0 AT&T : détection de mauvais payeurs à partir de l a priori (exemple : 1% de mauvais payeurs), des villes d émission et de destination de l appel, etc. Achat Alimentation 33.3 Billet Avion 33.3 HiFi 33.3 Montant Oui Non Fraude 3.5 96.5 autorisation de transaction bancaire, détection de fraude (phénomène évolutif) 0 to 100 25.0 100 to 200 25.0 200 to 500 25.0 500 to 1000 25.0 3.3e+002 ± 2.8e+002 etc. 23-juin-00 billet avion rio_janeiro 825 fraude 28-juin-00 alimentation paris 72 OK...
Informatique Agents logiciels MICROSOFT : agent Office Assistant (système d aide proactif) : détermination de l aide en fonction de la difficulté de la tâche, du niveau de l utilisateur, des «Edition-Annuler», des temps d attente, du parcours des menus, etc. Evaluation de fiabilité projet européen SERENE
Autres domaines Finance (cours boursier) Banque (autorisation de crédit) Droit : jugement pénal (prise en compte de faits, de témoignages, de preuves, d expertise) Prospective stratégique, aide à la décision (diagramme d influence), gestion globale des risques : EDF Autres : risque projet, risque politique...
Pour en savoir plus... «Les Réseaux Bayésiens», de P. Naïm et A. Becker (Eyrolles) «An Introduction to Bayesian Networks» de F. Jensen et V.Finn, (Springer-Verlag). Netica version de démonstration entièrement fonctionnelle (mais limitée à 15 nœuds) téléchargeable sur www.norsys.com Internet mots-clés : Bayesian (belief) network, (probabilistic) influence diagram, Bayes net, causal network, etc.