天天看点

深度学习导论及案例分析》一2.10概率图模型的学习

#### 本节书摘来自华章出版社《深度学习导论及案例分析》一书中的第2章,第2.10节,作者李玉鑑 张婷,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

在给定一个关于随机向量x的数据样本集合s={x1,x2,…,xn}时,常常需要对x的概率分布进行建模。不妨假设s中的每个样本都是独立同分布的(independent and identically distributed,i.i.d),且都服从未知的真实联合概率分布p(x)。学习概率图模型的任务可以描述为:给定样本集合s,返回一个对p(x)逼近最好的概率图模型。这种类型的学习称为生成学习(generative learning),其目标是对数据的生成过程进行建模。一般说来,精确计算p*(x)几乎是不可能的,尤其是在可以利用的样本相对较少时。

贝叶斯网络的生成学习就是在给定网络结构和数据样本集s的条件下,对所定义概率分布中的局部参数Θ={θ1,θ2,…,θn}进行极大似然估计(maximumlikelihood estimation,或译为最大似然估计),其中相应概率分布表达为:

如果令pai=pa(xi)和xpai=x(pa(xi)),那么对于独立同分布样本集s,贝叶斯网络的总体对数似然l(b;s)可以分解为单个样本对数似然(θi,s)的和,即:

其中(θi,s)又可以分解为局部条件概率的对数和:

因此,在(θi,s)仅依赖于θi的条件下,最大化总体对数似然等价于分别通过最大化单个样本对数似然,对每个局部参数θi进行估计。否则,问题可能变得非常复杂。

马尔可夫网络m的生成学习就是在给定网络结构和数据样本集s={x1,…,xn}的条件下,对一个通过能量函数定义的概率分布族中的参数θ进行极大似然估计。如果用p(x)表示马尔可夫网络的概率分布,那么相应的对数似然函数如下:

如果s中的每个样本都是独立同分布的且都服从未知的真实概率分布q(x),那么最大化l(m;s)等价于最小化q和p之间的kl散度,即:

kl散度可以用来度量两个概率分布的差异,具有非对称性和非负性,并且当且仅当两个分布相同时值为0。如公式(2.105)所示,在最小化kl散度时,只有第二项依赖于需要优化的参数。

一般说来,对于马尔可夫网络的吉布斯分布,计算最优的极大似然参数θ几乎是不可能的,通常需要采用近似方法,如梯度上升(gradient ascent)[110]、梯度下降(gradient descent)[111]和变分学习(variational learning)[112]等方法。梯度上升(或下降)是近似计算函数极值的基本方法,变分学习则是一类在机器学习中近似计算积分或期望的常用方法。

除了生成学习之外,概率图模型的学习还包括结构学习和判别学习等内容。生成学习的根本目标是确定数据样本的真实概率分布。结构学习的根本目标是确定数据样本的概率图结构,主要方法有两种:基于约束的方法(constraintbased approach)[113]和基于打分的方法(scoringbased approach)[114]。判别学习的根本目标是确定数据样本的类别,但判别学习模型的出发点并不一定是概率图模型,主要方法包括:生成分类器(generative classifier)[115]、类别后验概率建模[116],以及支持向量机[117]和神经网络[118]等模型。这里不再一一赘述。

生成学习和判别学习的区别在于,生成学习得到的是联合概率模型p(x),而判别学习得到的是条件概率模型p(yx)。如果有足够表达能力的模型和有充足的训练数据,那么原则上通过生成方式学习和训练模型,可以得到最优的分类器。使用判别学习的原因在于,判别模型在解决分类问题时,不仅更简单、更直接,而且常常能够取得更好的效果。

继续阅读