38__完备数据下的参数学习:有向图与无向图
文章目录
介绍完表示和推断之后,我们将进入概率图模型的最后一个任务,也就是学习问题。
在推断任务中,我们会根据已知的模型来确定实例的特性,模型的结构和参数都作为输入的一部分出现。学习任务(model learning)则是将推断任务的过程颠倒过来,根据数据来构造出能够反映数据潜在规律的模型,也就是对概率图模型的训练。
概率图模型的学习和其他的机器学习一样,都属于自动化的建模方式。构造概率图模型的依据是变量之间的依赖关系,这些依赖关系的建立则需要仰赖垂直领域的先验知识。如果用纯人工的方式来构建概率图模型,那么在网络的节点数目较多、规模较大时,其工作量将是惊人的。将学习任务引入概率图模型之中,就可以基于结构化的数据高效地计算出网络的结构与参数,从而大大简化训练的流程。
根据学习对象的不同,学习任务可以大体分为参数学习和结构学习两类。
参数学习(parameter learning)是在已知图模型结构的前提下估计其参数,也就是节点之间的条件概率,这可以看成是个数值优化问题。
结构学习(structure learning)是在图模型完全未知的情况下先确定其结构,再根据结构来计算参数。结构学习可以看成是针对结构和参数的联合优化,可以存在单一的全局最优解。
今天这一讲中,我们先来看看参数学习,这个任务还可以进一步地分类。根据模型结构的不同,参数学习可以分为对贝叶斯网络的学习和对马尔可夫随机场的学习。
有向和无向的差异给两种结构的学习带来了截然不同的解决方案:在贝叶斯网络中,每一对节点之间都定义了归一化的条件概率分布,因此学习任务针对的是每个单独的局部;而在马尔可夫随机场中,归一化操作是通过全局化的划分函数来完成的,参数的全局耦合性使得这个复杂的任务不能被分解成若干简单任务的组合,造成了更大的学习难度。
最简单的参数学习问题是利用完全观测的数据估计贝叶斯网络的参数,网络结构中并不存在隐变量。从频率主义出发,可以基于似然概率最大化来实现参数的估计。最大似然估计的目标是找到让现有数据出现的概率、也就是似然函数最大化的那一组参数。根据贝叶斯网络的局部特性,全局似然函数可以被拆解成一些独立的局部似然函数的乘积,每个独立项都对应着网络中的一个条件概率分布,这就是似然函数的全局分解(global decomposition)。
似然概率的全局分解有什么作用呢?那就是简化参数估计的运算。基于全局分解可以单独对每个局部似然函数进行最大化,而无需考虑其他局部结构的影响,将每个局部似然函数的最优参数合并在一起,得到的就是全局似然函数的最优解。
这一技巧最简单而又最具代表性的应用就是朴素贝叶斯分类器。将类似然函数改写成属性似然函数的乘积就是基于朴素贝叶斯图结构的全局分解,在此基础上计算属性的似然概率,就是统计当每个属性取得不同的取值时,归属于某个类别的样本在这个类别所有样本中所占的比例。如果你对朴素贝叶斯还有些陌生,可以参考专栏的第 28 讲,以及“人工智能基础课”中的内容。
前面介绍的最大似然估计出自频率主义的视角,如果要从贝叶斯主义出发,就得先给每个参数设定先验分布,以实现最大后验估计。表示先验分布的变量一般来说会与现有贝叶斯网络的数据和结构独立,与原始的贝叶斯网络共同形成新的元网(meta-network)。可以证明,如果不同参数的先验分布是相互独立的,那么它们的后验分布也会继承这种独立性,所以对最大后验估计的求解也可以遵循从局部到整体的方式,这和最大似然估计是一致的。
不难看出,对完整观测的贝叶斯网络进行参数估计,就是将传统的最大似然估计和最大后验估计应用到有向图模型这个特定的场景中。图模型中的条件独立性还可以进一步将全局优化分解为相互独立的局部优化,从而实现一定的简化。
可是在马尔可夫随机场中,问题就没有这么简单了。考虑一个最简单的马尔可夫随机场 A–B–CA–B–C
文章作者
上次更新 10100-01-10