Machine learning 用贝叶斯网对新实例进行分类

Machine learning 用贝叶斯网对新实例进行分类,machine-learning,classification,bayesian-networks,Machine Learning,Classification,Bayesian Networks,假设我有以下贝叶斯网络: 我想将一个新实例分类为H=true还是H=false, 新实例如下所示:Fl=true、A=false、S=true和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) 要计算分母

假设我有以下贝叶斯网络:

我想将一个新实例分类为H=true还是H=false, 新实例如下所示:
Fl=true、A=false、S=true和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(hs,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'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(H=T | S,Ti,Fi,A)和p(H=F | 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(H=T | S,Ti,Fi,A)和p(H=F | S,Ti,Fi,A),并根据哪个概率更高进行预测


像你那样把数字相乘是没有用的,甚至不能给你一个正确的概率,因为乘积不是标准化的。

是把每个概率相乘来计算p(H,S,Ti,Fi,a)?-->p(H)*p(S)*…?@user1291235是的,但是你当然只能对随机变量的某些实例进行计算,例如p(H=T,S=T,Ti=T,Fi=T,A=T)=0.7*0.8*0.8*0.4*0.3谢谢你,我试图解决它,并编辑了我的问题,你能看一下吗?:)是P(H,S,Ti,Fi,A)通过乘以每个概率计算出来的吗?->P(H)*P(S)*…?@user1291235是的,但你当然只能计算随机变量的某些实例,例如P(H=T,S=T,Ti=T,Fi T,A=T)=0.7*0.8*0.8*0.4*0.3谢谢你,我试着解决它,编辑了我的问题,你能看一下吗?:)