说我有以下贝叶斯网络:
我想在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/