【问题标题】:How to prevent underflow when calculating probabilities with the Naïve Bayes Classifier algorithm?使用朴素贝叶斯分类器算法计算概率时如何防止下溢?
【发布时间】:2021-05-22 02:03:52
【问题描述】:

我正在为我的数据挖掘课程研究朴素贝叶斯分类器算法,但是在计算概率时遇到了下溢问题。特定的数据集有大约 305 个属性,所以你可以想象,最终的概率会非常低。如何避免这个问题?

【问题讨论】:

    标签: classification probability data-mining naivebayes probability-distribution


    【解决方案1】:

    一种方法是处理概率的对数而不是概率本身。这个想法是你永远不要用概率计算,因为担心你会得到 0.0,而是用对数概率计算。

    大多数更改都很简单:例如,不是乘以概率,而是添加对数,对于许多分布(例如高斯),计算对数概率而不是概率很容易。

    唯一有点棘手的地方是您是否需要将概率相加。但这是一个众所周知的问题,搜索logsumexp 会得到很多点击,例如here。我相信有一个logsumexp函数int scipy。

    【讨论】:

    • 谢谢!我曾在几个不同的地方看到过 logsumexp,但您的解释和链接用足够简单的语言表达了我可以理解的内容!
    猜你喜欢
    • 2015-10-09
    • 2013-11-13
    • 2014-09-18
    • 2019-12-14
    • 2013-07-18
    • 2021-10-07
    • 2023-03-08
    • 2014-11-15
    • 2015-03-06
    相关资源
    最近更新 更多