如果网络结构已知并且变量是可见的,训练网络是直接了当的。该过程由计算CPT项组成,与朴素贝叶斯分类涉及的计算概率类似。
当网络结构给定,而某些变量是隐藏的时,则可使用梯度下降方法训练信念网络。目标是学习CPT项的值。设S是s个训练样本X1,X2,…Xs的集合,wijk是具有是双亲Ui=uik的变量Y=yij的CPT项。wijk可以看作权,类似于神经网络中隐藏单元的权。权的集合总称为w。这些权被初始化为随机概率值。梯度下降策略采用贪心爬山法。在每次迭代中,修改这些权,并最终收敛到一个局部最优解。
基于w的每个可能设置都等可能地假定,该方法搜索能最好地对数据建模的wijk值。目标是最大化 。这通过按 梯度来做,使得问题更简单。给定网络结构和wijk的初值,该算法按以下步骤处理:
(1)计算梯度:对每个i, j, k,计算
(7.11)
(7.11)式右端的概率要对S中的每个样本Xd计算。为简洁计,我们简单地称此概率为p。当Yi和Ui表示的变量对某个Xd是隐藏的时,则对应的概率p可以使用贝叶斯网络推理的标准算法(如商用软件包Hugin提供的那些(http://www.hugin.dk)),由样本的观察变量计算。
(2)沿梯度方向前进一小步:用
(7.12)
更新权值,其中l是表示步长的学习率,而 由(7.11)计算。学习率被设置为一个小常数。
(3)更新规格化权值:由于权值wijk是概率值,它们必须在0.0和1.0之间,并且对于所有的i, k, 必须等于1。在权值被(7.12)式更新后,可以对它们重新规格化来保证这一条件。
有一些算法,由给定可观察变量的训练数据学习网络结构。该问题是离散优化问题。


雷达卡



京公网安备 11010802022788号







