Accueil
Thèmes
naive bayes
Le classificateur Bayes naïf est un algorithme de machine learning supervisé utilisé pour des tâches de classification telles que la classification de texte. Il utilise les principes de probabilité pour effectuer ces tâches de classification.
Le classificateur Bayes naïf fait partie d’une famille d’algorithmes d’apprentissage génératif, c’est-à-dire qu’il a pour but de modéliser la distribution des entrées d’une classe ou d’une catégorie donnée. Contrairement aux classificateurs discriminants, comme la régression logistique, il n’apprend pas les caractéristiques les plus importantes pour différencier les classes.
Découvrez les avantages qu’une stratégie de data lakehouse saura apporter à votre architecture de données, tels que la mise à l’échelle de l’IA et l’optimisation des coûts.
Le classificateur Bayes naïf est également considéré comme un classificateur probabiliste, car il est basé sur le théorème de Bayes. Il serait difficile d’expliquer cet algorithme sans expliquer les bases de la statistique bayésienne. Ce théorème, également connu sous le nom de règle de Bayes, nous permet « d’inverser » les probabilités conditionnelles. Pour rappel, les probabilités conditionnelles représentent la probabilité qu’un événement se produise sachant qu’un autre événement a eu lieu, ce qui est représenté par la formule suivante :
Le théorème de Bayes se distingue par son utilisation d’événements séquentiels, où des informations supplémentaires acquises ultérieurement ont un impact sur la probabilité initiale. Ces probabilités sont désignées par la probabilité a priori et la probabilité a posteriori. La probabilité a priori est la probabilité initiale d’un événement avant qu’une certaine condition n’intervienne dans son contexte, ou la probabilité marginale. La probabilité a posteriori est la probabilité d’un événement après l’observation d’une donnée.
Les tests médicaux sont un exemple fréquemment cité dans la littérature sur les statistiques et le machine learning (lien externe à ibm.com) pour illustrer ce concept. Imaginons par exemple qu’une personne nommée Jane passe un test pour déterminer si elle est atteinte de diabète. Supposons que la probabilité globale qu’un patient souffre de diabète soit de 5 % ; ce serait notre probabilité a priori. Mais si le résultat du test de Jane était positif, la probabilité a priori serait mise à jour pour tenir compte de ces informations supplémentaires, et elle deviendrait alors notre probabilité a posteriori. Cet exemple peut être représenté avec l’équation suivante, qui utilise le théorème de Bayes :
Cependant, il y a de fortes chances que nos probabilités a priori soient loin d’être exactes, car elles ne tiennent pas compte d’autres variables comme le régime alimentaire, l’âge, les antécédents familiaux, etc. C’est pourquoi nous nous appuyons généralement sur des distributions de probabilités provenant d’échantillons aléatoires, ce qui simplifie l’équation : P(Y|X) = P(X|Y)P(Y) / P(X)
Les classificateurs Bayers naïfs fonctionnent différemment dans la mesure où ils tiennent compte de quelques hypothèses clés, ce qui leur vaut ce qualificatif. Ils supposent que les prédicteurs d’un modèle Bayes naïf sont conditionnellement indépendants ou sans lien avec les autres caractéristiques du modèle. Ils supposent également que toutes les caractéristiques contribuent de manière égale au résultat. Bien que ces hypothèses soient souvent enfreintes dans des scénarios concrets (par exemple, le mot qui suit dans un e-mail dépend du mot qui le précède), cela simplifie la classification, car les variables du calcul sont plus faciles à manier. Autrement dit, une seule probabilité est désormais requise pour chaque variable, ce qui facilite le calcul du modèle. Malgré cette hypothèse d’indépendance irréaliste, l’algorithme de classification fonctionne bien, en particulier avec des échantillons de petite taille.
En gardant cette hypothèse à l’esprit, nous pouvons maintenant réexaminer de plus près les composants d’un classificateur Bayes naïf. Comme dans le théorème de Bayes, il utilise les probabilités conditionnelles et a priori pour calculer les probabilités a posteriori à l’aide de la formule suivante :
Imaginons maintenant un cas d’utilisation de classification de texte pour illustrer le fonctionnement de l’algorithme Bayes naïf. Prenons l’exemple d’un fournisseur de messagerie qui chercherait à améliorer son filtre antispam. Les données d’entraînement seraient constituées de mots tirés d’e-mails classés comme « spam » ou « non-spam ». À partir de là, les probabilités conditionnelles de la classe et les probabilités a priori sont calculées pour donner la probabilité a posteriori. Le classificateur Bayes naïf renverra la classe qui a la probabilité a posteriori maximale parmi un groupe de classes (c’est-à-dire « spam » ou « non-spam ») pour un e-mail donné. Ce calcul est représenté par la formule suivante :
Comme chaque classe fait référence au même texte, nous pouvons éliminer le dénominateur de cette équation, la simplifiant ainsi :
La précision de l’algorithme d’apprentissage basé sur le jeu de données d’entraînement est ensuite évaluée en fonction des performances du jeu de données de test.
Pour aller plus loin, intéressons-nous aux éléments individuels de cette formule. Les probabilités conditionnelles de classe sont les probabilités individuelles de l’apparition de chaque mot dans un e-mail. Ces dernières sont calculées en déterminant la fréquence de chaque mot dans chaque catégorie, c’est-à-dire « spam » ou « non-spam », que l’on appelle également l’estimateur du maximum de vraisemblance (MLE). Dans cet exemple, si nous examinions l’expression « Cher Monsieur », nous calculerions simplement la fréquence à laquelle ces mots apparaissent dans tous les e-mails classés comme spam et non-spam. Cette valeur peut être représentée par la formule ci-dessous, où y représente « Cher Monsieur » et x la catégorie « spam ».
Les probabilités a priori sont celles que nous avons décrites précédemment en expliquant le théorème de Bayes. Sur la base du jeu d’entraînement, nous pouvons calculer la probabilité globale qu’un e-mail soit du type « spam » ou « non-spam ». La probabilité a priori de l’étiquette de classe « spam » serait représentée par la formule suivante :
La probabilité a priori agit comme une « pondération » pour la probabilité conditionnelle de classe lorsque les deux valeurs sont multipliées entre elles, ce qui donne les probabilités a posteriori individuelles. À partir de là, l’estimateur du maximum a posteriori (MAP) est calculé pour attribuer une étiquette de classe (spam ou non-spam). L’équation naïve bayésienne finale peut être représentée comme suit :
Elle peut également être représentée dans l’espace logarithmique, car elle est couramment utilisée sous cette forme :
Pour évaluer votre classificateur, vous pouvez par exemple utiliser une matrice de confusion, qui représentera les valeurs réelles et prédites dans un tableau. Les lignes représentent généralement les valeurs réelles tandis que les colonnes représentent les valeurs prédites. De nombreux guides illustrent cette figure sous la forme d’une représentation 2 x 2, comme suit :
Toutefois, si vous prédisiez des images de 0 à 9, vous obtiendriez une représentation 10 x 10. Pour connaître le nombre de « confusions » des images 4 et 9 effectuées par le classificateur, il vous suffirait de regarder la 4e ligne et la 9e colonne.
Il existe plusieurs types de classificateurs Bayes naïfs. Les types les plus populaires varient en fonction de la distribution des valeurs de caractéristiques. En voici quelques exemples :
Tous ces éléments peuvent être mis en œuvre grâce à la bibliothèque Python Scikit Learn (lien externe à ibm.com) (également appelée sklearn).
Comme un certain nombre d’autres algorithmes, la classification naïve bayésienne appartient à une famille d’algorithmes de data mining qui transforment de grands volumes de données en informations utiles. Voici quelques applications de la classification naïve bayésienne :
IBM Cloud Pak for Data est une plateforme de données ouverte et extensible qui fournit une data fabric afin de rendre toutes les données disponibles pour l’IA et l’analytique, sur n’importe quel cloud.
Créez, exécutez et gérez des modèles d’IA. Préparez les données et créez des modèles sur n’importe quel cloud à l’aide d’un code open source ou de la modélisation visuelle. Faites des prédictions et optimisez vos résultats.
Passez à l'étape suivante pour commencer à opérationnaliser et à appliquer l'IA générative et le machine learning à votre entreprise.
Découvrez les concepts fondamentaux de l’IA et de l’IA générative, notamment le prompt engineering, les grands modèles de langage et les meilleurs projets open source.
Dans cet article, IBM Research démontre de manière empirique comment la diminution de l’entropie des distributions de caractéristiques conditionnelles de classe affecte l’erreur de classification naïve bayésienne.
En s’appuyant sur des simulations Monte Carlo, IBM Research montre que la classification naïve bayésienne fonctionne mieux dans deux cas : les caractéristiques complètement indépendantes et les caractéristiques fonctionnellement dépendantes.
Découvrez les bases de la résolution des problèmes de machine learning provenant de la classification et obtenez une étude comparative de certains des algorithmes les plus populaires du moment.
Utilisez scikit-learn pour effectuer une tâche de classification de texte courante (filtre antispam) à l’aide du classificateur Naive Bayes multinomial.