我从数学的角度与某人讨论了朴素贝叶斯分类器。我们讨论的是如果将大量概率相乘,最终像float或double这样的原始类型将无法存储结果值,它只会变为零。
P(x1)* P(x2)* ... =计算机数量太小= 0
与我交谈过的人说,“解决方法”是记录概率,然后将它们加在一起。
log(P(x1))+ log(P(x2))+ ...
我理解获取概率日志的优势,它增加了数字的大小,使其不会“脱落”,但是如何在此之后将它们加在一起呢?是不是当你运行朴素贝叶斯时,只要你对所有分类“桶”一直这样做,你仍然可以在一天结束时找到最好的那个?
任何解释都表示赞赏。谢谢,
MJ
答案 0 :(得分:5)
因为log(a*b) = log(a) + log(b)
。它是对数的属性。