Ich habe kürzlich begonnen, Algorithmen zu verstehen, die mit der Verarbeitung natürlicher Sprache zu tun haben, und bin auf verschiedene Seiten gestoßen, die darauf hindeuten, dass Naive Bayes das XOR-Konzept nicht erfassen können. Erstens verstehe ich nicht, was genau das XOR-Problem ist. Kann jemand bitte erklären, was das XOR-Problem ist, wenn möglich mit einem einfachen Klassifizierungsbeispiel.Warum kann Naive Bayes XOR nicht lösen?
Antwort
Das XOR-Problem ist das einfachste Problem, das nicht linear trennbar ist. Stellen Sie sich vor, Sie haben zwei boolesche Variablen X und Y, und der Zielwert, den Sie "vorhersagen" wollen, ist das Ergebnis der XOR-Verknüpfung der beiden Variablen. Das heißt, nur wenn einer (aber nicht der andere) 1 ist, möchten Sie 1 als Ergebnis und andernfalls 0 vorhersagen. Ein bisschen mehr grafisch:
Y^
1 | XOR(x=0,y=1)=1 XOR(x=1,y=1)=0
|
0 | XOR(x=0,y=0)=0 XOR(x=1,y=0)=1
+------------------------------->
0 1 X
Wie Sie für die vier „Punkte“ meiner „plot“ sehen oben (X horizontal, Y vertikal, sich vorstellen die Kommata die „Punkte“ sind, wenn Sie mögen), Es gibt keine Möglichkeit, eine gerade Linie zu zeichnen, die die beiden Ergebnisse voneinander trennt (die beiden 1en oben links und unten rechts und die beiden 0en auch in gegenüberliegenden Ecken). So lineare Klassifikatoren, die die Klassentrennung mit geraden Linien modellieren, können Probleme dieser Art nicht lösen.
Jetzt, wie Naive Bayes, es Modelle unabhängige Ereignisse. Wenn nur X und Y gegeben sind, kann es die Verteilung von xs modellieren und es kann das ys modellieren, aber es modelliert keine Beziehung zwischen den beiden Variablen. Das heißt, um die XOR-Funktion zu modellieren, müsste der Klassifikator beide Variablen gleichzeitig beobachten. Nur eine Vorhersage basierend auf dem Zustand von X ohne Berücksichtigung des Zustands von Y (und umgekehrt) kann nicht zu einer geeigneten Lösung für dieses Problem führen. Daher ist der Naive Bayes Klassifikator auch ein linearer Klassifikator.
- 1. Schätzung Naive - Bayes Wahrscheinlichkeitsfunktion
- 2. interpretieren Naive Bayes Ergebnisse
- 3. TextBlob Naive Bayes Textklassifikation
- 4. Naive Bayes-Algorithmus python3.5.2
- 5. Naive Bayes Classifier Fehler
- 6. Implement Gaussian Naive Bayes
- 7. Python: Naive Bayes Filmkritik
- 8. Naive Bayes Classifier
- 9. Naive Bayes Klassifikator extrahierende Zusammenfassung
- 10. Entscheidungsbaum vs. Naive Bayes Klassifikator
- 11. Textklassifizierung. TFIDF und Naive Bayes?
- 12. Naive Bayes Klassifizierung in Python
- 13. Mit Naive Bayes neuen Werte
- 14. Text Spinner mit Naive Bayes
- 15. Algorithmus verstehen - multinomiale naive Bayes
- 16. Hashingvectorizer und Multinomial naive Bayes arbeiten nicht zusammen
- 17. Naive Bayes unsichtbare Funktionen Handhabung scikit lernen
- 18. Komplikation mit Log-Wahrscheinlichkeiten - Naive Bayes Textklassifizierer
- 19. Multinomiale Naive Bayes in bnlearn, Vorhersage Klärung
- 20. Kann ich SGD mit Multinomial Naive Bayes verwenden?
- 21. N-Gramm mit Naive Bayes Klassifikator
- 22. Machine Learning Naive Bayes Klassifizierer in Python
- 23. Naive Bayes Klassifikator mit binären Daten
- 24. spark-ml naive bayes Speichern auf hdfs
- 25. TextBlob Naive Bayes. höchste Wahrscheinlichkeit der Wahl
- 26. Wie kombiniere ich K-Means-Clustering mit Naive Bayes
- 27. Implementieren Naive Bayes für die Textklassifizierung mit Quanteda
- 28. Wie man Themenklassifikationszeit in Textblob Naive Bayes Classifier
- 29. funken 1.6.1 python 3.5.1 building naive bayes klassifizierer
- 30. SKLearn Naive Bayes: Funktion nach TFIDF-Vektorisierung hinzufügen
Mögliche Duplikate von [Bayesian Netzwerk gegen Bayes Klassifikator] (http://StackOverflow.com/Questions/12298150/Bayesian-Network-VS-Bayes-Classifier) – teppic
Related: http://www.aclweb.org/anthology /S/S16/S16-1148.pdf – alvas