贝叶斯网络(Belief Networks)--模型及方法

贝叶斯网络(Belief Networks)在概率图模型中,贝叶斯网络通常用来表示变量之间的独立性假设,通过贝叶斯网络,我们可以很容易的从中获取我们想要的信息,比如概率的条件和边缘独立信息,但是单纯的贝叶斯网络不能刻画变量间所有的关系,然而贝叶斯网络很擅长描述变量间的因果关系(causal)注明: 此文章大部分思想和例子参考Bayesian Reasoning and Machine Learn
摘要由CSDN通过智能技术生成

贝叶斯网络(Belief Networks)

在概率图模型中,贝叶斯网络通常用来表示变量之间的独立性假设,通过贝叶斯网络,我们可以很容易的从中获取我们想要的信息,比如概率的条件和边缘独立信息,但是单纯的贝叶斯网络不能刻画变量间所有的关系,然而贝叶斯网络很擅长描述变量间的因果关系(causal)

注明:

此文章大部分思想和例子参考Bayesian Reasoning and Machine Learning

关于贝叶斯基本原理,可参考文章数学之美番外篇:平凡而又神奇的贝叶斯方法

关于贝叶斯网络的优点:

  • 简化模型表达方式
  • 相比于传统的计算方式更加易于计算

模型的独立性问题

假设我们有这样一个例子:
有一天早晨,Bruce离开他的房子的时候发现他家花园中的草地是湿的,有两种可能,第一:昨天晚上下雨了,第二:他昨天晚上忘记关掉花园中的喷水器,接下来,他观察他的邻居Joe,发现他家花园中的草地也是湿的,因此,他推断,他家的草地湿了是因为昨天晚上下雨的缘故
我们可以通过模型来刻画这样的事件:

R{ 0,1} R=1表示下雨0表示没有
S{ 0,1} S=1表示Bruce忘记关喷水器0表示没有忘
J{ 0,1} J=1表示Joe家里的花园草地也湿了0表示没有
B{ 0,1} T=1表示Bruce的花园草地湿了0表示没有

在这里,有四个变量,每一个变量有两种状态属性0和1,如果要全部表示出来所有的可能性,需要 24=16 种方式,e.g. p(T=1,J=0,R=1,S=1)=0.7 etc. 根据贝叶斯法则,我们可以得到如下公式:

p(B,J,R,S)=p(B|J,R,S)p(J,R,S)=p(B|J,R,S)p(J,R,S)=p(B|J,R,S)p(J|R,S)p(R,S)=p(B|J,R,S)p(J|R,S)p(R|S)p(S)
  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个基于Python实现贝叶斯信念网络模型,并能对鸢尾花数据进行分类的示例代码。请确保已经安装了以下三个库:numpy、scikit-learn和bayesian-belief-networks。 ```python from sklearn.datasets import load_iris from bbnet.bn import build_bbn # 引入贝叶斯信念网络模型 from bbnet.utils import convert_to_binary_data, predict_from_bbn # 引入转换为二进制数据和贝叶斯网络预测方法 import numpy as np # 载入鸢尾花数据集 data = load_iris() X = data.data # 特征数据 y = data.target # 目标数据 # 将特征数据转换为二进制编码 X_bin = convert_to_binary_data(X) # 构建贝叶斯信念网络模型 bbn = build_bbn(X_bin, y) # 预测 X_test = np.array([[5.7, 3.0, 4.2, 1.2]]) # 待分类的数据 X_test_bin = convert_to_binary_data(X_test) y_pred = predict_from_bbn(bbn, X_test_bin) print('预测结果:', y_pred) ``` 代码说明: 1. 从sklearn.datasets中导入鸢尾花数据集。 2. 导入build_bbn函数和convert_to_binary_data、predict_from_bbn函数。build_bbn函数用于构建贝叶斯信念网络模型,convert_to_binary_data函数用于将特征数据转换为二进制编码,predict_from_bbn函数用于对新数据进行预测。 3. 将特征数据转换为二进制编码。 4. 使用build_bbn函数构建贝叶斯信念网络模型。 5. 构建完成后,使用predict_from_bbn函数对新数据进行预测,得到预测结果。 以上代码可以实现对鸢尾花数据的分类,您可以根据需要进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值