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

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

时间:2022-02-11 理论教育 版权反馈
【摘要】:在第20.2节中,我们讨论了用完全的数据学习贝叶斯网络结构的问题。当存在隐变量时,内部循环可能涉及大量EM的迭代或者一个基于梯度的算法,而每次迭代又涉及到计算贝叶斯网络中的后验概率分布,这本身就是一个 NP 难题。)这样,结构化EM算法可以产生多个网络的结构选择,而不需要重新计算期望的数值,同时,它还有能力学习非平凡的贝叶斯网络结构。

在第20.2节中,我们讨论了用完全的数据学习贝叶斯网络结构的问题。当考虑隐变量时,事情变得更困难了。在最简单的情况下,隐变量与可观察到的变量一同列出;尽管隐变量的值没有观察到,但它们对学习算法来说应该是存在的,并且必须在网络结构中为它们找到一席之地。例如,某个算法也许试图学习图20.7(a)中所示结构,已经知道HeartDisease(一个三值变量)应该被包含在模型中这个信息。如果学习算法不知道这个信息,则有两个选择:要么假装数据实际是完全的——强制算法去学习图 20.7(b)中的参数密集模型——要么创建新的隐变量以便简化模型。后一个方案可以通过把新的修正选择包含在结构搜索中实现:除了修正连接关系,该算法能够添加和删除隐变量或者改变它的数量。当然,这个算法并不知道它创建的新变量被称为 HeartDisease;它也不会给相应的值起一个有意义的名字。幸运的是,新创建的隐变量通常与一个已有变量联系在一起,所以人类专家往往可以考察新变量涉及的局部条件分布,从而推断出它的含义来。

和完全数据的情况一样,纯粹的最大似然结构学习会产生一个全连接的网络(而且,是没有隐变量的网络),所以需要某种形式的复杂性惩罚手段。我们还可以应用MCMC来近似贝叶斯学习。例如,我们可以通过对成份的数目进行采样来学习包含未知数目成份的混合高斯分布;通过 MCMC 过程的采样频度提供关于高斯分布的数目的近似后验分布。

到此为止,我们讨论过的处理过程都有一个外部的循环,它是一个结构化的搜索过程,以及一个内部循环,是一个参数优化的过程。对于完全数据的情况,内部循环很快——只是一个从数据集里抽取条件频度的问题。当存在隐变量时,内部循环可能涉及大量EM的迭代或者一个基于梯度的算法,而每次迭代又涉及到计算贝叶斯网络中的后验概率分布,这本身就是一个 NP 难题。现在,已经证实这种方法对于学习复杂模型是不实用的。一个可能的改进是所谓结构化EM算法,它运转的方式和普通的(参数)EM算法大体相同,除了它在更新参数的时候也同时更新结构。正如普通EM算法在E步骤中使用当前的参数计算期望的计数、然后在M步骤中把这些计数用于选取新的参数一样,结构化EM使用当前的结构计算期望的计数,然后将这些计数应用于M步骤,对潜在的新结构的似然率进行评价。(这与外部循环/内部循环方法不同,后者计算的是对每种潜在结构的新的期望计数。)这样,结构化EM算法可以产生多个网络的结构选择,而不需要重新计算期望的数值,同时,它还有能力学习非平凡的贝叶斯网络结构。虽然如此,在我们可以说完全解决结构学习问题之前,还有许多工作要做。

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

我要反馈