Les nouvelles technologies pour l’enseignement des mathématiques
Intégration des TICE dans l’enseignement des mathématiques

MathémaTICE, première revue en ligne destinée à promouvoir les TICE à travers l’enseignement des mathématiques.

Les réseaux bayésiens au secours des probabilités conditionnelles

Les réseaux bayésiens savent calculer des probabilités conditionnelles. Ils sont donc utiles pour avoir rapidement le corrigé de certains exercices

Article mis en ligne le 11 février 2011
dernière modification le 25 avril 2021

par Alain Busser

Un réseau bayésien peut servir à toutes sortes de choses pas vraiment mathématiques. Mais comme il fait une sorte d’inférence par degrés, on peut envisager de s’en servir pour la logique (en mettant les probabilités à 1) ou pour calculer des probabilités conditionnelles.

Les plus faciles à obtenir parmi les logiciels de réseaux bayésiens sont

  • Hugin lite qui n’est pas libre mais gratuit
  • Elvira, logiciel espagnol en anglais, est écrit en Java, léger et c’est un logiciel libre ; c’est donc lui qui a été choisi ici.

Pour montrer l’utilité de ce genre de logiciel, rien ne vaut un exemple : L’exercice 4 du sujet du bac S Antilles-Guyane septembre 2010 :

Lors d’une épidémie chez des bovins, on s’est aperçu que si la maladie est diagnostiquée suffisamment tôt chez un animal, on peut le guérir ; sinon la maladie est mortelle.

Un test est mis au point et essayé sur un échantillon d’animaux dont 1 % est porteur de la maladie.

On obtient les résultats suivants :

  • si un animal est porteur de la maladie, le test est positif dans 85 % des cas ;
  • si un animal est sain, le test est négatif dans 95 % des cas.

On choisit de prendre ces fréquences observées comme probabilités pour la population entière et d’utiliser le test pour un dépistage préventif de la maladie.

On note :

  • M l’évènement : « l’animal est porteur de la maladie » ;
  • T l’évènement : « le test est positif ».

Un animal est choisi au hasard.

  1. Quelle est la probabilité qu’il soit porteur de la maladie et que son test soit positif ?
  2. Montrer que la probabilité pour que son test soit positif est 0,058.
  3. Un animal est choisi au hasard parmi ceux dont le test est positif. Quelle est la probabilité pour qu’il soit porteur de la maladie ?

Entrée des nœuds

Bien qu’elvira ne nécessite pas qu’on dessine un arbre pondéré, on va quand même réfléchir à l’aspect temporel de cet exercice (comme tout exercice de probabilités conditionnelles) : Il y a en quelque sorte deux bifurcations :

  1. L’animal et malade ou non ;
  2. Le test est positif ou non.

On choisit, comme avec l’arbre, de mettre en premier la bifurcation qui se mesure par des probabilités non conditionnelles : Celle que l’animal soit malade ou non.

La première chose à faire c’est bien entendu de démarrer elvira, mais aussi de fermer la fenêtre des commentaires (on ne s’en servira pas ici). Après avoir cliqué sur l’icône représentant une page blanche pour créer un nouveau fichier, on obtient ceci :

Et non ! Le nouveau fichier (page blanche) n’est pas encore créé ! En effet elvira propose plusieurs choix de vocabulaire pour les succès/échec. Ici il faudrait malade/en bonne santé mais cette option ne semble pas avoir été prévue par elvira. Alors on va choisir (comme ci-dessus) l’option « oui/non ». Un clic sur « OK » crée alors la page blanche tant attendue (avec le titre que l’on a entré à l’étape de la création). Bien ! Il s’agit maintenant de la remplir, cette page blanche. On va commencer par un « nœud » initialement appelé « A ». L’outil de création de nœuds ressemble à un camembert vert, d’un présage quelque peu douteux lorsqu’on veut parler de maladies !

Un double-clic sur ce nœud permet de l’éditer : Dans le premier onglet, on lui donne un nom (par exemple M comme « malade ») et un titre (« malade »). Dans l’onglet « values », on a présélectionné l’alternative « Yes/No » mais on peut encore changer d’avis ici. On voit que les deux états sont appelés s0 et s1. Ça aussi on peut le changer maintenant.

L’onglet « Parents » n’a pas à être modifié puisque le nœud n’a pas de parents. Reste donc l’onglet « Relation » où on va entrer les probabilités. Là on choisit « general » et on entre dans le tableau qui apparaît, un « 0.01 » en face de « yes » (probabilité qu’un animal soit malade). On voit alors que l’autre probabilité (que l’animal soit sain) est instantanément et automatiquement calculée par elvira :

Maintenant, la page n’est plus blanche, puisqu’elle contient le nœud « M » :

La création du deuxième nœud est plus rapide parce qu’il y a moins de choses à faire : Le nommer (« T »), lui donner un titre (« test ») et choisir pour valeurs du test « positive/negative » :

Entrée des arcs

Maintenant que la figure comprend deux nœuds, il reste à les relier entre eux, ce qui se fait en sélectionnant l’outil « arc » (une flèche) :

puis en tirant à la souris un arc entre les deux nœuds :

C’est maintenant qu’on va modifier les propriétés du deuxième nœud puisqu’il a désormais un « parent ». On constate que dans l’onglet « relation » il y a un tableau bidimensionnel, correpondant aux probabilités conditionnelles de l’exercice (initialement toutes équiprobables)

Seules les données de l’énoncé doivent être mises à jour, elvira se chargeant du reste : Les 0.85 et 0.95 dans les bonnes cases, et voilà :

Le réseau bayésien est maintenant complet, pour l’exploiter il suffit désormais de cliquer sur « inférence » en haut à droite de la fenêtre.

Réponses à l’exercice

En passant du mode d’édition au mode d’inférence, l’aspect des nœuds change, maintenant ils affichent des probabilités :

Elvira ne sait pas répondre à des questions comme la (1), du moins pas avec un arbre aussi simple (il faudrait rajouter un nœud).

Voici comment on peut faire

Il faut rajouter un nœud, noté « conjonction » par exemple, et relié aux deux autres (une flèche partant de chacun d’eux vers « conjonction »). Après, dans l’onglet « Relation », on sélectionne « And » pour avoir la conjonction des évènements. En mode inférence on a alors ceci :

La réponse « yes » est celle à la question 1.

Mais la réponse à la question (2) figure en bonne place dans le nœud de droite (il faut juste augmenter la précision) !

Pour répondre à la question 3, on modifie une probabilité : Maintenant qu’on sait que l’animal est testé positif, la probabilité qu’il le soit n’est plus de 0,058 mais de 1. Alors on double-clique sur cette probabilité ce qui le met à 1, et toutes les probabilités sont recalculées par elvira (en rouge) :

La probabilité conditionnelle cherchée est donc 0,147 environ...

Le logiciel elvira a été utilisé en BTS, pour corriger des exercices type bac S en vidéoprojection : Les étudiants avaient les réponses sous les yeux (après un temps de réflexion) qe qui leur a permis de vérifier que leur arbre pondéré est correct et correctement utilisé. Comme il faut moins de temps pour faire un fichier elvira (surtout si on les fait en avance) que pour dessiner l’arbre pondéré au tableau, on gagne un peu de temps avec elvira.