J'ai du mal à comprendre le processus de Naive Bayes, et je me demandais si quelqu'un pouvait l'expliquer avec un simple processus étape par étape en anglais. Je comprends qu'il faut des comparaisons par les temps survenus comme une probabilité, mais je n'ai aucune idée de la façon dont les données de formation sont liées à l'ensemble de données réel.
Veuillez me donner une explication du rôle joué par l'ensemble de formation. Je donne ici un exemple très simple pour les fruits, comme la banane par exemple
training set---
round-red
round-orange
oblong-yellow
round-red
dataset----
round-red
round-orange
round-red
round-orange
oblong-yellow
round-red
round-orange
oblong-yellow
oblong-yellow
round-red
Réponses:
Votre question, si je comprends bien, est divisée en deux parties, la première étant que vous avez besoin d'une meilleure compréhension du classificateur Naive Bayes et la deuxième étant la confusion entourant l'ensemble d'entraînement.
En général, tous les algorithmes d'apprentissage automatique doivent être formés pour des tâches d'apprentissage supervisé comme la classification, la prédiction, etc. ou pour des tâches d'apprentissage non supervisées comme le clustering.
Pendant l'étape de formation, les algorithmes sont enseignés avec un ensemble de données d'entrée particulier (ensemble de formation) afin que plus tard nous puissions les tester pour des entrées inconnues (qu'ils n'ont jamais vues auparavant) pour lesquelles ils peuvent classer ou prédire etc. (en cas de supervision apprentissage) en fonction de leur apprentissage. C'est sur cette base que la plupart des techniques d'apprentissage automatique comme les réseaux neuronaux, SVM, bayésien, etc.
Ainsi, dans un projet général d'apprentissage automatique, vous devez diviser votre ensemble d'entrée en un ensemble de développement (ensemble de formation + ensemble de test de développement) et un ensemble de test (ou ensemble d'évaluation). N'oubliez pas que votre objectif de base serait que votre système apprenne et classe de nouvelles entrées qu'il n'a jamais vues auparavant dans les ensembles de développement ou de test.
L'ensemble de test a généralement le même format que l'ensemble de formation. Cependant, il est très important que l'ensemble de test soit distinct du corpus de formation: si nous réutilisions simplement l'ensemble de formation comme ensemble de test, alors un modèle qui mémoriserait simplement son entrée, sans apprendre à généraliser à de nouveaux exemples, recevrait de manière trompeuse scores élevés.
En général, par exemple, 70% de nos données peuvent être utilisées comme cas d'ensemble de formation. N'oubliez pas non plus de partitionner l'ensemble d'origine dans les ensembles d'entraînement et de test au hasard .
J'en viens maintenant à votre autre question sur Naive Bayes.
Pour démontrer le concept de classification naïve de Bayes, considérons l'exemple ci-dessous:
Comme indiqué, les objets peuvent être classés comme
GREEN
ouRED
. Notre tâche est de classer les nouveaux cas à mesure qu'ils arrivent, c'est-à-dire de décider à quelle étiquette de classe ils appartiennent, en fonction des objets existants.Puisqu'il y a deux fois plus d'
GREEN
objets queRED
, il est raisonnable de croire qu'un nouveau cas (qui n'a pas encore été observé) est deux fois plus susceptible d'avoir une appartenanceGREEN
plutôt queRED
. Dans l'analyse bayésienne, cette croyance est connue comme la probabilité antérieure. Les probabilités antérieures sont basées sur l'expérience antérieure, dans ce cas, le pourcentageGREEN
etRED
objets, et souvent utilisés pour prédire les résultats avant qu'ils ne se produisent réellement.Ainsi, nous pouvons écrire:
Probabilité antérieure de
GREEN
:number of GREEN objects / total number of objects
Probabilité antérieure de
RED
:number of RED objects / total number of objects
Puisqu'il y a un total d'
60
objets,40
dont sontGREEN
et 20RED
, nos probabilités antérieures d'appartenance à une classe sont:Probabilité antérieure pour
GREEN
:40 / 60
Probabilité antérieure de
RED
:20 / 60
Après avoir formulé notre probabilité antérieure, nous sommes maintenant prêts à classer un nouvel objet (
WHITE
encercler dans le diagramme ci-dessous). Étant donné que les objets sont bien regroupés, il est raisonnable de supposer que plusGREEN
(ouRED
) d'objets au voisinage de X, plus les nouveaux cas appartiennent à cette couleur particulière. Pour mesurer cette probabilité, nous dessinons un cercle autour de X qui englobe un certain nombre (à choisir a priori) de points indépendamment de leurs étiquettes de classe. Ensuite, nous calculons le nombre de points dans le cercle appartenant à chaque étiquette de classe. À partir de cela, nous calculons la probabilité:D'après l'illustration ci-dessus, il est clair que la probabilité de
X
donnerGREEN
est plus petite que la probabilité deX
donnéRED
, car le cercle englobe l'1
GREEN
objet et3
RED
ceux. Donc:Bien que les probabilités antérieures indiquent que
X
peuvent appartenir àGREEN
(étant donné qu'il ya deux fois plus de parGREEN
rapport àRED
) la probabilité indique le contraire; que l'appartenance à une classe d'X
est -à-RED
(étant donné qu'il y a plus d'RED
objets dans les environs deX
queGREEN
). Dans l'analyse bayésienne, la classification finale est produite en combinant les deux sources d'information, c'est-à-dire l'a priori et la vraisemblance, pour former une probabilité postérieure en utilisant la règle dite de Bayes (nommée d'après le révérend Thomas Bayes 1702-1761).Enfin, nous classons X comme étant
RED
donné que son appartenance à la classe atteint la plus grande probabilité postérieure.la source
Je me rends compte que c'est une vieille question, avec une réponse établie. La raison pour laquelle je poste est que la réponse acceptée comporte de nombreux éléments de k-NN ( k -voisins les plus proches), un algorithme différent.
K-NN et NaiveBayes sont des algorithmes de classification. Conceptuellement, k-NN utilise l'idée de «proximité» pour classer de nouvelles entités. Dans k-NN, la «proximité» est modélisée avec des idées telles que la distance euclidienne ou la distance cosinusoïdale. En revanche, dans NaiveBayes, le concept de «probabilité» est utilisé pour classer de nouvelles entités.
Puisque la question concerne Naive Bayes, voici comment je décrirais les idées et les étapes à quelqu'un. Je vais essayer de le faire avec le moins d'équations possible et en anglais le plus simple possible.
Premièrement, la probabilité conditionnelle et la règle de Bayes
Avant que quelqu'un puisse comprendre et apprécier les nuances de Naive Bayes, il doit d'abord connaître quelques concepts connexes, à savoir l'idée de probabilité conditionnelle et la règle de Bayes. (Si vous connaissez ces concepts, passez à la section intitulée Se rendre à Naive Bayes )
Probabilité conditionnelle en anglais simple: Quelle est la probabilité que quelque chose se produise, étant donné que quelque chose d'autre s'est déjà produit.
Disons qu'il y a un résultat O. Et des preuves E. D'après la façon dont ces probabilités sont définies: La probabilité d'avoir à la fois le résultat O et la preuve E est: (probabilité d'occurrence) multipliée par la (probabilité de E étant donné que O est arrivé)
Un exemple pour comprendre la probabilité conditionnelle:
Disons que nous avons une collection de sénateurs américains. Les sénateurs pourraient être démocrates ou républicains. Ce sont aussi des hommes ou des femmes.
Si nous choisissons un sénateur complètement au hasard, quelle est la probabilité que cette personne soit une femme démocrate? La probabilité conditionnelle peut nous aider à répondre à cette question.
Probabilité de (démocrate et femme sénateur) = Prob (le sénateur est démocrate) multiplié par la probabilité conditionnelle d'être une femme étant donné qu'ils sont démocrates.
On pourrait calculer exactement la même chose, en sens inverse:
Comprendre la règle de Bayes
Conceptuellement, il s'agit d'un moyen de passer de P (Evidence | Known Outcome) à P (Outcome | Known Evidence). Souvent, nous savons à quelle fréquence certaines preuves particulières sont observées, compte tenu d'un résultat connu . Nous devons utiliser ce fait connu pour calculer l'inverse, pour calculer les chances que ce résultat se produise , compte tenu des preuves.
P (Résultat étant donné que nous connaissons certaines preuves) = P (Preuve étant donné que nous connaissons le Résultat) fois Prob (Résultat), mis à l'échelle par le P (Preuve)
L'exemple classique pour comprendre la règle de Bayes:
Maintenant, tout cela n'était qu'un préambule, pour arriver à Naive Bayes.
Se rendre à Naive Bayes
Jusqu'à présent, nous n'avons parlé que d'un élément de preuve. En réalité, nous devons prédire un résultat compte tenu de plusieurs preuves. Dans ce cas, les calculs deviennent très compliqués. Pour contourner cette complication, une approche consiste à «dissocier» plusieurs éléments de preuve et à traiter chacun des éléments de preuve comme indépendant. Cette approche est la raison pour laquelle on appelle cela des Bayes naïfs .
Beaucoup de gens choisissent de s'en souvenir comme:
Remarquez quelques éléments à propos de cette équation:
base rates
et constituent un moyen de mettre à l'échelle nos probabilités prédites.Comment appliquer NaiveBayes pour prédire un résultat?
Exécutez simplement la formule ci-dessus pour chaque résultat possible. Puisque nous essayons de classer , chaque résultat est appelé un
class
et il a unclass label.
Notre travail consiste à examiner les preuves, à considérer la probabilité qu'il s'agisse de cette classe ou de cette classe, et d'attribuer une étiquette à chaque entité. Encore une fois, nous adoptons une approche très simple: la classe qui a la plus forte probabilité est déclarée «gagnante» et cette étiquette de classe est attribuée à cette combinaison de preuves.Exemple de fruits
Essayons un exemple pour améliorer notre compréhension: le PO a demandé un exemple d'identification «fruit».
Disons que nous avons des données sur 1000 morceaux de fruits. Ils se trouvent être de la banane , de l' orange ou d' autres fruits . Nous connaissons 3 caractéristiques de chaque fruit:
Ceci est notre «ensemble d'entraînement». Nous l'utiliserons pour prédire le type de tout nouveau fruit que nous rencontrerons.
Nous pouvons pré-calculer beaucoup de choses sur notre collection de fruits.
Les probabilités dites "antérieures". (Si nous ne connaissions aucun des attributs du fruit, ce serait notre supposition.) Ce sont nos
base rates.
Probabilité de "preuves"
Probabilité de "vraisemblance"
Étant donné un fruit, comment le classer?
Disons que l'on nous donne les propriétés d'un fruit inconnu et qu'on nous a demandé de le classer. On nous dit que le fruit est long, doux et jaune. Est-ce une banane? Est-ce une orange? Ou s'agit-il d'un autre fruit?
Nous pouvons simplement exécuter les chiffres pour chacun des 3 résultats, un par un. Ensuite, nous choisissons la probabilité la plus élevée et «classons» nos fruits inconnus comme appartenant à la classe qui avait la probabilité la plus élevée sur la base de nos preuves antérieures (notre ensemble de formation de 1000 fruits):
Par une marge écrasante (
0.252 >> 0.01875
), nous classons ce fruit doux / long / jaune comme susceptible d'être une banane.Pourquoi Bayes Classifier est-il si populaire?
Regardez à quoi cela revient finalement. Juste quelques comptages et multiplications. Nous pouvons pré-calculer tous ces termes, et ainsi la classification devient facile, rapide et efficace.
Let z = 1 / P(evidence).
Maintenant, nous calculons rapidement les trois quantités suivantes.Attribuez le libellé de classe de celui qui est le plus élevé, et vous avez terminé.
Malgré son nom, Naive Bayes s'avère excellent dans certaines applications. La classification de texte est un domaine où elle brille vraiment.
J'espère que cela vous aidera à comprendre les concepts derrière l'algorithme Naive Bayes.
la source
Ram Narasimhan a très bien expliqué le concept ci-dessous est une explication alternative à travers l'exemple de code de Naive Bayes en action
Il utilise un exemple de problème de ce livre à la page 351
Ceci est l'ensemble de données que nous utiliserons dans l'ensemble de données ci-dessus si nous donnons l'hypothèse = alors quelle est la probabilité qu'il achètera ou n'achètera pas un ordinateur. Le code ci-dessous répond exactement à cette question. Créez simplement un fichier nommé et collez le contenu suivant.
{"Age":'<=30', "Income":"medium", "Student":'yes' , "Creadit_Rating":'fair'}
new_dataset.csv
Voici le code les commentaires expliquent tout ce que nous faisons ici! [python]
production:
J'espère que cela aide à mieux comprendre le problème
paix
la source
Naive Bayes: Naive Bayes relève de la supervision de l'apprentissage automatique qui faisait autrefois la classification des ensembles de données. Il est utilisé pour prédire les choses en fonction de ses connaissances antérieures et de ses hypothèses d'indépendance.
Ils appellent ça naïf parce que ses hypothèses (il suppose que toutes les fonctionnalités de l'ensemble de données sont également importantes et indépendantes) sont vraiment optimistes et rarement vraies dans la plupart des applications du monde réel.
C'est l'algorithme de classification qui prend la décision pour l'ensemble de données inconnu. Il est basé sur le théorème de Bayes qui décrit la probabilité d'un événement en fonction de ses connaissances antérieures.
Le diagramme ci-dessous montre comment fonctionne Bayes naïf
Formule pour prédire NB:
Comment utiliser l'algorithme Naive Bayes?
Prenons un exemple de la façon dont les woks NB
Étape 1: Tout d'abord, nous découvrons la probabilité de tableau qui montre la probabilité de oui ou non dans le diagramme ci-dessous. Étape 2: Trouvez la probabilité postérieure de chaque classe.
Pour plus de référence, reportez-vous à ce blog.
Reportez-vous à GitHub Repository Naive-Bayes-Examples
la source
J'essaie d'expliquer la règle de Bayes avec un exemple.
Quelle est la chance qu'une personne choisie au hasard dans la société soit un fumeur?
Vous pouvez répondre à 10%.
Maintenant, si la personne est un homme et 15 vieux ans?
Ce ne peut pas être 60%, alors que nous savons que le pourcentage de fumeurs était très faible. Il ne peut pas non plus être inférieur à 10%. 15 ou 20% sont de meilleures suppositions.
En fait, nous essayons de mettre à jour la supposition initiale avec de nouveaux éléments de preuve (
P(smoker) vs. P(smoker | evidence)
). La règle de Bayes est un moyen de connecter ces deux probabilités.Chaque preuve peut augmenter ou diminuer cette chance. Par exemple, le fait qu'il soit un homme peut augmenter les chances, à condition que ce pourcentage (étant un homme) parmi les non-fumeurs soit plus faible. En d'autres termes, être un homme doit être un bon indicateur d'être un fumeur plutôt qu'un non-fumeur.
Nous pouvons également montrer cette contribution d'une autre manière. Pour chaque entité, vous pouvez comparer la commune (probabilité) de cette entité dans les conditions données avec sa commune seule. (
P(f | x) vs. P(f))
.Par exemple, si nous savons que 90% des fumeurs sont des hommes, il ne suffit pas encore de dire si être un homme est un indicateur de fumeur ou non. Par exemple, si la probabilité d'être un homme dans la société est également de 90%, alors savoir que quelqu'un est un homme ne nous aide pas
((90% / 90%) = 1
. Mais si les hommes contribuent à 40% de la société, mais à 90% des fumeurs, alors savoir que quelqu'un est un homme augmente les chances d'être fumeur(90% / 40%) = 2.25
, donc cela augmente la supposition initiale (10%) de 2,25, soit 22,5%.Cependant, si la probabilité d'être un homme était de 95% dans la société, alors indépendamment du fait que le pourcentage d'hommes parmi les fumeurs est élevé (90%)! la preuve que quelqu'un est un homme diminue les chances qu'il soit fumeur!
(90% / 95%) = 0.95)
.Donc nous avons:
Notez que dans cette formule nous avons supposé qu'être un homme et avoir moins de 20 ans sont des caractéristiques indépendantes, nous les avons donc multipliées, cela signifie que savoir que quelqu'un a moins de 20 ans n'a aucun effet sur le fait de deviner qu'il est un homme ou une femme. Mais ce n'est peut-être pas vrai, par exemple peut-être que la plupart des adolescents dans une société sont des hommes ...
Pour utiliser cette formule dans un classificateur
Le classificateur est donné avec certaines caractéristiques (être un homme et avoir moins de 20 ans) et il doit décider s'il est fumeur ou non (ce sont deux classes). Il utilise la formule ci-dessus pour calculer la probabilité de chaque classe sous la preuve (caractéristiques), et il affecte la classe avec la probabilité la plus élevée à l'entrée. Pour fournir les probabilités requises (90%, 10%, 80% ...) il utilise l'ensemble d'apprentissage. Par exemple, il compte les personnes de l'ensemble de formation qui sont des fumeurs et découvrent qu'elles contribuent à 10% de l'échantillon. Ensuite, pour les fumeurs, vérifie combien d'entre eux sont des hommes ou des femmes .... combien sont au-dessus de 20 ou moins de 20 .... En d'autres termes, il essaie de construire la distribution de probabilité des caractéristiques pour chaque classe en fonction de la formation Les données.
la source