贝叶斯网络解决问题的一个例子

 

1 贝叶斯网络解决问题的例子

 

1.1 一个例子[2]

 

      例如,如果一篇文章是关于南海岛屿的新闻(将这一事件记作“News”),文章可能包含介绍南海岛屿历史的内容(这一事件记作“History”),但一般不会有太多介绍旅游风光 的内容(将事件“有介绍旅游风光的内容”记作“Sightseeing”)。我们可以构造一个简单的贝叶斯网络,如图所示。

三个事件的联合概率函数为:

 

这个模型可以回答如下类似的问题:如果一篇文章中含有南海岛屿历史相关的内容,该文章是关于南海新闻的可能性有多大?

 

      该问题中,我们首先依据问题建模成贝叶斯网络,每个节点都会有相应的概率表,但该节点概率表只跟自己的父节点有关。而后我们在确定一个节点状态的情况下求解另一个节点在某状态概率,也就是条件概率。但我们似乎并没有发现需要用到条件独立或者D-分离的知识,这在图很大的时候才会用到。

 

2 参考

  [1]https://www.bilibili.com/video/BV1BW41117xo?p=5

 [2] https://zhuanlan.zhihu.com/p/80928050

 

### 贝叶斯网络与朴素贝叶斯的关系 #### 定义与概念 贝叶斯网络是一种基于概率图模型的方法,用于表示变量之间的依赖关系和条件独立性[^1]。它通过有向无环图(DAG)来描述随机变量间的因果关系,并利用条件概率表定义联合概率分布。 朴素贝叶斯则是一种特殊的分类算法,其核心假设是特征之间相互独立,在给定类别的情况下[^2]。尽管这一假设通常并不完全成立,但在许多实际应用中仍然表现良好。 #### 主要区别 1. **结构复杂度** - 贝叶斯网络能够捕捉复杂的依赖关系,允许任意形式的概率分布建模。 - 朴素贝叶斯强制要求特征间条件独立,简化了计算过程但可能损失部分表达能力[^3]。 2. **适用场景** - 当数据中的变量存在明显的关联性和层次结构时,贝叶斯网络更为适合[^4]。 - 对于大规模离散或连续特征的数据集,尤其是当特征独立性假设合理时,朴素贝叶斯更高效且易于实现。 3. **学习方法** - 构造贝叶斯网络需要明确指定节点及其边的方向,同时估计条件概率参数。 - 朴素贝叶斯仅需统计每类条件下各特征的频率即可完成训练。 #### 联系 两者均源于贝叶斯理论框架下,致力于解决不确定性推理问题。具体而言: - 朴素贝叶斯可视为一种极其简单的贝叶斯网络,其中所有特征直接连接到目标标签上形成星形拓扑结构。 - 如果放宽特征独立性的约束,则可以通过引入额外边缘化操作扩展至广义贝叶斯网路形式。 ```python from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.naive_bayes import GaussianNB # 加载鸢尾花数据集作为例子展示高斯朴素贝叶斯的应用 data = load_iris() X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.5, random_state=0) gnb = GaussianNB() y_pred = gnb.fit(X_train, y_train).predict(X_test) print(f"Number of mislabeled points out of a total {len(y_test)} points : {(y_test != y_pred).sum()}") ``` 上述代码片段展示了如何运用高斯朴素贝叶斯处理具有连续属性值的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值