对期望的处理通常是采取近似方法:转化为对一组样本求和(再平均)。 这就要依分布产生这组样本(采样)。
当贝叶斯图络中含有隐变量时,需要使用EM算法对其进行推断,由此可以基于EM算法构造贝叶斯图络。
的计算
式(7.74)的计算涉及,当推导过程中能消去它就最好,如,第9章高斯混合聚类算法中的EM算法。
当不能消除它时,对期望的处理通常是采取近似方法:转化为对一组样本求和(再平均)。 这就要依分布产生这组样本(采样)。
下面以贝叶斯网络为例。
首先,固定为(初始时,随机设定一个),让变化。
考虑,它是指在已知且以其为条件下,的分布。
这时模型参数已知(如,贝叶斯网络已知),对于子矩阵中的任一行,以其作为证据,则可以利用吉布斯采样采出一个样本(参见7.7 贝叶斯网络推断),其预测值作为子矩阵的第行,这就推断出了观测变量取值时,对应的隐变量的取值,由此对每行都进行推断,则推断出了整个子矩阵。 至此,矩阵值为已知。
上述吉布斯采样是采出一组样本,形成一个子矩阵,若重复该采样过程,则可得到多组样本,即有子矩阵集。
然后,固定的采样,让为自变量。
这时,有了采样,式(7.74)的数学期望就可用平均数作为估值
其中,对常作如下分解:
其中,即为样本以为条件的条件概率。
上述过程都是在E步中,至此,中消除了,变为以为变量的普通函数。 再转入M步中求的最大值:式(7.79)代入式(7.78),找到对应的。
再谈贝叶斯图络学习
当贝叶斯图络中含有隐变量时,需要使用EM算法对其进行推断,由此可以基于EM算法构造贝叶斯图络。
(1)子程序1:若已知贝叶斯网络结构,则依EM算法步骤(7.10 EM算法的使用场景及步骤)可求得该网络的参数。
(2)子程序2:在上计算时,用到【西瓜书式(7.29)】,此时,由于有隐变量,故应调整为,以式(7.74)即【西瓜书式(7.36)】近似,也就是说它在(1)中顺便得到了。
(3)主程序(总框架):对求贝叶斯网络的“两级搜索”进行改造。
- 第一级(不变):同7.6 贝叶斯网结构、贝叶斯图络学习(两级搜索法)中的第一级搜索,找一个网络结构。
- 第二级(改造):在这个网络结构中,试不同的来调整网络。 采用贪心法:每次调整一条边(增边,减边,调边的方向),形成一个新的贝叶斯网络结构,用上述(子程序1)求其参数,用上述(子程序2)计算的得分,若降低了得分则保留此次调整,继续调整直到不再降低或搜索完为止。