说我有以下贝叶斯网络:



我想在H = true或H = false上对新实例进行分类,
新实例看起来像像这样:Fl=true, A=false, S=true, and Ti=false

如何根据H对实例进行分类?

我可以通过乘以表中的概率来计算概率:

0.4 * 0.7 * 0.5 * 0.2 = 0.028

这对新实例是否为正实例H表示什么?

编辑
我将根据Bernhard Kausler的建议尝试计算概率:

这是贝叶斯的规则:
P(H|S,Ti,Fi,A) = P(H,S,Ti,Fi,A) / P(S,Ti,Fi,A)

计算分母:
P(S,Ti,Fi,A) = P(H=T,S,Ti,Fi,A)+P(H=F,S,Ti,Fi,A) = (0.7 * 0.5 * 0.8 * 0.4 * 0.3) + (0.3 * 0.5 * 0.8 * 0.4 * 0.3) =0.048

P(H,S,Ti,Fi,A) = 0.336

所以P(H|S,Ti,Fi,A) = 0.0336 / 0.048 = 0.7

现在我计算P(H=false|S,Ti,Fi,A) = P(H=false,S,Ti,Fi,A) / P(S,Ti,Fi,A)
我们已经有了P(S,Ti,Fi,A´. I's ´0.048的值。

P(H=false,S,Ti,Fi,A) =0.0144

所以P(H=false|S,Ti,Fi,A) = 0.0144 / 0.048 = 0.3

P(H=true,S,Ti,Fi,A)的概率最高。因此新实例将被分类为H = True

它是否正确?

加法:我们不需要计算P(H=false|S,Ti,Fi,A),因为它是1-P(H=true|S,Ti,Fi,A)

最佳答案

因此,您要计算条件概率P(H|S,Ti,Fi,A)。为此,您必须使用贝叶斯规则:

P(H|S,Ti,Fi,A) = P(H,S,Ti,Fi,A) / P(S,Ti,Fi,A)


哪里

P(S,Ti,Fi,A) = P(H=T,S,Ti,Fi,A)+P(H=F,S,Ti,Fi,A)


然后,您可以计算两个条件概率P(H = T | S,Ti,Fi,A)和P(H = F | S,Ti,Fi,A)并根据哪个概率更高进行预测。

只是将数字相乘就没有用,因为乘积未标准化,甚至没有给您适当的概率。

关于machine-learning - 用贝叶斯网络对新实例进行分类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15522950/

10-12 22:08