机器学习-贝叶斯网络

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


具体的算法:对于每个 ,lnP(D|h) 的梯度是对每个 求导数得到。
lnP(D | h ) Wijk
d D

(6.25) 例如:为计算对应图6-3中表左上方的表 项 lnP(D | h ) 的导数,需要对D中的每个 训练样例d计算P(Camfire=True, Storm=False,BusTourGroup=False|d)。 当训练样例d中无法观察到这些变量时, 这些概率可用标准的贝叶斯网络推理的 过程中计算得到。

网络结构已知,但只有一部分变量值能 在数据中观察到,学习就困难得多了。 这一问题在某种程度上类似于在人工神 经网络中学习隐藏单元的权值,其中输 入输出的节点值由训练样例给出,但隐 藏单元的值未指定。针对这一问题,采 用简单的梯度上升过程以学习条件概率 表中的项。这一梯度上升过程搜索一个 假设空间,它对应于条件概率表中所有 可能的项。在梯度上升中被最大化的指 标函数是给定假设h下观察到训练数据D 的概率P(D|h)。就相当于极大似然假设
Ph(y ij ,uik | d ) Wijk d D
6.11.6学习贝叶斯网的结构


当网络的结构是未知的,数据是可完 全观察,学习贝叶斯因此网络也是很 困难的。此时常采用K2的启发式搜索 算法来学习网络结构。 K2算法用于贪婪搜索(总是做出在当前 看来是做好的选择,而不是从整体出 发)处理模型选择问题:先定义一种评 价网络结构的优劣的评分函数,再从 一个网络的开始,根据事先确定的最 大父节点数目和节点的次序,选择分 值最高的节点作为该节点的父节点。
h ML arg max P(D | h)
hH
6.11.5 贝叶斯网的梯度上升训练

梯度上升的规则:通过lnP(D|h)的梯 度来使P(D|h)最大化。其中 代表 条件概率表中的一个表项。 为在给 定父节点 Ui 取值 uik 时,网络变量 Yi 值为 y ij 的概率。
例如: 图6-3中条件概率表中最右上方 的表项,那么 Yi 为变量Campfire, Ui是 其父节点的元组<Storm,BusTourGroup>, y ij =true,并且 uik = <False,False>。
6.11.4 学习贝叶斯信念网 6.11.5 贝叶斯网的梯度上升 训练 6.11.6学习贝叶斯网的结构
6.11.6 学习贝叶斯网

是否可以设计出有效的算法以从训练 数据中学习到贝叶斯信念网?对于这 一问题有多种可以考虑的框架:
—首先网络结构可以预先给出,或可由训 练数据中推得。 —其次,所有的网络变量可以直接从每个 训练样例中观察到,或某些变量不能观察 到。 • 当网络结构预先已知且变量可以从训练 样例中完全获得时,通过学习得到条件 概率表就比较简单,只需要像在朴素贝 叶斯分类器中那样估计表中的条件概率 项。

K2算法使用后验概率作为评分函数:
ຫໍສະໝຸດ Baidu
算法的伪代码:
过程描述:k2的出发点是一个包含所有 节点,但却没有边的无向图。在搜索的 过程中,k2按顺序逐个考察 中的变量, 确定其父亲节点,然后添加相应的边。 对某一变量Xj,假设K2已经找到它的一些 父亲节点 j 。如果| j|<u,即Xj的父亲 节点的个数还未达到上界u,那么就继续 为它寻找父节点,具体的做法是首先考 虑那些在 中排在Xj之前,但还不是Xj 的父节点的变量,从这些变量中选出Xi, 使得新的家族CH评分
P(Yi y ij ,Ui uik | d) Wijk

用梯度上升来更新每一个

+ 其中 是一个小常量,称为学习率。 • 将权值 归一化,保持有效的概率在 区间[0,1]之间,还要求 对所有的 i,k保持1 • 像其他基于梯度算法中的那样,该算法 只能保证寻找到局部最优解
Vnew CH( Xj, j {Xi} | )
达到最大;然后将 Vnew 与旧家族评分比 较;如果Vnew> Vold,则把Xi 添加为Xj的节 点;否则停止为Xj寻找父亲节点。
谢谢大家
相关文档
最新文档