top of page

Les classificateurs naïfs de Bayes: principes et cas d'usages

Dernière mise à jour : 15 juin 2023

Les classificateurs de Bayes naïfs sont un type d'algorithme d'apprentissage automatique qui peut être utilisé pour faire des prédictions sur la base d'un ensemble de caractéristiques d'entrée. Ils sont dits "naïfs" parce qu'ils partent du principe que chaque caractéristique d'entrée est indépendante de toutes les autres. Malgré cette simplification, les classificateurs de Bayes naïfs se sont révélés étonnamment efficaces dans de nombreuses applications réelles, notamment la classification de textes, le filtrage des spams et la détection des fraudes.


Le théorème de Bayes


Le principe sous-jacent du classificateur naïf de Bayes est le théorème de Bayes, qui permet de calculer la probabilité d'un événement sur la base d'une connaissance préalable des conditions susceptibles d'être liées à l'événement.


Rappel du théorème de Bayes


Le théorème de Bayes donne la probabilité conditionnelle d'un évènement A en fonction de l'occurence d'un évènement B. Il s'écrit sous la forme suivante:


P(A|B).P(B) = P(B|A).P(A)


Ou P(A|B) se lit "Probabilité de A sachant B". Sous sa forme la plus classique:

Dans la vie réelle, un classificateur de Bayes peut être utilisé dans des cas ou il y a plusieurs variables prédictives, dont la combinaison (ou non) affine la qualité des prédictions. Dans ce cas, on peut définir le "vecteur prédictif" de propriétés:

En faisant l'hypothèse que les variables prédictives qui constituent X sont indépendantes les unes des autres, le théorème de Bayes en dimensions multiples s'écrit:

Dans le cas du classificateur naïf de Bayes, l'événement est la classe prédite d'une nouvelle instance d'entrée et les conditions sont les valeurs de ses caractéristiques d'entrée.


Un example d'application: la détection de spams

Pour illustrer le fonctionnement du classificateur de Bayes naïf, prenons un exemple simple de classification de texte. Supposons que nous disposions d'une collection de courriers électroniques étiquetés comme "spam" ou "non spam" et que nous souhaitions créer un classificateur capable de classer automatiquement les nouveaux courriers électroniques comme spam ou non spam.

Premiere étape: le calcul des probabilités de chaque caractéristique de chaque classes

Pour entraîner le classificateur de Bayes naïf, nous devons d'abord calculer les probabilités de chaque caractéristique pour chaque classe. Par exemple, nous pourrions calculer la probabilité qu'un courriel contenant le mot "viagra" soit du spam, et la probabilité qu'un courriel contenant le mot "viagra" ne soit pas du spam. Pour ce faire, nous comptons le nombre d'occurrences de chaque caractéristique dans chaque classe et le divisons par le nombre total d'instances dans cette classe.

Deuxième étape: le calcul des probabilités de chaque classe

Une fois que nous disposons de ces probabilités, nous pouvons utiliser le théorème de Bayes pour calculer la probabilité de chaque classe compte tenu d'une nouvelle instance d'entrée. Par exemple, supposons que nous recevions un nouvel e-mail contenant les mots "viagra bon marché" et "offre limitée dans le temps". Nous pouvons calculer la probabilité que cet e-mail soit un spam en multipliant les probabilités de chaque caractéristique compte tenu de la classe de spam, puis en les multipliant par la probabilité préalable de la classe de spam. Nous pouvons faire le même calcul pour la classe "non spam", puis comparer les deux probabilités pour faire une prédiction.


Un exemple de calcul de probabilité bayésienne

Voici un exemple simple de la manière dont ce calcul peut fonctionner dans la pratique :

Supposons que nous disposions d'un ensemble d'apprentissage de 100 courriers électroniques, dont 40 sont des spams et 60 ne le sont pas. Nous disposons également d'un vocabulaire de 1 000 mots que nous utiliserons comme caractéristiques d'entrée.

Pour entraîner le classificateur de Bayes naïf, nous commençons par compter le nombre d'occurrences de chaque mot dans chaque classe. Par exemple, nous pouvons constater que le mot "viagra" apparaît 20 fois dans les courriers électroniques non sollicités et 5 fois dans les courriers électroniques non sollicités. De même, l'expression "Cheap" revient 2 fois dans les cas de spam, et 1 fois dans les cas de non spam. Nous pouvons ensuite calculer les probabilités de chaque mot dans chaque classe en divisant ces chiffres par le nombre total d'occurrences dans chaque classe.

Voici un résumé des occurrences de mots clés et des probabilités "simples"

Nous pouvons aussi calculer les probabilités conditionnelles de la manière suivante:


Classification d'un nouveau mail reçu:

Supposons ensuite que nous recevions un nouvel e-mail contenant les mots "cheap viagra" et "offre limitée dans le temps". Nous pouvons calculer la probabilité que cet e-mail soit un spam en multipliant les probabilités de chaque mot dans la classe de spam, puis en les multipliant par la probabilité préalable de la classe de spam. Nous pouvons faire le même calcul pour la classe "non spam", puis comparer les deux probabilités pour faire une prédiction.


En appliquant la formule de Bayes:

Soit en faisant l'application numérique:


De la même manière, on peut calculer la probabilité pour que le message ne soit pas un spam, sachant "Viagra" et "Cheap". Dans ce cas, on trouve 0.11.


La probabilité finale pour que le mail soit un spam, se calcule par la formule suivante:

On peut procéder de même pour toutes les combinaisons de variables "Viagra" et "Cheap", ce qui donne le tableau de probabilité suivant:

Ces résultats appellent plusieurs commentaires. Tout d'abord, l'ajout de nouvelles variables prédictives ("Cheap") en plus de "Viagra" améliore la qualité de prédiction du classificateur, puisque la probabilité de spam passe de 80% à 92,31%, si le mot "Cheap" est trouvé en plus du mot "Viagra". De même, en cas d'absence des deux mots, la probabilité passe de 26,67% à 26%, même s'il s'agit d'un gain minime.


Les classificateurs naïfs de Bayes: des outils simples et très efficaces en pratique


Ces exemples montrent que les classificateurs de Bayes peuvent être des outils très efficaces en pratique, et sont souvent suffisamment performants. Si des niveaux de performances supérieurs sont attendus, il est possible d'étudier l'emploi d'autres méthodes, comme les "boosted trees".


Basedig propose des services d'analyse et de classification de données. N'hésitez pas à nous contacter en cas de besoin.




4 vues0 commentaire
bottom of page