Implementación de Naive Bayes

10

Estoy implementando un algoritmo Naive Bayes para la categorización de texto con suavizado laplaciano. El problema que tengo es que la probabilidad se acerca a cero porque estoy multiplicando muchas fracciones pequeñas. Por lo tanto, la probabilidad finalmente produce cero. Esto se debe a que hay varias palabras dentro de los documentos y conjuntos de capacitación.

Debido a esto, no puedo categorizar los textos. ¿Hay alguna forma de evitar este problema? ¿Estoy haciendo algo mal en mi implementación?

sam
fuente
... Podría evitar la aritmética de coma flotante.
msdn.microsoft.com/en-us/magazine/jj891056.aspx Encuentra una respuesta fácil aquí.
Roshan Mehta

Respuestas:

14

logi=1npi=i=1nlogpi.

pp0[1,2)xp=p02x

Yuval Filmus
fuente
2
También es útil tener en cuenta el truco logsumexp en este contexto: en.wikipedia.org/wiki/LogSumExp
Bitwise