Aller au contenu
Kudos AI

Réseau bayésien

Un graphe orienté acyclique dont les nœuds sont des variables aléatoires et dont les arêtes expriment une influence directe, avec une table de probabilités conditionnelles à chaque nœud, qui définissent ensemble une loi jointe complète comme un produit de facteurs locaux.

Aussi appelé : Réseau de Bayes, Réseau de croyances, Modèle graphique probabiliste

Comprendre Réseau bayésien

Un réseau bayésien répond à la question de savoir comment un agent peut entretenir des croyances sur de nombreuses variables à la fois sans écrire une loi jointe dont la taille croît exponentiellement avec leur nombre. Il le fait en n’enregistrant que les influences directes : une arête de X vers Y dit que X est un parent de Y, et chaque nœud stocke P(nœud | parents) sous forme de table avec une ligne par combinaison de valeurs des parents. Russell et Norvig introduisent l’idée avec une alarme anti-cambriolage qui réagit aux cambriolages et, moins fidèlement, aux séismes, et deux voisins qui appellent quand ils l’entendent. Cinq variables, quatre arêtes et dix nombres remplacent une table jointe de trente et une entrées.

La sémantique tient en une seule équation : la probabilité d’une affectation complète de toutes les variables est le produit des probabilités conditionnelles lues dans les tables. Pour l’alarme qui sonne sans cambriolage ni séisme tandis que les deux voisins appellent, ce produit vaut 0,90 × 0,70 × 0,001 × 0,999 × 0,998 = 0,000628. Comme chaque entrée de la loi jointe peut être retrouvée ainsi, le réseau n’est pas une approximation de la loi jointe ; il est la loi jointe, stockée de façon compacte.

La compacité repose sur l’indépendance conditionnelle. Comparer le produit avec la règle de la chaîne montre que le réseau est un modèle correct exactement quand chaque variable est conditionnellement indépendante de ses autres prédécesseurs étant donné ses parents, pour un certain ordre qui place les parents avant les enfants. Deux conséquences découlent du seul graphe : un nœud est indépendant de ses non-descendants étant donné ses parents, et un nœud est indépendant de tout autre nœud étant donné sa couverture de Markov, l’ensemble de ses parents, de ses enfants et des autres parents de ses enfants. Construire le réseau dans l’ordre causal le garde petit ; le construire dans le mauvais ordre force des arêtes supplémentaires et des nombres plus difficiles à estimer.

Une requête demande la loi a posteriori d’une variable étant donné une évidence sur d’autres, et toute requête de ce type est une somme normalisée de produits d’entrées de tables sur les variables cachées. L’énumération évalue cette somme directement et répète du travail ; l’élimination de variables stocke les résultats intermédiaires comme des facteurs et les combine par produit point à point et par sommation. Sur un polyarbre, un graphe avec au plus un chemin non orienté entre deux nœuds quelconques, l’élimination s’exécute en temps linéaire en le nombre d’entrées des tables. Sur les graphes multiplement connexes les facteurs peuvent croître exponentiellement, et le problème général est aussi difficile que compter les affectations satisfaisant une formule propositionnelle. Les méthodes approchées - échantillonnage par rejet, pondération par vraisemblance et Monte-Carlo par chaînes de Markov - échangent l’exactitude contre des estimations consistantes dont le coût dépend de la façon dont l’évidence est traitée.

Comment calculer

P(x₁, …, xₙ) = Πᵢ P(xᵢ | parents(Xᵢ))

où

x₁, …, xₙ
une affectation complète de valeurs à chaque variable du réseau
parents(Xᵢ)
les valeurs, dans cette affectation, des parents du nœud Xᵢ
P(xᵢ | parents(Xᵢ))
l’entrée de la table de probabilités conditionnelles du nœud Xᵢ pour cette ligne
Πᵢ
produit sur les n nœuds ; la factorisation encode les indépendances conditionnelles

Exemple : Réseau bayésien

Dans le réseau du cambriolage, la requête « les deux voisins ont appelé ; y a-t-il eu un cambriolage ? » s’écrit P(B | j, m) = α Σₑ Σₐ P(B) P(e) P(a | B, e) P(j | a) P(m | a). Sommer les quatre termes pour chaque valeur de B donne le couple non normalisé ⟨0,00059224, 0,00149186⟩.

La normalisation donne ⟨0,284, 0,716⟩ : deux signalements indépendants font monter un a priori de un sur mille à environ 28 %, et pas davantage, parce que la masse sans cambriolage, 0,00149186, arrive par trois voies comparables - une alarme sans cause puis les deux appels 0,000628, aucune alarme mais les deux appels quand même 0,000498, une alarme due à un séisme puis les deux appels 0,000365 - qui pèsent ensemble 2,5 fois la voie du cambriolage, 0,000592.

L’élimination de variables atteint la même réponse en sommant d’abord sur Alarme pour obtenir un facteur sur (B, E), puis sur Séisme pour obtenir un facteur sur B seul, de sorte que les produits aux feuilles sont calculés une fois plutôt qu’une fois par branche de l’arbre d’énumération.

Avantages et inconvénients

Avantages

  • Représente une loi jointe sur de nombreuses variables avec un nombre de paramètres qui croît avec la structure locale plutôt qu’exponentiellement.
  • Rend les hypothèses d’indépendance conditionnelle explicites et lisibles sur le graphe.
  • Permet une inférence exacte efficace quand le graphe est un polyarbre, et une inférence approchée consistante sinon.

Inconvénients

  • L’inférence exacte est #P-difficile en général, et les méthodes d’échantillonnage peuvent converger lentement quand l’évidence est improbable.
  • Les tables doivent être spécifiées ou apprises, et leur taille croît exponentiellement avec le nombre de parents.
  • Le graphe dépend de l’ordre dans lequel les variables sont introduites ; un mauvais ordre donne un réseau inutilement dense.

Questions fréquentes

Les flèches doivent-elles signifier une causalité ?

Non. Les flèches affirment une dépendance conditionnelle, et tout ordre qui place les parents avant les enfants donne un réseau valide. Les ordres causaux sont préférés en pratique parce qu’ils produisent des graphes plus creux et des tables dont les entrées peuvent réellement être estimées.

Qu’est-ce qu’une couverture de Markov et pourquoi importe-t-elle ?

La couverture de Markov d’un nœud est constituée de ses parents, de ses enfants et des autres parents de ses enfants. Étant donné les valeurs de la couverture, le nœud est indépendant de toute autre variable du réseau. L’échantillonnage de Gibbs repose là-dessus : rééchantillonner une variable ne demande qu’une poignée d’entrées de tables, jamais la loi jointe entière.

Quand échantillonner plutôt que calculer exactement ?

Quand le graphe est multiplement connexe et que l’élimination de variables produirait des facteurs trop grands pour être stockés. L’échantillonnage par rejet est le plus simple mais écarte la plupart des échantillons dès qu’il y a plusieurs variables d’évidence ; la pondération par vraisemblance garde chaque échantillon en fixant l’évidence et en pondérant ; l’échantillonnage de Gibbs parcourt une chaîne de Markov dont la distribution stationnaire est la loi a posteriori.

En résumé

Un réseau bayésien est une loi jointe que l’on peut réellement écrire : un graphe d’influences directes et de petites tables locales, dont le produit est la loi jointe et dont les arêtes absentes sont les hypothèses d’indépendance. L’inférence est une somme de produits, bon marché sur les polyarbres et difficile en général, et c’est là que l’échantillonnage prend le relais.