1700537627
1700537628
1700537629
(8.20)
1700537630
1700537631
可以看出祖先采样得到的样本服从贝叶斯网络的联合概率分布。
1700537632
1700537633
1700537634
1700537635
1700537636
图8.10 祖先采样示例图
1700537637
1700537638
如果只需要对贝叶斯网络中一部分随机变量的边缘分布进行采样,可以用祖先采样先对全部随机变量进行采样,然后直接忽视那些不需要的变量的采样值即可。由图可见,如果需要对边缘分布p(Rain)进行采样,先用祖先采样得到全部变量的一个样本,如(Cloudy=T,Sprinkler=F,Rain=T,WetGrass=T),然后忽略掉无关变量,直接把这个样本看成是Cloudy=T即可。
1700537639
1700537640
接下来考虑含有观测变量的贝叶斯网络的采样,如图8.11所示。网络中有观测变量(Sprikler=T,WetGrass=T)(观测变量用斜线阴影表示),又该如何采样呢?最直接的方法是逻辑采样,还是利用祖先采样得到所有变量的取值。如果这个样本在观测变量上的采样值与实际观测值相同,则接受,否则拒绝,重新采样。这种方法的缺点是采样效率可能会非常低,随着观测变量个数的增加、每个变量状态数目的上升,逻辑采样法的采样效率急剧下降,实际中基本不可用。
1700537641
1700537642
1700537643
1700537644
1700537645
图8.11 含有观测变量的贝叶斯网络
1700537646
1700537647
因此,在实际应用中,可以参考重要性采样的思想,不再对观测变量进行采样,只对非观测变量采样,但是最终得到的样本需要赋一个重要性权值:
1700537648
1700537649
1700537650
1700537651
1700537652
(8.21)
1700537653
1700537654
其中E是观测变量集合。这种采样方法称作似然加权采样(Likelihood Weighted Sampling),产生的样本权值可以用于后续的积分操作。在有观测变量(Sprikler=T,WetGrass=T)时,可以先对Cloudy进行采样,然后对Rain进行采样,不再对Sprinkler和WetGrass采样(直接赋观测值),如图8.12所示。这样得到的样本的重要性权值为
1700537655
1700537656
w∝p(Sprinkler=T|Cloudy=T)·p(WetGrass=T|Sprinkler=T,Rain=T)=0.1×0.99=0.099.
1700537657
1700537658
1700537659
1700537660
1700537661
图8.12 似然加权采样示例图
1700537662
1700537663
除此之外,还可以用MCMC采样法来进行采样。具体来说,如果采用Metropolis-Hastings采样法的话,如图8.13所示,只需要在随机向量(Cloudy, Rain)上选择一个概率转移矩阵,然后按照概率转移矩阵不断进行状态转换,每次转移有一定概率的接受或拒绝,最终得到的样本序列会收敛到目标分布。最简单的概率转移矩阵可以是:每次独立地随机选择(Cloudy, Rain)的四种状态之一。如果采用吉布斯采样法的话,根据条件概率p(Cloudy|Rain, Sprinkler, WetGrass)和p(Rain|Cloudy, Sprinkler, WetGrass),每次只对(Cloudy, Rain)中的一个变量进行采样,交替进行即可。
1700537664
1700537665
1700537666
1700537667
1700537668
图8.13 用Metropolis-Hastings采样法对贝叶斯网络进行采样
1700537669
1700537670
·总结与扩展·
1700537671
1700537672
本节还有一些相关的扩展问题,例如,如果是连续型随机变量,或者是无向图模型(即马尔可夫随机场,Markov Random Field),上述方法有哪些不适用,哪些仍然适用?具体该如何采样?
1700537673
1700537674
1700537675
1700537676
[
上一页 ]
[ :1.700537627e+09 ]
[
下一页 ]