【问题标题】:Calculation of probabilities in Naive Bayes in C#在 C# 中计算朴素贝叶斯的概率
【发布时间】:2013-07-18 10:10:02
【问题描述】:

我正在研究 C# 的朴素贝叶斯解决方案,其中有两种可能的结果。我找到了一个小示例代码,但想知道是否有人能够解释最后一行。

分析器正在寻找一个词属于两个类别之一的概率

cat1count 是在类别 1 中找到的单词数(如果在类别 1 中找到 2 次,则为 2 / 在类别 1 中的总字数)

cat1total = 类别 1 的总字数

据我了解,bw 是该词属于第 1 类的概率,gw 是该词属于第 2 类的概率

pwfw 是我开始迷失的地方。完整的源代码可以在here找到。

        float bw = cat1count / cat1total;
        float gw = cat2count / cat2total;
        float pw = ((bw) / ((bw) + (gw)));
        float
            s = 1f,
            x = .5f,
            n = cat1count + cat2count;
        float fw = ((s * x) + (n * pw)) / (s + n);

fw 是什么?我知道bwgwpw 是什么。

【问题讨论】:

  • bw、fw、pw 是存储 cat1count、cat1total 值的变量,您可能想发布您的源代码,这样会更有帮助吗?
  • 不是答案,但如果除法 cat1count / cat1total 是两个 int 的商,这应该给出非整数 float 结果。
  • 如果您了解bwgwpw 是什么,请您分享一下您的理解,这样我们就不必自己解决了?
  • 抱歉,我不能提供更多相关信息。
  • 分析器正在寻找一个词属于两个类别的 1 的概率 cat1count 是在类别 1 中找到的词的数量(如果该词在类别 1 中被找到 2 次,则为 2 / 总词在第 1 类中) cat1total = 据我了解的第 1 类中的单词总数,bw 是该单词属于第 1 类的概率,gw 是该单词属于第 2 类的概率 pw 和 fw 是我开始了解的地方丢失完整的源代码可以在这里找到github.com/joelmartinez/nBayes/blob/master/nBayes/Analyzer.cs

标签: c# math machine-learning probability


【解决方案1】:

对于正在分析的文本(例如推文)中的每个特定单词w,都会一遍又一遍地调用此代码。所有变量都是使用频率估计的条件概率。

bw 是单词w 被看到的概率,因为该单词是第 1 类文本

gw 是单词w 被看到的概率,因为该单词是第 2 类文本

pw 重新调整bw 的概率,以便罕见词与常见词的比例相似(数学上,除法表明pw 是条件概率)

fw 只是移动比例,使pw 不能为零(或一)。因此,例如,pw=0n=10fw = ((1 * 0.5) + (10 * 0)) / (1 + 10) = 0.045。 (一般来说,理解这段代码的一个好方法是玩一些不同的数字,看看会发生什么。)

在朴素贝叶斯中,您可能知道,条件概率是相乘的(在这种情况下,通过您指向我的 github Analyzer.cs file 中的 LogProbability 函数),所以如果你有一个零,你就有麻烦了乘法中任何地方的条件概率,因为最终结果将为零。因此,通常的做法是用一个小数字代替零,这就是fw 的目的。

【讨论】:

  • 非常感谢您的澄清,这正是我想知道的。完美的解释,只有一个问题,如果 pw 为 0 是否表示 w 在任一类别中均未出现,更改数字或 1 * 0.5 也会产生任何影响或只是扭曲结果。
  • @ricsh 很高兴,我学到了一些东西。当pw=0 时,bw=0 也必须为真,即在给定单词属于第 1 类文本的情况下,看到该单词的相对概率和绝对概率都为零。注意:如果在任一类别中都没有看到该单词,则 cat1total=cat2total=0 并且在计算 pw 时会出现被零除的异常(因此,每个单词至少出现在一个文本中)。要了解更改 sx 的作用,最好的办法可能是尝试使用一些不同的数字运行代码。稍微改变一下可能不会有很大的影响。
猜你喜欢
  • 2015-10-09
  • 2013-11-13
  • 1970-01-01
  • 2014-01-13
  • 2021-03-05
  • 2013-08-06
  • 2021-10-07
  • 2016-02-05
  • 2018-08-05
相关资源
最近更新 更多