Наивный байесовский классификатор математики - отсутствие точности в вычислительной технике - PullRequest
0 голосов
/ 25 марта 2012

Я говорил с кем-то о наивном байесовском классификаторе с математической точки зрения.Мы говорили о том, что, если вы умножите много вероятностей вместе, в конечном итоге примитивные типы, такие как float или double, не смогут сохранить результирующее значение, и оно просто превратится в ноль.

P (x1) * P (x2) * ... = число, слишком маленькое для компьютера = 0

Человек, с которым я говорил, сказал, что «обходным путем» будет взять журнал вероятностей и просто добавитьони вместе, вот так.

log (P (x1)) + log (P (x2)) + ...

Я понимаю преимущество взятия журнала вероятности, это увеличиваетвеличина числа, чтобы оно не «отвалилось», но как получается, что после этого вы можете просто сложить их вместе?Это так, что когда вы запускаете Наивный Байес, пока вы делаете это последовательно для всех классификационных «корзин», вы все равно можете найти самый лучший в конце дня?

Любые объяснения приветствуются.Спасибо,

MJ

1 Ответ

5 голосов
/ 25 марта 2012

Потому что log(a*b) = log(a) + log(b).Это свойство логарифмов.

...