Chapitre 316 minIntermédiaire
Arbre pondéré, formule des probabilités totales et formule de Bayes
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- construire un arbre pondéré à partir d'un énoncé ;
- calculer la probabilité d'un chemin et d'un événement final ;
- appliquer la formule des probabilités totales sur une partition ;
- remonter l'arbre avec la formule de Bayes ;
- expliquer pourquoi un détecteur fiable produit beaucoup de fausses alertes.
5 exercices corrigés1 schéma
Un arbre pondéré représente une expérience aléatoire en plusieurs étapes : chaque branche porte une probabilité, conditionnelle dès la deuxième étape. On multiplie le long d'un chemin pour obtenir la probabilité d'une intersection, et on additionne les chemins qui mènent au même résultat : c'est la formule des probabilités totales. La formule de Bayes permet ensuite de « remonter » l'arbre, pour calculer la probabilité d'une cause sachant ce qu'on a observé. Ce chapitre applique ces trois outils aux fausses alertes d'un outil de détection, à des disques de plusieurs fournisseurs et à un filtre anti-spam.
Construire un arbre pondéré
Sorbier Logistique ouvre sur Internet l'accès VPN de ses salariés nomades. Son SIEM, Wazuh, analyse chaque tentative de connexion. Une étude des journaux donne trois informations :
- 3 % des tentatives de connexion sont malveillantes (essais automatisés de mots de passe) ;
- la règle de détection lève une alerte pour 95 % des tentatives malveillantes ;
- elle lève aussi une alerte, à tort, pour 2 % des tentatives légitimes (un utilisateur qui se trompe trois fois de mot de passe, par exemple).
On choisit une tentative au hasard et on note M l'événement « la tentative est malveillante » et A l'événement « une alerte est levée ». L'énoncé donne P(M) = 0,03, P_M(A) = 0,95 et P_M̄(A) = 0,02.
L'expérience a deux étapes : la nature de la tentative, puis la réaction de la règle. On dessine un arbre pondéré :
Les règles de construction :
- Le premier niveau porte les probabilités simples de la première étape : P(M) = 0,03 et P(M̄) = 1 − 0,03 = 0,97.
- Le deuxième niveau porte des probabilités conditionnelles : sur la branche qui part de M, on écrit P_M(A) et P_M(Ā).
- La somme des branches qui partent d'un même nœud vaut 1 : 0,95 + 0,05 = 1 et 0,02 + 0,98 = 1. C'est ainsi qu'on complète les branches que l'énoncé ne donne pas.
Lire l'arbre : la probabilité d'un chemin
Un chemin va de la racine à une extrémité de l'arbre (une feuille). Il représente l'intersection des événements qu'il traverse, et sa probabilité est le produit des probabilités des branches : c'est la formule du produit P(M ∩ A) = P(M) × P_M(A) du chapitre 2.
| Chemin | Événement | Probabilité |
|---|---|---|
| M puis A | M ∩ A : attaque détectée | 0,03 × 0,95 = 0,0285 |
| M puis Ā | M ∩ Ā : attaque non détectée | 0,03 × 0,05 = 0,0015 |
| M̄ puis A | M̄ ∩ A : fausse alerte | 0,97 × 0,02 = 0,0194 |
| M̄ puis Ā | M̄ ∩ Ā : connexion légitime, pas d'alerte | 0,97 × 0,98 = 0,9506 |
Vérification : 0,0285 + 0,0015 + 0,0194 + 0,9506 = 1. La somme des feuilles vaut toujours 1, puisque les chemins couvrent tous les cas sans se recouvrir.
La formule des probabilités totales
Quelle est la probabilité qu'une tentative déclenche une alerte ? Deux chemins mènent à A : celui qui passe par M et celui qui passe par M̄. Ils sont incompatibles, donc on additionne leurs probabilités :
P(A) = P(M ∩ A) + P(M̄ ∩ A)
= P(M) × P_M(A) + P(M̄) × P_M̄(A)
= 0,03 × 0,95 + 0,97 × 0,02
= 0,0285 + 0,0194
= 0,0479
Environ 4,8 % des tentatives déclenchent une alerte. C'est la formule des probabilités totales. Elle s'applique dès que les événements de la première étape forment une partition de l'univers : ils sont deux à deux incompatibles, et leur réunion est l'univers (chaque issue tombe dans un et un seul d'entre eux). M et M̄ forment toujours une partition ; avec trois fournisseurs, trois catégories ou trois causes, la partition a trois éléments.
Le programme précise que la formule elle-même n'est pas un attendu, mais que sa mise en œuvre doit être maîtrisée : sur une copie, tu peux te contenter de dire « d'après l'arbre, deux chemins mènent à A » et d'additionner.
Exemple à trois branches. Une entreprise achète ses disques durs à trois fournisseurs. Le fournisseur F₁ livre 50 % des disques, avec 2 % de disques défectueux ; F₂ en livre 30 %, avec 5 % de défectueux ; F₃ en livre 20 %, avec 8 % de défectueux. On note D l'événement « le disque est défectueux ». F₁, F₂ et F₃ forment une partition :
P(D) = 0,50 × 0,02 + 0,30 × 0,05 + 0,20 × 0,08
= 0,010 + 0,015 + 0,016
= 0,041
4,1 % des disques achetés sont défectueux.
Remonter l'arbre : la formule de Bayes
Le responsable sécurité reçoit une alerte. Quelle est la probabilité que la tentative soit vraiment malveillante ? Il cherche P_A(M) : la probabilité de la cause M sachant l'effet observé A. L'arbre donne l'inverse, P_M(A). On revient à la définition :
P(M ∩ A) 0,0285
P_A(M) = —————————— = ———————— ≈ 0,5950
P(A) 0,0479
Seulement 59,5 % des alertes signalent une vraie attaque : quatre alertes sur dix sont des fausses alertes, alors que la règle ne se trompe que sur 2 % des connexions légitimes. Ce paradoxe apparent vient de la rareté des attaques : les connexions légitimes sont 32 fois plus nombreuses, et 2 % d'un grand nombre finit par peser presque autant que 95 % d'un petit (194 fausses alertes pour 285 vraies, sur 10 000 tentatives).
Avec un effectif fictif, c'est encore plus clair. Sur 10 000 tentatives, 300 sont malveillantes, dont 285 déclenchent une alerte. Parmi les 9 700 légitimes, 194 déclenchent une alerte. Au total, 479 alertes, dont 285 justifiées : 285 / 479 ≈ 0,595.
Le programme du BTS ne nomme pas la formule de Bayes, mais il cite les « fausses alertes » et le « contrôle qualité » comme situations types : c'est exactement ce calcul, que tu peux toujours mener avec la définition P_A(B) = P(A ∩ B) / P(A).
L'autre question utile : une tentative ne déclenche pas d'alerte ; quelle est la probabilité qu'elle soit malveillante ? P(Ā) = 1 − 0,0479 = 0,9521, et :
P_Ā(M) = P(M ∩ Ā) / P(Ā) = 0,0015 / 0,9521 ≈ 0,0016
Moins de deux tentatives silencieuses sur mille sont des attaques : l'absence d'alerte est très rassurante. Pour un outil de détection, on cherche un compromis entre les faux négatifs (attaques manquées, ici 5 %) et les faux positifs (fausses alertes, ici 2 % des connexions légitimes). Trop de fausses alertes, et les analystes finissent par ne plus les lire ; le cours Wazuh montre comment trier et ajuster les règles.
Bayes avec trois causes. Un disque se révèle défectueux. De quel fournisseur vient-il le plus probablement ?
| Fournisseur | Chemin F ∩ D | P_D(F) = chemin / 0,041 |
|---|---|---|
| F₁ | 0,50 × 0,02 = 0,010 | ≈ 0,2439 |
| F₂ | 0,30 × 0,05 = 0,015 | ≈ 0,3659 |
| F₃ | 0,20 × 0,08 = 0,016 | ≈ 0,3902 |
Le disque vient le plus probablement de F₃, alors que ce fournisseur ne livre que 20 % des disques. Vérification : 0,2439 + 0,3659 + 0,3902 = 1, puisque F₁, F₂ et F₃ forment aussi une partition quand on sait D réalisé.
Le filtre anti-spam bayésien
Les premiers filtres anti-spam efficaces, au début des années 2000, appliquaient la formule de Bayes mot par mot. Sur une messagerie, 40 % des courriels reçus sont des spams (S). Le mot « gratuit » apparaît dans 80 % des spams et dans 10 % des courriels légitimes. On note G l'événement « le courriel contient gratuit ».
P(G) = 0,40 × 0,80 + 0,60 × 0,10 = 0,32 + 0,06 = 0,38
P_G(S) = 0,32 / 0,38 = 16/19 ≈ 0,8421
Un courriel qui contient « gratuit » est un spam avec une probabilité d'environ 0,84. Un vrai filtre combine des centaines de mots en supposant leurs apparitions indépendantes sachant la classe du courriel : c'est le classifieur bayésien naïf, encore utilisé en apprentissage automatique pour classer des textes. Un exercice ci-dessous en traite un cas à deux mots.
Deux étapes sans remise
Les arbres servent aussi quand la deuxième étape dépend de la première parce que la première a modifié la situation. Une boîte contient 10 disques reconditionnés, dont 2 sont défectueux. Un technicien en prend deux au hasard, l'un après l'autre, sans remettre le premier. On note D₁ et D₂ les événements « le premier (le second) disque est défectueux ».
- P(D₁) = 2/10. Si le premier est défectueux, il reste 1 défectueux sur 9 : P_D₁(D₂) = 1/9.
- Si le premier est bon, il reste 2 défectueux sur 9 : P_D̄₁(D₂) = 2/9.
La probabilité que les deux soient défectueux est 2/10 × 1/9 = 2/90 = 1/45 ≈ 0,0222. La probabilité que le second soit défectueux est, par les probabilités totales, 2/10 × 1/9 + 8/10 × 2/9 = 2/90 + 16/90 = 18/90 = 0,2. Sans surprise, c'est la même chance que pour le premier : sans information sur le premier tirage, le second disque est un disque pris au hasard.
Méthode pour un exercice d'arbre
- Nomme les événements avec des lettres, et écris les probabilités de l'énoncé avec la bonne notation : « 95 % des tentatives malveillantes déclenchent une alerte » se traduit par P_M(A) = 0,95, pas par P(A) = 0,95.
- Repère l'ordre des étapes : la première étape est celle dont l'énoncé donne les probabilités simples (ici, la nature de la tentative).
- Dessine l'arbre et complète chaque nœud pour que la somme fasse 1.
- Calcule les feuilles dont tu as besoin, en multipliant le long des chemins.
- Additionne les chemins pour une probabilité totale ; divise un chemin par une probabilité totale pour une probabilité « sachant » l'événement final.
- Vérifie que chaque résultat est entre 0 et 1, et interprète-le par une phrase.
Exercices
Exercice 1 sur 5 Les tests d'une mise en production Réussi À revoir
Une équipe de développement publie une nouvelle version chaque semaine. 15 % des versions contiennent un bogue bloquant (événement B). La suite de tests automatisés échoue (événement E) pour 90 % des versions qui ont un bogue bloquant, et pour 4 % des versions saines, à cause de tests instables.
- Construis l'arbre pondéré.
- Calcule la probabilité que la suite de tests échoue.
- Les tests échouent. Quelle est la probabilité que la version contienne vraiment un bogue bloquant ?
- Les tests passent. Quelle est la probabilité que la version contienne quand même un bogue bloquant ? Interprète.
Voir la réponseMasquer la réponse de l'exercice 1
- Premier niveau : P(B) = 0,15, P(B̄) = 0,85. Deuxième niveau : P_B(E) = 0,90, P_B(Ē) = 0,10, P_B̄(E) = 0,04, P_B̄(Ē) = 0,96.
- P(E) = 0,15 × 0,90 + 0,85 × 0,04 = 0,135 + 0,034 = 0,169.
- P_E(B) = 0,135 / 0,169 ≈ 0,7988 : environ 80 % des échecs signalent un vrai bogue, 20 % sont dus aux tests instables.
- P(Ē) = 1 − 0,169 = 0,831 et P(B ∩ Ē) = 0,15 × 0,10 = 0,015, donc P_Ē(B) = 0,015 / 0,831 ≈ 0,0181. Moins de 2 % des versions validées par les tests contiennent un bogue bloquant : les tests ne garantissent pas l'absence de bogue, mais ils réduisent fortement le risque (de 15 % à 1,8 %). Voir le cours Tests.
Tu avais trouvé ?
Exercice 2 sur 5 Une branche inconnue Réussi À revoir
On sait que P(A) = 0,6, P_A(B) = 0,3 et P(B) = 0,4.
- Dessine l'arbre en notant x = P_Ā(B).
- Écris la formule des probabilités totales pour P(B) et déduis-en x.
- Calcule P_B(A).
Voir la réponseMasquer la réponse de l'exercice 2
- Premier niveau : P(A) = 0,6, P(Ā) = 0,4. Deuxième niveau : P_A(B) = 0,3, P_A(B̄) = 0,7, P_Ā(B) = x, P_Ā(B̄) = 1 − x.
- P(B) = 0,6 × 0,3 + 0,4 × x, donc 0,4 = 0,18 + 0,4x, d'où 0,4x = 0,22 et x = 0,55.
- P_B(A) = P(A ∩ B) / P(B) = 0,18 / 0,4 = 0,45.
Tu avais trouvé ?
Exercice 3 sur 5 Clés USB sans remise Réussi À revoir
Une boîte contient 12 clés USB, dont 3 sont défectueuses. On en prend deux au hasard, l'une après l'autre, sans remise.
- Construis l'arbre pondéré.
- Calcule la probabilité que les deux clés soient défectueuses.
- Calcule la probabilité qu'exactement une clé soit défectueuse.
- Calcule la probabilité qu'aucune ne soit défectueuse, et vérifie la cohérence des trois résultats.
Voir la réponseMasquer la réponse de l'exercice 3
- Premier tirage : 3/12 défectueuse, 9/12 bonne. Si la première est défectueuse : 2/11 défectueuse, 9/11 bonne. Si la première est bonne : 3/11 défectueuse, 8/11 bonne.
- 3/12 × 2/11 = 6/132 = 1/22 ≈ 0,0455.
- Deux chemins : défectueuse puis bonne, bonne puis défectueuse. 3/12 × 9/11 + 9/12 × 3/11 = 27/132 + 27/132 = 54/132 = 9/22 ≈ 0,4091.
- 9/12 × 8/11 = 72/132 = 6/11 ≈ 0,5455. Vérification : 6 + 54 + 72 = 132, donc les trois probabilités ont pour somme 1.
Tu avais trouvé ?
Exercice 4 sur 5 Un filtre à deux mots Réussi À revoir
Sur une messagerie, 30 % des courriels sont des spams (S). Le mot « promo » apparaît (événement W) dans 70 % des spams et 5 % des courriels légitimes. L'expéditeur est inconnu du destinataire (événement U) dans 60 % des spams et 15 % des courriels légitimes. Comme un filtre bayésien naïf, on admet que, sachant la classe du courriel (spam ou non), W et U sont indépendants.
- Calcule P_S(W ∩ U) et P_S̄(W ∩ U).
- Calcule P(W ∩ U).
- Un courriel contient « promo » et vient d'un inconnu. Calcule la probabilité que ce soit un spam.
Voir la réponseMasquer la réponse de l'exercice 4
- Par l'indépendance sachant la classe : P_S(W ∩ U) = 0,70 × 0,60 = 0,42 ; P_S̄(W ∩ U) = 0,05 × 0,15 = 0,0075.
- Par les probabilités totales : P(W ∩ U) = 0,30 × 0,42 + 0,70 × 0,0075 = 0,126 + 0,00525 = 0,13125.
- La probabilité de S sachant W ∩ U vaut P(S ∩ W ∩ U) / P(W ∩ U) = 0,126 / 0,13125 = 0,96. Deux indices faibles combinés donnent une forte présomption, ce qui fait l'efficacité des filtres bayésiens.
Tu avais trouvé ?
Exercice 5 sur 5 Quel fournisseur ? Réussi À revoir
On reprend les trois fournisseurs de disques de ce chapitre (F₁ : 50 % des disques et 2 % de défectueux ; F₂ : 30 % et 5 % ; F₃ : 20 % et 8 %).
- Un disque est bon. Calcule la probabilité qu'il vienne de F₁.
- Le responsable veut ramener le taux global de disques défectueux sous 3 %. Il arrête F₃ et reporte ses commandes sur F₁, qui livre alors 70 % des disques (F₂ garde 30 %). L'objectif est-il atteint ?
Voir la réponseMasquer la réponse de l'exercice 5
- P(D̄) = 1 − 0,041 = 0,959 et P(F₁ ∩ D̄) = 0,50 × 0,98 = 0,49. P_D̄(F₁) = 0,49 / 0,959 ≈ 0,5109.
- P(D) = 0,70 × 0,02 + 0,30 × 0,05 = 0,014 + 0,015 = 0,029 : 2,9 % < 3 %, l'objectif est atteint, de justesse.
Tu avais trouvé ?