zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

案例学习 分析 模型 深度 概率 导论 2.10
2023-09-11 14:16:10 时间

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

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,或译为最大似然估计),其中相应概率分布表达为:

P(X)=∏Ni=1P(XiPa(Xi),θi)(2.101)

如果令Pai=Pa(Xi)和xPai=x(Pa(Xi)),那么对于独立同分布样本集S,贝叶斯网络的总体对数似然L(B;S)可以分解为单个样本对数似然(θi,S)的和,即:

L(B;S)=∑Nl=1∑Li=1logP(xlixlPai,θi)=∑Li=1(θi,S)(2.102)

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

(θi,S)=∑Nl=1logP(xlixlPai,θi)(2.103)

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

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

L(M;S)=log∏Nl=1p(xlθ)=∑Nl=1logp(xlθ)(2.104)

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

KL(qp)=∑q(x)logq(x)p(x)=∑q(x)logq(x)-∑q(x)logp(x)(2.105)

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)。如果有足够表达能力的模型和有充足的训练数据,那么原则上通过生成方式学习和训练模型,可以得到最优的分类器。使用判别学习的原因在于,判别模型在解决分类问题时,不仅更简单、更直接,而且常常能够取得更好的效果。


# 【深度学习】:《100天一起学习PyTorch》模型评估和选择(上):欠拟合和过拟合 机器学习的任务是发现一种泛化的模式,通过训练集发现总体的规律,从而在未知的数据集上也能展现较好的精度。但是如何判断我们的模型不是单纯的记住了数据,而是真的发现了一种规律呢?因为,我们往往只能从有限样本集训练模型,当收集更多的数据时,会发现这些数据的预测结果和之前的关系完全不同。下面我们介绍一些机器学习评估模型的一些基本概念。