(《机器学习》完整版系列)第7章 贝叶斯分类器——7.11 期望的计算、再谈贝叶斯图络学习

对期望的处理通常是采取近似方法:转化为对一组样本求和(再平均)。 这就要依分布产生这组样本(采样)。
当贝叶斯图络中含有隐变量时,需要使用EM算法对其进行推断,由此可以基于EM算法构造贝叶斯图络。

E \mathbb{E} E的计算

式(7.74)的计算涉及 E \mathbb{E} E,当推导过程中能消去它就最好,如,第9章高斯混合聚类算法中的EM算法。

当不能消除它时,对期望的处理通常是采取近似方法:转化为对一组样本求和(再平均)。 这就要依分布产生这组样本(采样)。

下面以贝叶斯网络为例。

首先,固定 Θ \Theta Θ Θ   t {\Theta}^{\,t} Θt(初始时,随机设定一个 Θ 0 {\Theta}^{0} Θ0),让 Z \mathbf{Z} Z变化。

考虑 P ( Z   ∣   X , Θ   t ) P({\mathbf{Z}\,|\,\mathbf{X},{\Theta}^{\,t}}) P(ZX,Θt),它是指在已知 ( X , Θ   t ) ({\mathbf{X},{\Theta}^{\,t}}) (X,Θt)且以其为条件下, Z \mathbf{Z} Z的分布。

这时模型参数 Θ   t {\Theta}^{\,t} Θt已知(如,贝叶斯网络已知),对于子矩阵 X \mathbf{X} X中的任一行 X i \mathbf{X}_i Xi,以其作为证据 e \boldsymbol{e} e,则可以利用吉布斯采样采出一个样本(参见7.7 贝叶斯网络推断),其预测值 q \boldsymbol{q} q作为子矩阵 Z \mathbf{Z} Z的第 i i i Z i \mathbf{Z}_i Zi,这就推断出了观测变量取 X i \mathbf{X}_i Xi值时,对应的隐变量的取值 Z i \mathbf{Z}_i Zi,由此对每行都进行推断,则推断出了整个子矩阵 Z \mathbf{Z} Z。 至此,矩阵 ( X , Z ) (\mathbf{X},\mathbf{Z}) (X,Z)值为已知。

上述吉布斯采样是采出一组样本,形成一个子矩阵 Z \mathbf{Z} Z,若重复该采样过程,则可得到多组样本,即有子矩阵集 { Z l } l = 1 L \{\mathbf{Z}^l\}_{l=1}^L {Zl}l=1L

然后,固定 Z \mathbf{Z} Z的采样 { Z l } l = 1 L \{\mathbf{Z}^l\}_{l=1}^L {Zl}l=1L,让 Θ \Theta Θ为自变量。

这时,有了采样,式(7.74)的数学期望就可用平均数作为估值
Q ( Θ   ∣   Θ   t ) ≈ 1 L ∑ Z ∈ { Z l } l = 1 L L L ( Θ   ∣   X , Z ) = 1 L ∑ l = 1 L L L ( Θ   ∣   X , Z l ) \begin{align} Q(\Theta\,|\,{\Theta}^{\,t}) & \thickapprox \frac{1}{L}\mathop{\sum }\limits_{\mathbf{Z}\in \{\mathbf{Z}^l\}_{l=1}^L }\mathrm{LL}(\Theta\,|\,\mathbf{X},\mathbf{Z})\notag \\ & = \frac{1}{L}\mathop{\sum }\limits_{l=1}^L \mathrm{LL}(\Theta\,|\,\mathbf{X},\mathbf{Z}^l) \tag{7.78} \end{align} Q(ΘΘt)L1Z{Zl}l=1LLL(ΘX,Z)=L1l=1LLL(ΘX,Zl)(7.78)
其中,对 L L ( Θ   ∣   X , Z l ) \mathrm{LL}(\Theta\,|\,\mathbf{X},\mathbf{Z}^l) LL(ΘX,Zl)常作如下分解:
L L ( Θ   ∣   X , Z l ) = ln ⁡ P ( X , Z l   ∣   Θ ) = ln ⁡ ∏ i = 1 m P ( X i , Z i l   ∣   Θ ) = ∑ i = 1 m ln ⁡ P ( X i , Z i l   ∣   Θ ) \begin{align} \mathrm{LL}(\Theta\,|\,\mathbf{X},\mathbf{Z}^l) & =\ln P(\mathbf{X},\mathbf{Z}^l\,|\,\Theta)\notag \\ & =\ln \prod_{i=1}^mP(\mathbf{X}_i,\mathbf{Z}_i^l\,|\,\Theta)\notag \\ & =\sum_{i=1}^m\ln P(\mathbf{X}_i,\mathbf{Z}_i^l\,|\,\Theta) \tag{7.79} \end{align} LL(ΘX,Zl)=lnP(X,ZlΘ)=lni=1mP(Xi,ZilΘ)=i=1mlnP(Xi,ZilΘ)(7.79)
其中, P ( X i , Z i l   ∣   Θ ) P(\mathbf{X}_i,\mathbf{Z}_i^l\,|\,\Theta) P(Xi,ZilΘ)即为样本 ( X i , Z i l ) (\mathbf{X}_i,\mathbf{Z}_i^l) (Xi,Zil) Θ \Theta Θ为条件的条件概率。

上述过程都是在E步中,至此, Q Q Q中消除了 E \mathbb{E} E Q Q Q变为以 Θ \Theta Θ为变量的普通函数。 再转入M步中求 Q Q Q的最大值:式(7.79)代入式(7.78),找到对应的 Θ   t + 1 {\Theta}^{\,t+1} Θt+1

再谈贝叶斯图络学习

当贝叶斯图络中含有隐变量时,需要使用EM算法对其进行推断,由此可以基于EM算法构造贝叶斯图络。

(1)子程序1:若已知贝叶斯网络结构 B B B,则依EM算法步骤(7.10 EM算法的使用场景及步骤)可求得该网络的参数 Θ \Theta Θ

(2)子程序2:在 B = ⟨ G , Θ ⟩ B=\langle G,\Theta \rangle B=G,Θ上计算 s ( B   ∣   D ) s(B\,|\,D) s(BD)时,用到【西瓜书式(7.29)】,此时, L L ( B   ∣   D ) \mathrm{LL}(B\,|\,D) LL(BD)由于有隐变量,故应调整为 L L ( Θ   ∣   X , z ) \mathrm{LL}(\Theta \,|\,{X},\mathbf{z}) LL(ΘX,z),以式(7.74)即【西瓜书式(7.36)】近似,也就是说它在(1)中顺便得到了。

(3)主程序(总框架):对求贝叶斯网络的“两级搜索”进行改造。

  • 第一级(不变):同7.6 贝叶斯网结构、贝叶斯图络学习(两级搜索法)中的第一级搜索,找一个网络结构 G G G
  • 第二级(改造):在这个网络结构中,试不同的 π k {\pi }^k πk来调整网络。 采用贪心法:每次调整一条边(增边,减边,调边的方向),形成一个新的贝叶斯网络结构,用上述(子程序1)求其参数 Θ \Theta Θ,用上述(子程序2)计算 B = ⟨ G , Θ ⟩ B=\langle G,\Theta \rangle B=G,Θ的得分 s ( B   ∣   D ) s(B\,|\,D) s(BD),若降低了得分则保留此次调整,继续调整直到 s ( B   ∣   D ) s(B\,|\,D) s(BD)不再降低或搜索完为止。

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:7.10 EM算法的使用场景及步骤(反复循环执行E步和M步)
下一篇:8.1 简单投票法(少数服从多数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值