朴素贝叶斯困惑;

我在学习机器学习课程的作业时,遇到关于朴素贝叶斯的问题理解困难。我的问题是以下页面上第二个问题的变体:

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

我的数据与上面略有不同,所以我会用上面的例子来替换我的作业中的数字。我目前正在尝试计算第一篇文本是物理学的概率。为此,我有类似这样的东西:

P(physics|c) = P(physics) * P(carbon|physics) * p(atom|physics) * p(life|physics) * p(earth|physics) / [SOMETHING]

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

我这是基于我在笔记中看到的一个例子,但似乎无法弄清楚应该除以什么。我也会提供笔记中的例子。

笔记中的例子

也许我的方法是错误的,但我不知道我们除以的P(X)项是从哪里来的。这与文本是物理学的概率有什么关系?我觉得解决这个问题会使作业的其余部分变得简单。


回答:

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

现在,需要注意的是,在朴素贝叶斯中,你不需要计算这个 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))。

为了得出答案(即在 physicschemistrymath 中确定 Y),你将选择 P(physics|X)P(chemistry|X)P(math|X) 中的最大值。

正如我提到的,你不需要计算 P(X),因为这个项存在于 P(physics|X)P(chemistry|X)P(math|X) 的分母中。因此,你只需要在 P(X|physics)*P(physics)P(X|chemistry)*P(chemistry)P(X|math)*P(math) 中确定最大值即可。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注