Comment Naive Bayes est-il un classificateur linéaire?


31

J'ai vu l'autre fil ici, mais je ne pense pas que la réponse ait satisfait la question réelle. Ce que j'ai continuellement lu, c'est que Naive Bayes est un classificateur linéaire (ex: ici ) (tel qu'il trace une frontière de décision linéaire) en utilisant la démonstration des cotes logarithmiques.

Cependant, j'ai simulé deux nuages ​​gaussiens et ajusté une frontière de décision et obtenu les résultats en tant que tels (bibliothèque e1071 dans r, en utilisant naiveBayes ()) 1- Vert, 0 - Rouge

Comme nous pouvons le voir, la frontière de décision est non linéaire. Essaie-t-il de dire que les paramètres (probabilités conditionnelles) sont une combinaison linéaire dans l'espace logarithmique plutôt que de dire que le classificateur lui-même sépare les données de façon linéaire?


comment avez-vous créé la frontière de décision? Je soupçonne que cela a à voir avec votre routine d'adaptation plutôt qu'avec la véritable limite de décision du classificateur. normalement, on générerait une frontière de décision en calculant la décision à chaque point de votre quadrant.
seanv507

C'est ce que j'ai fait, j'ai pris les deux gammes de X = [Min (x), Max (x)] et Y = [Min (Y), Max (Y)] avec un espacement de 0,1. J'ai ensuite ajusté tous ces points de données avec le classificateur formé et trouvé des points tels que les cotes du journal se situaient entre -0,05 et 0,05
Kevin Pei

Réponses:


30

En général, le classificateur Bayes naïf n'est pas linéaire, mais si les facteurs de vraisemblance sont issus de familles exponentielles , le classificateur Bayes naïf correspond à un classificateur linéaire dans un espace d'entités particulier. Voici comment voir cela.p(Xjec)

Vous pouvez écrire n'importe quel classificateur Bayes naïf comme *

p(c=1X)=σ(jebûchep(Xjec=1)p(Xjec=0)+bûchep(c=1)p(c=0)),

où est la fonction logistique . Si est issu d'une famille exponentielle, on peut l'écrire commep ( x ic )σp(Xjec)

p(Xjec)=hje(Xje)exp(ujecϕje(Xje)-UNEje(ujec)),

et donc

p(c=1X)=σ(jewjeϕje(Xje)+b),

wje=uje1-uje0,b=bûchep(c=1)p(c=0)-je(UNEje(uje1)-UNEje(uje0)).

Notez que ceci est similaire à la régression logistique - un classifieur linéaire - dans l'espace d'entité défini par le . Pour plus de deux classes, nous obtenons de manière analogue une régression logistique multinomiale (ou softmax) .ϕje

Si est gaussien, alors et nous aurions dû ϕ i ( x i ) = ( x i , x 2 i ) w i 1p(Xjec)ϕje(Xje)=(Xje,Xje2)

wje1=σ1-2μ1-σ0-2μ0,wje2=2σ0-2-2σ1-2,bje=bûcheσ0-bûcheσ1,

en supposant que .p(c=1)=p(c=0)=12


* Voici comment dériver ce résultat:

p(c=1x)=p(xc=1)p(c=1)p(xc=1)p(c=1)+p(Xc=0)p(c=0)=11+p(Xc=0)p(c=0)p(Xc=1)p(c=1)=11+exp(-bûchep(Xc=1)p(c=1)p(Xc=0)p(c=0))=σ(jebûchep(Xjec=1)p(Xjec=0)+bûchep(c=1)p(c=0))

Merci pour la dérivation, que je comprends maintenant, pouvez-vous expliquer les notations dans l'équation 2 et ci-dessous? (u, h (x_i), phi (x_i), etc.) P (x_i | c) est-il sous une famille exponentielle prenant simplement la valeur du pdf?
Kevin Pei

Il existe différentes manières d'exprimer une seule et même distribution. La deuxième équation est une distribution de famille exponentielle sous forme canonique. De nombreuses distributions sont des familles exponentielles (gaussienne, Laplace, Dirichlet, Bernoulli, binôme, pour n'en nommer que quelques-unes), mais leur fonction densité / masse n'est généralement pas donnée sous forme canonique. Vous devez donc d'abord re-paramétrer la distribution. Ce tableau vous explique comment calculer (paramètres naturels) et (statistiques suffisantes) pour diverses distributions: en.wikipedia.org/wiki/Exponential_family#Table_of_distributionsuϕ
Lucas

1
Notez le point important que . Cela signifie que les classificateurs linéaires sont une combinaison linéaire de poids et de fonctions potentiellement non linéaires des entités! Ainsi, au point de l'affiche originale, un tracé des points de données peut ne pas montrer qu'ils sont séparables par une ligne. ϕ(X)=(X,X2)w
RMurphy

Je trouve cette réponse trompeuse: comme indiqué dans le commentaire à peu près, et la réponse juste en dessous, le Bayes naïf gaussien n'est pas linéaire dans l'espace des caractéristiques d'origine, mais dans une transformation non linéaire de ceux-ci. Il ne s'agit donc pas d'un classificateur linéaire conventionnel.
Gael Varoquaux

pourquoi est gaussien, alors ? Je pense que la statistique suffisante pour la distribution gaussienne devrait être . p(Xje|c)ϕje(Xje)=(Xje,Xje2)T(X)X/σ
Naomi

8

Il n'est linéaire que si les matrices de variance conditionnelle de classe sont les mêmes pour les deux classes. Pour voir cela, notez la ration des logarithmes postérieurs et vous n'en obtiendrez une fonction linéaire que si les variances correspondantes sont les mêmes. Sinon, c'est quadratique.


3

Je voudrais ajouter un point supplémentaire: la raison d'une partie de la confusion réside dans ce que signifie effectuer la "classification Naive Bayes".

Sous le thème général de "l'analyse discriminante gaussienne (GDA)", il existe plusieurs techniques: QDA, LDA, GNB et DLDA (DA quadratique, DA linéaire, bayes naïfs gaussiennes, LDA diagonale). [MISE À JOUR] LDA et DLDA doivent être linéaires dans l'espace des prédicteurs donnés. (Voir, par exemple, Murphy , 4.2, p. 101 pour DA et p. 82 pour NB. Remarque: GNB n'est pas nécessairement linéaire. NB discret (qui utilise une distribution multinomiale sous le capot) est linéaire. Vous pouvez également consulter Duda , Hart & Stork section 2.6). QDA est quadratique comme d'autres réponses l'ont souligné (et je pense que c'est ce qui se passe dans votre graphique - voir ci-dessous).

Σc

  • Σc
  • Σc=Σ
  • Σc=jeunegc
  • Σc=jeuneg

Bien que les documents pour e1071 prétendent qu'il suppose une indépendance conditionnelle de classe (c'est-à-dire GNB), je soupçonne qu'il fait réellement QDA. Certaines personnes confondent «Bayes naïfs» (faisant des hypothèses d'indépendance) avec «règle de classification bayésienne simple». Toutes les méthodes GDA sont dérivées de la dernière; mais seuls GNB et DLDA utilisent le premier.

Un gros avertissement, je n'ai pas lu le code source e1071 pour confirmer ce qu'il fait.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.