Wdrożenie Naive Bayes

10

Wdrażam algorytm Naive Bayesa do kategoryzacji tekstu z wygładzaniem Laplaciana. Problem, który mam, polega na tym, że prawdopodobieństwo zbliża się do zera, ponieważ mnożę wiele małych ułamków. Dlatego prawdopodobieństwo ostatecznie daje zero. Jest tak, ponieważ w dokumentach i zestawach szkoleniowych znajduje się kilka słów.

Z tego powodu nie jestem w stanie kategoryzować tekstów. Czy istnieje sposób na obejście tego problemu? Czy robię coś złego w mojej realizacji?

sam
źródło
... Możesz uniknąć arytmetyki zmiennoprzecinkowej.
msdn.microsoft.com/en-us/magazine/jj891056.aspx Tutaj znajdziesz łatwą odpowiedź.
Roshan Mehta

Odpowiedzi:

14

logi=1npi=i=1nlogpi.

pp0[1,2)xp=p02x

Yuval Filmus
źródło
2
Warto również zwrócić uwagę na sztuczkę logsumexp w tym kontekście: en.wikipedia.org/wiki/LogSumExp
Bitwise