Implementierung von Naive Bayes

10

Ich implementiere einen Naive Bayes-Algorithmus für die Textkategorisierung mit Laplace-Glättung. Das Problem, das ich habe, ist, dass sich die Wahrscheinlichkeit Null nähert, weil ich viele kleine Brüche multipliziere. Daher ergibt die Wahrscheinlichkeit schließlich Null. Dies liegt daran, dass die Dokumente und Schulungssätze mehrere Wörter enthalten.

Aus diesem Grund kann ich die Texte nicht kategorisieren. Gibt es eine Möglichkeit, dieses Problem zu umgehen? Mache ich bei meiner Implementierung etwas falsch?

Sam
quelle
... Sie könnten Gleitkomma-Arithmetik vermeiden.
msdn.microsoft.com/en-us/magazine/jj891056.aspx Hier finden Sie eine einfache Antwort.
Roshan Mehta

Antworten:

14

logi=1npi=i=1nlogpi.

pp0[1,2)xp=p02x

Yuval Filmus
quelle
2
Es ist auch nützlich, den logsumexp-Trick in diesem Zusammenhang zu beachten: en.wikipedia.org/wiki/LogSumExp
Bitwise