数据挖掘笔记-分类-贝叶斯网络
来源:互联网 发布:软件推广渠道 编辑:程序博客网 时间:2024/05/13 21:13
一个贝叶斯网络定义包括一个有向无环图(DAG)和一个条件概率表集合。DAG中每一个节点表示一个随机变量,可以是可直接观测变量或隐藏变量,而有向边表示随机变量间的条件依赖;条件概率表中的每一个元素对应DAG中唯一的节点,存储此节点对于其所有直接前驱节点的联合条件概率。
贝叶斯网络有一条极为重要的性质,就是我们断言每一个节点在其直接前驱节点的值制定后,这个节点条件独立于其所有非直接前驱前辈节点。
这个性质很类似Markov过程。其实,贝叶斯网络可以看做是Markov链的非线性扩展。这条特性的重要意义在于明确了贝叶斯网络可以方便计算联合概率分布。一般情况先,多变量非独立联合条件概率分布有如下求取公式:
而在贝叶斯网络中,由于存在前述性质,任意随机变量组合的联合条件概率分布被化简成
其中Parents表示xi的直接前驱节点的联合,概率值可以从相应条件概率表中查到。
贝叶斯网络比朴素贝叶斯更复杂,而想构造和训练出一个好的贝叶斯网络更是异常艰难。但是贝叶斯网络是模拟人的认知思维推理模式,用一组条件概率函数以及有向无环图对不确定性的因果推理关系建模,因此其具有更高的实用价值。
构造与训练贝叶斯网络分为以下两步:
1、确定随机变量间的拓扑关系,形成DAG。这一步通常需要领域专家完成,而想要建立一个好的拓扑结构,通常需要不断迭代和改进才可以。
2、训练贝叶斯网络。这一步也就是要完成条件概率表的构造,如果每个随机变量的值都是可以直接观察的,像我们上面的例子,那么这一步的训练是直观的,方法类似于朴素贝叶斯分类。但是通常贝叶斯网络的中存在隐藏变量节点,那么训练方法就是比较复杂,例如使用梯度下降法。由于这些内容过于晦涩以及牵扯到较深入的数学知识,在此不再赘述,有兴趣的朋友可以查阅相关文献。
贝叶斯网络作为一种不确定性的因果推理模型,其应用范围非常广,在医疗诊断、信息检索、电子技术与工业工程等诸多方面发挥重要作用,而与其相关的一些问题也是近来的热点研究课题。例如,Google就在诸多服务中使用了贝叶斯网络。
就使用方法来说,贝叶斯网络主要用于概率推理及决策,具体来说,就是在信息不完备的情况下通过可以观察随机变量推断不可观察的随机变量,并且不可观察随机变量可以多于以一个,一般初期将不可观察变量置为随机值,然后进行概率推理。
贝叶斯网络进行推理的步骤可如下描述:
1、对所有可观察随机变量节点用观察值实例化;对不可观察节点实例化为随机值。
2、对DAG进行遍历,对每一个不可观察节点y,计算
其中wi表示除y以外的其它所有节点,a为正规化因子,sj表示y的第j个子节点。
3、使用第三步计算出的各个y作为未知节点的新值进行实例化,重复第二步,直到结果充分收敛。
4、将收敛结果作为推断值。
以上只是贝叶斯网络推理的算法之一,另外还有其它算法,这里不再详述。
- 数据挖掘笔记-分类-贝叶斯网络
- 数据挖掘笔记-分类-贝叶斯-原理与简单实现
- 数据挖掘之贝叶斯分类
- 贝叶斯分类器-----数据挖掘
- 数据挖掘 贝叶斯网络
- 数据挖掘算法--分类与预测笔记
- 数据挖掘笔记-分类-决策树-随机森林
- 数据挖掘笔记-分类-回归算法-最小二乘法
- 数据挖掘学习笔记-分类(1)
- 数据挖掘学习笔记:分类、统计学习
- Python数据挖掘学习笔记-决策树分类
- [学习] 数据挖掘-贝叶斯分类(例子,代码)
- 数据挖掘经典算法--朴素贝叶斯分类
- 数据挖掘--分类
- 数据挖掘分类技术
- 数据挖掘分类技术
- 数据挖掘分类技术
- 数据挖掘分类技术
- 关于“Initializing the Oracle ASMLib driver: [FAILED]”的解决办法
- JavaScript Source Map 详解
- 已知图形边缘像素求内部面积
- 1、匿名内部类
- 判断一个字符串是否是回文。
- 数据挖掘笔记-分类-贝叶斯网络
- 动态库与静态库优缺点比较
- Java面试题五
- 排序
- administration被禁用了怎样恢复?
- 设计模式之模板方法模式
- android4.0自定义锁屏总结【android锁屏研究一】
- 在树莓派上播放视频
- json数据中的Unicode转utf-8