Algorithme Bayes naïf dans l’apprentissage automatique
Algorithme de classificateur naïf de Bayes
Classifier est un algorithme d'apprentissage automatique qui classe les données dans une ou plusieurs « classes ». Le classificateur d'e-mails est un exemple de classificateur qui analyse les e-mails pour les filtrer par étiquette de classe : Spam ou Non Spam.
Naive Bayes Classifier dans l'apprentissage automatique est un apprentissage automatique supervisé pour les tâches de classification.
Naive Bayes est utilisé pour résoudre des problèmes de classification. Il prédit sur la base de la probabilité d’un objet. Naive Bayes est basé sur le théorème de Bayes et est principalement utilisé pour la classification de textes. Naive Bayes est un algorithme de classification probabiliste facile à mettre en œuvre et rapide à former.
Étant donné que le classificateur Naive Bayes est basé sur le théorème de Bayes, il est donc connu sous le nom de classificateur de probabilité. Il prédit en fonction de la probabilité d’un élément.
Raison d’être appelé Naïve Bayes ?
Le classificateur Naive Bayes a deux mots : Naive et Bayes. Pourquoi Navie ? Cet algorithme traite toutes les phrases de mots de la même manière. Par exemple, « Vous êtes » et « Êtes-vous » sont les mêmes pour cet algorithme. Cela ne dépend pas des fonctionnalités ou de l’occurrence des fonctionnalités. Si vous souhaitez identifier le fruit Apple, vous avez besoin d'une couleur rouge, d'une forme sphérique et d'un goût sucré pour le reconnaître comme une pomme. Cela signifie que ces fonctionnalités sont indépendantes les unes des autres.
- Le classificateur Naive Bayes suppose que les caractéristiques sont indépendantes les unes des autres. Comme cela est rarement possible dans les données réelles, le classificateur est appelé naïf.
- Cet algorithme de classification est basé sur le théorème de Bayes, connu sous le nom de Naive Bayes Classifier.
Théorème de Bayes naïf
Le théorème de Bayes est utilisé pour trouver la probabilité d'une hypothèse avec des probabilités conditionnelles dépendant de connaissances préalables. Ce théorème porte le nom de Thomas Bayes. Le classificateur naïf de Bayes fonctionne sur le principe de probabilité conditionnelle, tel que donné par le théorème de Bayes.
Pour comprendre le théorème de Bayes, regardons un exemple simple de classificateur bayésien naïf consistant à lancer deux pièces. Nous pouvons obtenir ces espaces échantillons en lançant deux pièces : {HH, HT, TH, TT}. Ainsi, les probabilités de ces événements seront :
- Obtenir deux têtes = 1/4
- Au moins une queue = 3/4
- La deuxième pièce étant face étant donné que la première pièce est queue = 1/2
- Obtenir deux faces étant donné la première pièce est une face = 1/2
Le théorème de Bayes calcule la probabilité qu'un événement se produise en fonction de la probabilité d'un événement différent ayant déjà eu lieu. La formule du théorème de Bayes est donnée par :
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B) Probabilité de même A lorsque même B s'est déjà produit. La probabilité P(B) ne doit pas être nulle.
- Vous devez trouver la probabilité de l’événement A, qui est donnée lorsque l’événement B (preuve) est vrai.
- P(A) est a priori (a priori, c'est-à-dire la probabilité d'un événement observé avant preuve) de A. Ici, l'événement B est la valeur d'une instance inconnue.
- P(A|B) est la probabilité a posteriori de l'événement B, c'est-à-dire la probabilité de l'événement après examen des preuves.
Exemple fonctionnel du classificateur Naïve Bayes
Prenons un exemple de shopping pour comprendre le fonctionnement du Bayes Naive Classifier. Dans cet ensemble de données, il existe un petit ensemble de données échantillon de 30 lignes pour cet exemple.
Ensemble de données
Le problème est de prédire si une personne achètera un produit sur une combinaison spécifique de jour, de remise et de livraison gratuite en utilisant le théorème naïf de Bayes.
Étape 1) Nous créerons des tableaux de fréquence pour chaque attribut en utilisant les types d'entrée mentionnés dans l'ensemble de données, tels que les jours, la remise et la livraison gratuite.
Soit l'événement « Acheter » noté « A » et les variables indépendantes, à savoir « Remise », « Livraison gratuite » et « Jour », notées « B ». Nous utiliserons ces événements et variables pour appliquer le théorème de Bayes.
Étape 2) Calculons maintenant les tables de vraisemblance une par une.
1 Exemple:
Sur la base de ce tableau de vraisemblance, nous calculerons les probabilités conditionnelles comme ci-dessous.
P(A) = P(No Buy) = 6/30 = 0.2 P(B) = P(Weekday) = 11/30 = 0.37 P(B/A) = P(Weekday / No Buy) = 2/6 = 0.33
Et trouvez P(A/B) en utilisant le théorème de Bayes,
P(A/B) = P(No Buy / Weekday) = P(Weekday / No Buy) * P(No Buy) / P(Weekday) = (2/6 * 6/30) / (11/30) = 0.1818
De même, si A est Acheter, alors
= P(Buy / Weekday) = P(Weekday / Buy) * P(Buy) / P(Weekday) = (9/24 * 24/30) / (11/30) = 0.8181
Remarque: Comme le P(Acheter | Weekday) est supérieur à P(No Buy | Weekday), nous pouvons conclure qu'un client achètera très probablement le produit un jour de semaine.
Étape 3) De même, nous pouvons calculer la probabilité d’occurrence d’un événement sur la base des trois variables. Nous allons maintenant calculer les tableaux de vraisemblance pour les trois variables en utilisant les tableaux de fréquence ci-dessus.
2 Exemple:
Désormais, à l'aide de ces trois tableaux de probabilité, nous allons calculer si un client est susceptible d'effectuer un achat en fonction d'une combinaison spécifique de « Jour », « Remise » et « Livraison gratuite ».
Ici, prenons une combinaison de ces facteurs :
- Jour = Jour férié
- Remise = Oui
- Livraison gratuite = Oui
Quand, A = Acheter
Calculez la probabilité conditionnelle d'achat sur la combinaison suivante de jour, de remise et de livraison gratuite.
Où B est :
- Jour = Jour férié
- Remise = Oui
- Livraison gratuite = Oui
Et A = Acheter
Par conséquent,
= P(A/B) = P(Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/Buy)) * P(Free Delivery=(Yes/Buy)) * P(Day=(Holiday/Buy)) * P(Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (19/24 * 21/24 * 8/24 * 24/30) / (20/30 * 23/30 * 11/30) = 0.986
Quand, A = Pas d'achat
De même, calculez la probabilité conditionnelle d’achat sur la combinaison suivante de jour, de remise et de livraison gratuite.
Où B est :
- Jour = Jour férié
- Remise = Oui
- Livraison gratuite = Oui
Et A = Pas d'achat
Par conséquent,
= P(A/B) = P(No Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/No Buy)) * P(Free Delivery=(Yes/No Buy)) * P(Day=(Holiday/No Buy)) * P(No Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (1/6 * 2/6 * 3/6 * 6/30) / (20/30 * 23/30 * 11/30) = 0.027
Étape 4) Par conséquent,
Probabilité d'achat = 0.986
Probabilité de non achat = 0.027
Enfin, nous avons des probabilités conditionnelles d’acheter ce jour-là. Généralisons maintenant ces probabilités pour obtenir la vraisemblance des événements.
- Somme des probabilités = 0.986 + 0.027 = 1.013
- Probabilité d'achat = 0.986 / 1.013 = 97.33 %
- Probabilité de aucun achat = 0.027 / 1.013 = 2.67 %
Notez que, puisque 97.33 % est supérieur à 2.67 %. Nous pouvons conclure que le client moyen achètera un jour férié avec une remise et une livraison gratuite.
Types de modèles naïfs de Bayes
Il existe de nombreux types de classificateurs Naive Bayes. Ici, nous avons discuté des classificateurs multinomiaux, Bernoulli et Gaussian Naive Bayes.
1. Bayes naïf multinomial
Ce type de modèle Naive Bayes est utilisé pour les problèmes de classification de documents. Il fonctionne avec des fonctionnalités qui représentent la fréquence des mots dans un document. Le classificateur prend en compte l'occurrence et le nombre de mots pour déterminer la probabilité qu'un document appartienne à une catégorie spécifique, telle que le sport, la politique ou la technologie.
2. Bernoulli Naïf Bayes
Ceci est similaire au multinomial Naive Bayes. Le classificateur Bernoulli Naive Bayes est utilisé pour les tâches de classification de documents. Cependant, il utilise des prédicteurs booléens. Il représente si un mot est présent ou non et prend uniquement les valeurs Oui ou Non. Le classificateur calcule les probabilités selon qu'un mot apparaît ou non dans le texte.
3. Bayes naïf gaussien
Ce classificateur est utilisé en cas de valeur continue mais pas de valeur discrète. Ce classificateur calcule les probabilités en utilisant les paramètres du Gaussienne distribution, c'est-à-dire moyenne et variance.
La formule de probabilité conditionnelle devient,
Avantages et limites du classificateur Naive Bayes
L’algorithme Naive Bayes présente divers avantages et inconvénients dans l’apprentissage automatique.
Avantages du classificateur Naive Bayes
- Simplicité et Efficacité : Naive Bayes est simple et facile à former et à mettre en œuvre. Il est efficace en raison de son faible coût de calcul. Il peut gérer efficacement de grands ensembles de données.
- Entraînement rapide et prédiction : Naive Bayes ne nécessite pas autant de données de formation en raison de l'indépendance entre les fonctionnalités. Il peut prédire rapidement une fois le modèle formé.
- Évolutivité: Naive Bayes peut gérer des ensembles de données de grande dimension avec un grand nombre de fonctionnalités. Il fonctionne bien même lorsque le nombre de fonctionnalités est supérieur au nombre d’exemples de formation. Il évolue en fonction du nombre de points de données et de prédicteurs. Il gère à la fois les données continues et discrètes.
- Robustesse face aux fonctionnalités non pertinentes : Il n'est pas sensible aux fonctionnalités non pertinentes.
- Fonctionne bien avec les petits ensembles d'entraînement : Naive Bayes peut fournir des résultats raisonnables même avec des données d'entraînement limitées. Il peut gérer des situations où le nombre d’instances de formation est faible. Cela ne nécessite pas autant de données de formation.
Limitation du classificateur Naive Bayes
Bayes naïfs dans machine learning suppose que toutes les fonctionnalités sont indépendantes les unes des autres. Ainsi, il ne peut pas apprendre les relations entre les différentes caractéristiques des données. Il traite chaque fonctionnalité comme si elle n’avait aucun rapport avec les autres.
Pour surmonter ce problème, vous pouvez utiliser Arbres de décision, forêts aléatoires, machines à vecteurs de support (SVM), réseaux de neurones, etc. Ces algorithmes ont la capacité d'apprendre des relations et des dépendances complexes entre les fonctionnalités des données. Ceux-ci peuvent donc prédire des résultats plus précis.
Applications du classificateur Naive Bayes
Cet algorithme étant rapide et efficace, vous pouvez l’utiliser pour faire des prédictions en temps réel.
Détection de spam
Services de messagerie (tels que Gmail) utilisent cet algorithme pour déterminer si un e-mail est du spam. Cet algorithme est excellent pour le filtrage du spam.
Analyse des sentiments
Il peut classer le texte comme positif, négatif ou neutre en fonction de caractéristiques telles que le choix des mots, la structure des phrases et le contexte. Il trouve des applications dans la surveillance des médias sociaux, les avis clients et les études de marché.
Classification du document
Il peut classer les documents en catégories telles que le sport, la politique, la technologie ou la finance, en fonction de la fréquence ou de la présence de mots ou de caractéristiques spécifiques dans le document.
Systèmes de recommandation
Il peut analyser les préférences des utilisateurs, les données historiques et les caractéristiques des articles pour prédire les intérêts ou les préférences des utilisateurs en matière de recommandation de produits, de films ou d'articles.
Cet algorithme de classificateur est également utilisé dans la reconnaissance faciale, la prévision météorologique, le diagnostic médical, les achats, la classification des actualités, etc. Vous pouvez implémenter Naive Bayes dans Python. Il existe le classificateur Naive Bayes sklearn, c'est-à-dire sklearn.naive_bayes. C'est le module qui implémente cet algorithme.
Conclusion
Les algorithmes Naive Bayes dans l'apprentissage automatique sont des classificateurs principalement utilisés dans la détection du spam, la classification des actualités, l'analyse des sentiments, les prévisions météorologiques, les achats, etc. Les algorithmes Naive Bayes sont basés sur le théorème de Bayes. Ce algorithme est simple et facile à mettre en œuvre. Comme il est rapide, nous pouvons l'utiliser dans des applications en temps réel. Son plus gros inconvénient est qu'il suppose des fonctionnalités indépendantes (étant donné que les fonctionnalités indépendantes sont rarement possibles dans la vie réelle, on l'appelle donc Naive). Il traite chaque fonctionnalité de la même manière. Pour surmonter cet inconvénient, vous pouvez utiliser d'autres classificateurs comme l'arbre de décision, la forêt aléatoire, la machine à vecteurs de support (SVM), etc.