- 引言
- 算法
- 定义
- 训练
- 优点
- 缺点
- 总结
- 参考
在之前的课程和实验中,我们已经了解并实现朴素贝叶斯分类算法。但是朴素贝叶斯分类有一个限制条件,就是特征属性之间必须相互独立。只有当这个条件成立时,其分类准确率才能达到最高,但由于现实问题的复杂性,这一条件几乎不可能满足,也就是说各特征属性间有较强的相互关系。为了解决这一难题,诞生了一种在实际中应用更广泛的一种算法:贝叶斯信念网络分类。
算法 定义信念网络由两部分定义——有向无环图(DAG)和条件概率表(CPT)的集合。
有向无环图的每个节点代表一个随机变量。变量可以是离散值或连续值。它们可能对应于给定数据中的实际属性,或对应于相信形成联系的隐藏变量。而每条弧表示一个概率依赖。如果一条弧由节点 X 到 Y,则 X 是 Y 的双亲或直接前驱,而 Y 是 X 的后代。给定其双亲,每个变量条件独立于图中它的非后代。
对每个变量,信念网络有一个条件概率表。变量 X 的条件概率表说明条件分布 P(X|Parents(X)),其中 Parent(X)是 X 的双亲。
设 X = ( x 1 , . . . , x n ) X=(x_{1},...,x_{n}) X=(x1,...,xn)是被变量或属性 Y 1 , . . . , Y n Y_{1},...,Y_{n} Y1,...,Yn 描述的数据元组。注意,给定变量的双亲,每个变量都条件地独立于网络图中它的非后代。这使得网络用下式提供存在的联合概率分布的完全表示:
P ( x 1 , x 2 , . . . , x n ) = ∏ i = 1 n P ( x i ∣ P a r e n t s ( x i ) ) P(x_{1},x_{2},...,x_{n}) = \prod_{i=1}^nP(x_{i}|Parents(x_{i})) P(x1,x2,...,xn)=i=1∏nP(xi∣Parents(xi))
网络内的节点可以选作输出节点,代表类标号属性。可以有多个输出节点。分类过程不是返回单个类标号,而是可以返回概率分布,给出每个类的概率。
训练- 构造网络。确定随机变量之间的拓扑关系,形成有向无环图。(这一步可以选择由领域专家完成或从数据导出,实际中,从数据导出是非常难的,时间复杂度很大,所以通常交给领域专家)
- 使用梯度下降法训练 DAG 网络,即调整 CPT 里面的参数,使其向最优化联合条件概率的方法发展。 1)初始化 CPT 中的参数; 2)求 P w ( D ) P_{w}(D) Pw(D)在 w w w初始值时的梯度;(由于 D D D是数据样本的集合,所以该梯度可以分解为每一个样本在 w w w初始值时的梯度之和) 3)更新权重; 4)规格化权重。
- 继续步骤 2 中的迭代直到结束。
- 弥补了朴素贝叶斯分类算法的不足,允许各特征变量之间存在因果关系;
- 用图描述数据间的相互关系,语义清晰,易于理解;
- 可以处理不完备的数据集,贝叶斯网络反映的是数据间的概率关系模型,缺少某一变量仍能建立精确的模型;
- 用概率分布来表示依赖关系的强弱,将先验信息和样本知识有机结合起来,对于样本数据稀疏或数据难获得的时候特别有效。
- 网络构造很复杂
- 不支持环形网络
- 对数据量要求高
- 计算速度相对慢
贝叶斯信念网络已经广泛于临床,生物,征信等领域。贝叶斯网络最强大之处在于从每个阶段结果所获得的概率都是数学与科学的反映,换句话说,假设我们了解了足够多的信息,根据这些信息获继而得统计知识,网络就会告诉我们合理的推断。并且,贝叶斯网络最很容易扩展(或减少,简化),以适应不断变化的需求和变化的知识。(目前我的研究方向是:遥感图像处理,主要利用深度学习算法对遥感图像进行修复,所以对于贝叶斯网络没有太大的需求)
参考https://www.cnblogs.com/evilKing/p/4081906.html https://blog.csdn.net/u014593570/article/details/77663897 https://wenku.baidu.com/view/e6890ea67c21af45b307e87101f69e314232facd.html