Je lisais aujourd'hui la classification Naive Bayes. J'ai lu, sous le titre d' estimation des paramètres avec l'ajout de 1 lissage :
Soit référence à une classe (telle que positive ou négative), et référence à un jeton ou à un mot.
L'estimateur du maximum de vraisemblance pour est
Cette estimation de pourrait être problématique car elle nous donnerait la probabilité pour les documents avec des mots inconnus. Une façon courante de résoudre ce problème consiste à utiliser le lissage de Laplace.
Soit V l'ensemble des mots de l'ensemble d'apprentissage, ajoutez un nouvel élément (pour inconnu) à l'ensemble des mots.
Définissez
où fait référence au vocabulaire (les mots de l'ensemble d'apprentissage).
En particulier, tout mot inconnu aura une probabilité
Ma question est la suivante: pourquoi nous embêtons-nous avec ce lissage de Laplace? Si ces mots inconnus que nous rencontrons dans l'ensemble de test ont une probabilité qui est évidemment presque nulle, c'est-à-dire, , à quoi bon les inclure dans le modèle? Pourquoi ne pas simplement les ignorer et les supprimer?
Réponses:
Vous avez toujours besoin de cette probabilité de sécurité intrinsèque.
Pour voir pourquoi considérer le pire des cas où aucun des mots de l'échantillon d'apprentissage n'apparaît dans la phrase de test. Dans ce cas, selon votre modèle, nous conclurions que la phrase est impossible mais qu'elle existe clairement créant une contradiction.
Un autre exemple extrême est la phrase test «Alex a rencontré Steve». où "rencontré" apparaît plusieurs fois dans l'exemple de formation, mais "Alex" et "Steve" ne le font pas. Votre modèle conclurait que cette affirmation est très probable, ce qui n'est pas vrai.
la source
Disons que vous avez formé votre classificateur Naive Bayes sur 2 classes, "Ham" et "Spam" (c'est-à-dire qu'il classe les e-mails). Par souci de simplicité, nous supposerons que les probabilités antérieures sont de 50/50.
Maintenant que vous avez un e - mail( w1, w2, . . . , wn) que vos taux de classificateur très fortement comme "Ham", dit P( Ha m | w1, w2, . . . wn) = .90 et P( Sp a m | w1, w2, . . wn) = .10
Jusqu'ici tout va bien.
Maintenant que vous avez un e - mail( w1, w2, . . . , wn, wn + 1) qui est exactement le même que l'e - mail ci - dessus , sauf qu'il ya un mot dans ce qui ne figure pas dans le vocabulaire . Par conséquent, comme le compte de ce mot est 0, P( Ha m | wn + 1) = P( Sp a m | wn + 1) = 0
Soudain,P( Ha m | w1, w2, . . . wn, wn + 1) = P( Ha m | w1, w2, . . . wn) ∗ P( Ha m | wn + 1) = 0 et P( Sp a m | w1, w2, . . wn, wn + 1) = P( Sp a m | w1, w2, . . . wn) ∗ P( Sp a m | wn + 1) = 0
Bien que le 1er e-mail soit fortement classé dans une classe, ce 2e e-mail peut être classé différemment en raison de la probabilité nulle de ce dernier mot.
Le lissage de Laplace résout ce problème en donnant au dernier mot une petite probabilité non nulle pour les deux classes, afin que les probabilités postérieures ne tombent pas soudainement à zéro.
la source
Cette question est assez simple si vous connaissez les estimateurs de Bayes, car c'est la conclusion directe de l'estimateur de Bayes.
Dans l'approche bayésienne, les paramètres sont considérés comme une quantité dont la variation peut être décrite par une distribution de probabilité (ou distribution antérieure).
Donc, si nous considérons la procédure de ramassage comme une distribution multinomiale, nous pouvons résoudre la question en quelques étapes.
Tout d'abord, définissez
Si nous supposons que la distribution antérieure depi est une distribution uniforme, nous pouvons calculer sa distribution de probabilité conditionnelle comme
nous pouvons trouver que c'est en fait la distribution de Dirichlet, et l'attente depi est
Une estimation naturelle depi est la moyenne de la distribution postérieure. On peut donc donner l'estimateur de Bayes de pi :
You can see we just draw the same conclusion as Laplace Smoothing.
la source
Disregarding those words is another way to handle it. It corresponds to averaging (integrate out) over all missing variables. So the result is different. How?
Assuming the notation used here:
Let say tokentk does not appear. Instead of using a Laplace smoothing (which comes from imposing a Dirichlet prior on the multinomial Bayes), you sum out tk which corresponds to saying: I take a weighted voting over all possibilities for the unknown tokens (having them or not).
But in practice one prefers the smoothing approach. Instead of ignoring those tokens, you assign them a low probability which is like thinking: if I have unknown tokens, it is more unlikely that is the kind of document I'd otherwise think it is.
la source
You want to know why we bother with smoothing at all in a Naive Bayes classifier (when we can throw away the unknown features instead).
The answer to your question is: not all words have to be unknown in all classes.
Say there are two classes M and N with features A, B and C, as follows:
M: A=3, B=1, C=0
(In the class M, A appears 3 times and B only once)
N: A=0, B=1, C=3
(In the class N, C appears 3 times and B only once)
Let's see what happens when you throw away features that appear zero times.
A) Throw Away Features That Appear Zero Times In Any Class
If you throw away features A and C because they appear zero times in any of the classes, then you are only left with feature B to classify documents with.
And losing that information is a bad thing as you will see below!
If you're presented with a test document as follows:
B=1, C=3
(It contains B once and C three times)
Now, since you've discarded the features A and B, you won't be able to tell whether the above document belongs to class M or class N.
So, losing any feature information is a bad thing!
B) Throw Away Features That Appear Zero Times In All Classes
Is it possible to get around this problem by discarding only those features that appear zero times in all of the classes?
No, because that would create its own problems!
The following test document illustrates what would happen if we did that:
A=3, B=1, C=1
The probability of M and N would both become zero (because we did not throw away the zero probability of A in class N and the zero probability of C in class M).
C) Don't Throw Anything Away - Use Smoothing Instead
Smoothing allows you to classify both the above documents correctly because:
Naive Bayes Classifiers In Practice
The Naive Bayes classifier in NLTK used to throw away features that had zero counts in any of the classes.
This used to make it perform poorly when trained using a hard EM procedure (where the classifier is bootstrapped up from very little training data).
la source
J'ai également rencontré le même problème en étudiant Naive Bayes.
Selon moi, chaque fois que nous rencontrons un exemple de test que nous n'avions pas rencontré pendant l'entraînement, la probabilité postérieure deviendra nulle.
Donc, en ajoutant le 1, même si nous ne nous entraînons jamais sur une caractéristique / classe particulière, la probabilité postérieure ne sera jamais 0.
la source
Matt vous avez raison vous soulevez un très bon point - oui Le lissage de Laplace est franchement un non-sens! Le simple fait de jeter ces caractéristiques peut être une approche valable, en particulier lorsque le dénominateur est également un petit nombre - il n'y a tout simplement pas suffisamment de preuves pour étayer l'estimation des probabilités.
J'ai une forte aversion pour résoudre tout problème via l'utilisation de certains ajustements arbitraires. Le problème ici, ce sont les zéros, la "solution" consiste simplement à "ajouter une petite valeur à zéro pour que ce ne soit plus zéro - MAGIQUE, le problème n'est plus". Bien sûr, c'est totalement arbitraire.
Votre suggestion d'une meilleure sélection de fonctionnalités pour commencer est une approche moins arbitraire et IME augmente les performances. De plus, Laplace Smoothing en conjonction avec des Bayes naïfs comme le modèle l'a d'après mon expérience aggrave le problème de granularité - c'est-à-dire le problème où la sortie des scores a tendance à être proche de 1,0 ou 0,0 (si le nombre de caractéristiques est infini, alors chaque score sera 1,0 ou 0,0 - c'est une conséquence de l'hypothèse d'indépendance).
Il existe maintenant d'autres techniques d'estimation des probabilités (autres que la vraisemblance maximale + le lissage de Laplace), mais elles sont massivement sous-documentées. En fait, il existe tout un domaine appelé la logique inductive et les processus d'inférence qui utilisent de nombreux outils de la théorie de l'information.
Ce que nous utilisons dans la pratique est la mise à jour d'entropie croisée minimale, qui est une extension de la mise à jour de Jeffrey où nous définissons la région convexe de l'espace de probabilité cohérente avec la preuve comme étant la région de telle sorte qu'un point dedans signifierait que l'estimation de vraisemblance maximale se situe dans le Déviation absolue attendue du point.
Cela a une belle propriété qui, à mesure que le nombre de points de données diminue, les estimations s'approchent en douceur de l'a priori - et donc leur effet dans le calcul bayésien est nul. Le lissage de Laplace, d'autre part, fait que chaque estimation approche le point d'entropie maximale qui peut ne pas être l'a priori et donc l'effet dans le calcul n'est pas nul et ne fera qu'ajouter du bruit.
la source