Réseaux bayésiens et loi jointe
Un graphe orienté acyclique avec une table de probabilités conditionnelles à chaque nœud, le produit qui définit ce qu'il signifie, et les indépendances conditionnelles qui le rendent compact.
La loi jointe complète répond à toute question probabiliste, et elle est inutilisable en pratique : sur variables booléennes elle compte entrées, personne ne peut les fournir et personne ne pourrait les stocker. Un réseau bayésien conserve la puissance de la loi jointe en ne payant que pour les dépendances qui existent réellement.
Ce qu’est un réseau
Un réseau bayésien est un graphe orienté acyclique dans lequel
- chaque nœud est une variable aléatoire,
- une flèche de vers dit que est un parent de , donc que a une influence directe sur , et
- chaque nœud porte une table de probabilités conditionnelles (TPC) donnant , une ligne par combinaison de valeurs des parents.
Chaque ligne d’une TPC doit sommer à un ; pour une variable booléenne on n’écrit donc que la probabilité de vrai, l’autre s’en déduit. Un nœud booléen à parents booléens demande par conséquent nombres, et un nœud racine exactement un.
Le réseau du cambriolage
L’exemple qui porte tout ce parcours est l’alarme antivol de Judea Pearl, celle dont Russell et Norvig se servent pour introduire les réseaux bayésiens. Vous êtes au travail. Une alarme anti-cambriolage installée chez vous réagit assez fidèlement aux cambriolages et, faisant office de détecteur sismique de fortune, parfois aux petits tremblements de terre. Deux voisins, John et Mary, ont promis d’appeler quand ils l’entendent. John appelle presque toujours quand il entend l’alarme, mais la confond parfois avec le téléphone ; Mary aime la musique forte et rate souvent l’alarme tout à fait.
Le graphe a pour flèches , , , , et rien d’autre. C’est un ensemble d’affirmations : John et Mary ne perçoivent pas directement les cambriolages, ils ne remarquent pas les petits séismes, et ils ne se concertent pas avant d’appeler. Tout ce qui pourrait faire échouer l’alarme - une pile à plat, un fil coupé - ou empêcher un voisin de la signaler est absorbé dans les nombres plutôt que modélisé. Ce n’est pas de la négligence ; c’est ainsi qu’un petit agent se débrouille dans un grand monde.
Ce que signifie un réseau
La sémantique tient en une seule équation. Pour toute affectation complète de toutes les variables,
où désigne les valeurs des parents de dans cette affectation. Le réseau est la loi jointe, écrite comme un produit des entrées de ses TPC.
Exemple travaillé : un événement complet
L’alarme a sonné, il n’y a eu ni cambriolage ni séisme, et les deux voisins appellent. En lisant une entrée dans chaque table :
S'exécute dans votre navigateur. La première exécution télécharge l'environnement Python (~10 Mo), puis il est mis en cache.
Comme chacune des 32 entrées de la loi jointe peut être produite ainsi, tout ce à quoi la loi jointe complète sait répondre, le réseau sait y répondre aussi - en sommant les entrées pertinentes. La leçon suivante montre comment le faire sans produire les 32.
Pourquoi le réseau est tellement plus petit
Comptons les nombres. Cambriolage et Séisme en demandent un chacun, Alarme a deux parents et en demande quatre, et chaque appel a un parent et en demande deux :
contre entrées indépendantes dans la table jointe complète. L’écart se creuse de façon explosive : avec 30 variables booléennes ayant chacune au plus cinq parents, le réseau demande au plus nombres là où la loi jointe en demande plus d’un milliard. L’économie vient de la localité : chaque variable n’est influencée directement que par quelques autres.
Le réseau ci-dessous est celui-là, et chacun de ses nombres est exact : les probabilités a posteriori viennent de la somme des 32 affectations, non d’un échantillonnage. Cliquez un nœud pour dire ce que vous savez. Commencez par les deux voisins qui appellent : le cambriolage monte à 28,4 %, ce qui mérite déjà qu’on s’y arrête, car les appels renseignent excellemment sur l’alarme et l’alarme témoigne mal du cambriolage. Ajoutez ensuite le séisme. Il rend les appels plus probables, et il renvoie le cambriolage vers rien.
Interactif : dites ce que vous savez, observez la suite
Cliquez un nœud pour le faire tourner : inconnu, survenu, écarté.
- P(cambriolage)
- 0.1%
- P(séisme)
- 0.2%
- P(alarme)
- 0.3%
- P(observations)
- 1.000000
Rien n’est encore connu : chaque nœud est à son a priori, un cambriolage à 0,1 %, un séisme à 0,2 %. Cliquez un voisin et regardez l’influence remonter les flèches jusqu’à l’alarme puis redescendre vers l’autre voisin, alors qu’aucune flèche ne relie les deux voisins.
Les indépendances que le graphe affirme
Appliquons la règle de la chaîne à un ordre quelconque des variables :
En comparant avec la sémantique ci-dessus, le réseau est une représentation correcte exactement quand, pour chaque variable,
pour un certain ordre dans lequel chaque nœud vient après ses parents. En mots : chaque variable est conditionnellement indépendante de ses autres prédécesseurs étant donné ses parents. Deux autres conséquences découlent du seul graphe.
- Un nœud est conditionnellement indépendant de ses non-descendants étant donné ses parents. Dans le réseau du cambriolage, est indépendant de , et dès que est connu.
- Un nœud est conditionnellement indépendant de tout autre nœud étant donné sa couverture de Markov : ses parents, ses enfants, et les autres parents de ses enfants. La couverture de est : étant donné l’état de l’alarme et celui du séisme, les deux appels téléphoniques ne vous apprennent plus rien sur un cambriolage.
L’ordre compte quand on en construit un. Ajoutez les nœuds dans l’ordre et vous êtes forcé de tracer , puis les deux appels vers , puis , puis et : deux liens et trois nombres de plus que le réseau causal, dont certains décrivent des relations véritablement difficiles à estimer. Placer les causes avant les effets est ce qui garde le réseau petit.
Avant le quiz
Sachez écrire le produit qui définit la loi jointe, l’évaluer pour un événement complet, compter les nombres qu’un réseau demande contre la table complète, et dire ce qu’est une couverture de Markov et pourquoi conditionner sur elle isole un nœud.
Références et lectures complémentaires
- Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Pearson (3rd edition), 2010· Bibliothèque de référence Kudos AI
Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.
Débloquez tout le parcours
Cette première leçon est gratuite. Inscrivez-vous pour passer le quiz de maîtrise, gagner de l’XP et débloquer tous les modules, avec d’autres exemples interactifs et exécutables.