【问题标题】:Classifying new instance with bayesian net使用贝叶斯网络对新实例进行分类
【发布时间】:2013-03-09 12:17:33
【问题描述】:

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

我想根据 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)

【问题讨论】:

    标签: machine-learning classification bayesian-networks


    【解决方案1】:

    所以,您想计算条件概率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) 并根据哪个概率更高做出预测。

    只是像你一样将数字相乘不会有帮助,甚至不会给你一个适当的概率,因为产品没有标准化。

    【讨论】:

    • 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
    • 谢谢,我试着解决它,并编辑了我的问题,你能看一下吗? :)
    猜你喜欢
    • 2013-07-19
    • 2012-06-26
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 2013-09-11
    • 2012-08-31
    • 2021-10-12
    相关资源
    最近更新 更多