首页 理论教育 学习含有隐变量的贝叶斯网络

学习含有隐变量的贝叶斯网络

时间:2022-02-11 理论教育 版权反馈
【摘要】:要学习含有隐变量的贝叶斯网络,我们运用对于混合高斯分布有效的同样见解。期望计数是对所有糖而言来自包1的概率之和:这些概率可以通过贝叶斯网络的任何推理算法计算出来。来自这个例子的一般经验是,参数的更新对包含隐变量的贝叶斯网络学习来说,可以从每个采样的推理结果中直接得到。

20.3.2 学习含有隐变量的贝叶斯网络

要学习含有隐变量的贝叶斯网络,我们运用对于混合高斯分布有效的同样见解。图 20.10 表示了一种情形,有两包糖果,混合在一起。糖果可以用3种特征描述:除了Flavor(口味)和Wrapper(糖纸)外,有些糖在中间还有 Hole(洞),而有些没有。每包中糖果的分布通过一个朴素贝叶斯模型进行描述:对于给定的包,各个特征彼此独立,但是每个特征的条件概率分布依赖于包。参数如下:θ是糖来自包1的先验概率; θF1和θF2是糖的口味为樱桃味的概率,分别在已知糖果来自包1或包2的情况下;θW1和θW2是糖纸为红色的概率;而θH1和θH2是糖有洞的概率。注意,整个模型是一个混合模型。(事实上,我们也可以把混合高斯模型建立为一个贝叶斯网络模型,如图20.10(b)所示。)在图中,包是一个隐变量,因为一旦糖果被混合到一起,我们就再无法知道每颗糖来自哪个包了。在这样的例子中,我们能够通过观察混合在一起的糖果恢复出关于两个包的描述吗?

图20.10 (a)糖的混合模型。不同口味、糖纸以及洞的数目的比例取决于糖果包,无法观察到。(b)高斯混合模型的贝叶斯网络。可观察变量X的均值和协方差取决于成份C

我们运行一次这个问题的EM迭代。首先,让我们看看数据。从真实参数值如下的模型中生成1000个实例:

也就是说,糖从任何一个包中以同样的概率规律取出;第一包大多数是樱桃味、红色糖纸、有洞的,第二包大多数是酸橙味、绿色糖纸、无洞的。8种可能种类的糖的计数分别如下:


我们从对参数进行初始化开始。为了数值上的简单起见,我们将选取 [18]

首先,我们从参数θ入手。在完全可观察的情况下,我们可以根据已观察到的来自包 1 和包 2 中的糖果计数进行直接估计。因为包是隐变量,所以我们替代地计算期望的计数值。期望计数是对所有糖而言来自包1的概率之和:

这些概率可以通过贝叶斯网络的任何推理算法计算出来。对于诸如我们的例子中那样的朴素贝叶斯模型来说,我们可以利用贝叶斯法则和条件独立性“手工”地进行推导:

(注意归一化常数也取决于参数。)把这个公式应用于比如说273颗红色糖纸包装的有洞的樱桃味糖,我们可以得到一个贡献值:

继续处理计数表中的其它7种糖,我们可以得到θ(1)= 0.6124。

现在让我们考虑其它参数,比如θF1。在完全可观察的情况下,我们可以从已观察到的来自包1的樱桃糖和酸橙糖的计数直接估计这个参数。樱桃糖来自包1的期望计数为:

再一次,这些概率可以用任何贝叶斯网络的算法计算。完成这个过程,我们得到所有参数的新值:

在第一次迭代之后数据的对数似然从初始的−2044左右增长到大约−2021,如图20.9(b)所示。也就是说,更新改进了似然度本身,大约有e23≈ 1010倍。经过第10次迭代,学习到的模型是比原始模型更好的拟合(L = −1982.214)。接着,进展变得很慢。这在EM中并不罕见,而许多实际系统将EM与一个基于梯度的算法诸如牛顿-拉夫森方法(参见第四章)相结合,完成学习的最后阶段。

来自这个例子的一般经验是,参数的更新对包含隐变量的贝叶斯网络学习来说,可以从每个采样的推理结果中直接得到。而且,对于每一个参数而言需要的只是局部的后验概率。在一般情形下,对于每个变量Xi,我们学习它的条件概率参数,已知该变量的父变量——也就是θi j k= P( Xi= xi j|Pai= pai k ) ——则参数更新可以由下面的归一化期望技术给出:

期望计数可以通过对采样进行求和得到,运用任何一个贝叶斯网络推理算法计算出概率值P(Xi= xi j, Pai= pai k)。对于精确算法——包括消元法——所有的这些概率值都可以作为一个标准推理的副产品直接得到,不需要针对学习的额外计算。另外,对每一个参数,学习所需的信息可以在局部获得。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈