Verständnis von naiven Bayes: Berechnung der bedingten Wahrscheinlichkeiten


7

Nehmen wir für eine Aufgabe zur Stimmungsanalyse an, wir haben einige Klassen, die durch und Merkmale .cich

Wir können die bedingte Wahrscheinlichkeit jeder Klasse wie : wobei jedes Merkmal darstellt und die Klasse ist wir haben. Dann können wir empirisch Unsere Prioritäten für jede Klasse sind dann gegeben durch: wobei:

P.(c|wich)=P.(wich|c)P.(c)P.(wich)
wichc
P.(wich|c)=ncichnc
P.(wich)=nichn
P.(c)=ncn

n ist die Gesamtzahl der Features in allen Klassen.

ncich repräsentiert die Anzahl der Zählungen dieses Merkmals in Klasse .ichc

nc ist die Gesamtzahl der Features für die Klasse und

nich ist die Gesamtzahl der Features für alle Klassen.

Ist mein Verständnis der oben genannten richtig? dieser für jedes Wort gehe ich davon aus, dass die Wörter unabhängig sind, also multipliziere ich einfach jedes Wort in einem Dokument für eine bestimmte Klasse, dh um zu berechnen wobei die Anzahl der Wörter im Dokument ist. Ist das richtig?P.(c|wich)P.(c|wich),ichN.N.

Um die bedingte Wahrscheinlichkeit tatsächlich numerisch zu berechnen, würde es ausreichen, Folgendes zu tun:

P.(c|wich)=P.(wich|c)P.(c)P.(wich)=ncichncncnnnich=ncichnich

Der letzte Teil der Gleichung erscheint mir etwas verdächtig, da es viel zu einfach erscheint, für eine ziemlich komplexe Wahrscheinlichkeit zu berechnen.

Antworten:


4

Ihre Formel ist für ein korrekt , aber wenn Sie ein Dokument klassifizieren möchten, müssen Sie .wichP.(c|w1,,wN.)

Dann haben Sie

P.(c|w1,,wN.)=P.(c)P.(w1,,wN.|c)P.(w1,,wN.)=P.(c)ich=1N.P.(wich|c)P.(w1,,wN.)ich=1N.P.(c|wich)

wo die zweite Gleichung wegen der naiven Bayes-Annahme gilt.

Zu Klassifizierungszwecken können Sie ignorieren da es (angesichts der Daten) konstant ist. Die Formel ist immer noch einfach ("naiv"), vereinfacht sich aber nicht so sehr.P.(w1,,wN.)

Der letzte Teil der Gleichung erscheint mir etwas verdächtig, da es viel zu einfach erscheint, für eine ziemlich komplexe Wahrscheinlichkeit zu berechnen.

Beachten Sie, dass Naïve Bayes zwar für viele Anwendungen ein anständiger Klassifikator ist, die generierten Wahrscheinlichkeiten jedoch normalerweise nicht sehr repräsentativ sind.


Danke für deine Antwort. Warum kann dieses Ergebnis in tatsächlichen Programmen nicht erzielt werden? Ich habe viele Implementierungen von naiven Bayes gesehen und keine davon geht direkt, um ein Wort zu berechnen . ncich
user19241256

Ich bin mir nicht sicher, ob ich die Frage verstehe ... in irgendeiner Form würde es darauf ankommen, zu zählen. Kannst du ein Beispiel geben?
oW_
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.