朴素贝叶斯混乱;

时间:2016-09-30 19:46:02

标签: machine-learning naivebayes

我正在为我的机器学习课程做作业,但我很难理解朴素贝叶斯的问题。我遇到的问题是下一页问题2的变体:

https://www.cs.utexas.edu/~mooney/cs343/hw3-old/hw3.html

我的数字略有不同,所以我会用上面的例子替换我的作业中的数字。我目前正试图弄清楚第一个文本是物理学的概率。为此,我有一些看起来像这样的东西:

P(物理学| c)= P(物理学)* P(碳物理学)* p(原子|物理学)* p(生命物理学​​)* p(物理学)/ [SOMETHING]

P(physics | c)=。35 * .005 * .1 * .001 * .005 / [SOMETHING]

我的基础是我在笔记中看到的一个例子,但我似乎无法弄清楚我应该分开的东西。我还将提供笔记中的例子。

example from notes

也许我会以错误的方式解决这个问题,但我不确定我们划分的P(X)术语来自何处。这与文本是物理学的概率有何关系?我觉得解决这个问题会使任务的其余部分变得简单。

2 个答案:

答案 0 :(得分:3)

分母P(X)只是所有可能类别的P(X|Y)*P(Y)的总和。

现在,重要的是要注意在Naive Bayes中,必须计算此P(X)。您只需为每个类计算P(X|Y)*P(Y),然后选择产生概率最高的类。

在你的情况下,我认为你必须有几个班级。您提到physics,但必须有其他人,例如chemistrymath

所以你可以计算:

P(physics|X)   = P(X|physics) * P(physics) / P(X)

P(chemistry|X) = P(X|chemistry) * P(chemistry) / P(X)

P(math|X)      = P(X|math) * P(math) / P(X)

P(X)是所有课程P(X|Y)*P(Y)的总和:

P(X) = P(X|physics)*P(physics) + P(X|chemistry)*P(chemistry) + P(X|math)*P(math)

(顺便说一句,上面的陈述完全类似于你提供的图像中的例子。这里的等式有点复杂,但是如果你重新排列它们,你会在那个例子中发现P(X) = P(X|positive)*P(positive) + P(X|negative)*P(negative) )。

要生成答案(即,在Yphysicschemistry中确定math),您需要在{{1}中选择最大值},P(physics|X)P(chemistry|X)

正如我所提到的,您需要计算P(math|X),因为此术语存在于P(X)P(physics|X)和{{}的所有分母中1}}。因此,您只需确定P(chemistry|X)P(math|X)P(X|physics)*P(physics)中的最大值。

答案 1 :(得分:1)

关键是你并不需要P(x)的值,因为它在所有类中都是相同的。所以你应该忽略它,只是比较除法步骤之前的数字。最高的数字是预测的等级。

它在等式中的原因源于贝叶斯规则:

P(C1|X) = P(X|C1) * P(C1) / P(X)