Problème — Régler un filtre de courriels
Application directe du cours · niveau 3 (difficile) · mathématiques complémentaires (terminale), chapitre 16 — Thème 6 — Inférence bayésienne
Énoncé
Problème — Régler un filtre de courriels.
Une boîte de réception reçoit courriels par mois, dont indésirables. Un filtre analyse chaque message et y relève un certain nombre d'indices (mots, mise en forme, adresse d'expédition). On admet que chaque indice a le même rapport de vraisemblance , et que les indices d'un même courriel sont indépendants sachant sa nature. On note la cote et la probabilité que le courriel soit indésirable après indices relevés.
- Calculer et . Exprimer , puis , en fonction de .
- Calculer sous forme de fractions. Que constate-t-on sur les écarts successifs ?
- Montrer que la suite est arithmétique et donner sa raison.
- Le filtre bloque un courriel dès que la probabilité qu'il soit indésirable dépasse . Déterminer, par le calcul puis par un algorithme, le nombre minimal d'indices requis.
- Sur ce réglage, on observe que des courriels indésirables sont bloqués, et qu'un courriel légitime a une probabilité de l'être. Soit le nombre de courriels légitimes bloqués à tort en un mois. Donner la loi de , son espérance, son écart type et .
- Quelle proportion des courriels bloqués est réellement indésirable ? Conclure sur le réglage.
Corrigé
- Cote initiale et terme général. Sans aucun indice, courriels indésirables pour légitimes :
Chaque indice multiplie la cote par , donc est géométrique de raison (chapitre 1) :
- Les premiers termes.
Les écarts successifs valent environ , , , : ils augmentent puis s'effondrent. Chaque indice apporte pourtant la même information — un facteur ; c'est la probabilité qui, bornée par , ne peut plus progresser.
- La log-cote. L'équation fonctionnelle du logarithme (chapitre 3) donne
donc : la suite est arithmétique de raison , de premier terme . Sur ce tableau de bord, les indices s'additionnent au lieu de se multiplier.
- Le seuil. Puisque est croissante,
Le logarithme étant strictement croissant,
donc . On vérifie : et . Il faut six indices.
def nombre_indices(cote_initiale, rapport, seuil):
# Plus petit n tel que la probabilite depasse le seuil.
cote, n = cote_initiale, 0
while cote / (1 + cote) < seuil:
cote = cote * rapport
n = n + 1
return n
print(nombre_indices(1/4, 3, 0.99)) # 6
- Les blocages à tort. Chacun des courriels légitimes donne une épreuve à deux issues — bloqué ou non — de probabilité , et on les suppose indépendantes. Donc suit la loi binomiale (chapitre 8) et
Il est donc quasi certain qu'au moins un courriel légitime sera bloqué chaque mois, et l'ordre de grandeur est de huit, à trois près.
- Ce que vaut un blocage. Chaque mois, le filtre bloque courriels indésirables et courriels légitimes, soit blocages :
(On retrouve ce nombre par les cotes : le blocage a pour rapport de vraisemblance , d'où une cote de et une probabilité de .)
Conclusion. Le réglage tient sa promesse sur la précision — moins d'un blocage sur cent est une erreur — mais il laisse passer des courriels indésirables. Exiger six indices, c'est choisir de préférer un indésirable oublié à un message important perdu. C'est un arbitrage, non un optimum mathématique : abaisser le seuil à quatre indices bloquerait davantage de courriels indésirables et davantage de messages légitimes. Le bon réglage dépend du coût relatif des deux erreurs, que les mathématiques ne fixent pas.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.