深度学习导论及案例分析》一2.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}进行极大似然估计(maximumlikelihood 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]等方法。梯度上升(或下降)是近似计算函数极值的基本方法,变分学习则是一类在机器学习中近似计算积分或期望的常用方法。
除了生成学习之外,概率图模型的学习还包括结构学习和判别学习等内容。生成学习的根本目标是确定数据样本的真实概率分布。结构学习的根本目标是确定数据样本的概率图结构,主要方法有两种:基于约束的方法(constraintbased approach)[113]和基于打分的方法(scoringbased approach)[114]。判别学习的根本目标是确定数据样本的类别,但判别学习模型的出发点并不一定是概率图模型,主要方法包括:生成分类器(generative classifier)[115]、类别后验概率建模[116],以及支持向量机[117]和神经网络[118]等模型。这里不再一一赘述。
生成学习和判别学习的区别在于,生成学习得到的是联合概率模型P(X),而判别学习得到的是条件概率模型P(yX)。如果有足够表达能力的模型和有充足的训练数据,那么原则上通过生成方式学习和训练模型,可以得到最优的分类器。使用判别学习的原因在于,判别模型在解决分类问题时,不仅更简单、更直接,而且常常能够取得更好的效果。
# 【深度学习】:《100天一起学习PyTorch》模型评估和选择(上):欠拟合和过拟合 机器学习的任务是发现一种泛化的模式,通过训练集发现总体的规律,从而在未知的数据集上也能展现较好的精度。但是如何判断我们的模型不是单纯的记住了数据,而是真的发现了一种规律呢?因为,我们往往只能从有限样本集训练模型,当收集更多的数据时,会发现这些数据的预测结果和之前的关系完全不同。下面我们介绍一些机器学习评估模型的一些基本概念。
相关文章
- er图的好处_为什么说ER建模是软件产品设计的核心:通过一个案例让你深刻理解...
- Airtest自动化测试实操案例 | iOS应用篇
- 【MATLAB教程案例64】深度学习网络建模1,通过matlab编程实现
- 【MATLAB教程案例56】VGG16网络的MATLAB编程学习和实现,以步态识别为例进行仿真分析
- 【MATLAB教程案例54】Alexnet网络的MATLAB编程学习和实现,以步态识别为例进行仿真分析
- 【MATLAB教程案例46】三维数据的插值和滤波处理matlab仿真
- 【MATLAB教程案例15】基于WOA鲸鱼优化算法的函数极值计算matlab仿真及其他应用
- 【FPGA教程案例56】深度学习案例3——基于FPGA的CNN卷积神经网络之池化层verilog实现
- 【FPGA教程案例55】深度学习案例2——基于FPGA的CNN卷积神经网络之ReLu激活层verilog实现
- 大数据与机器学习:实践方法与行业案例.1.3 应用系统
- 大数据与机器学习:实践方法与行业案例.2.1 数据闭环
- 大数据与机器学习:实践方法与行业案例3.4 自动加载程序的多线程实现
- 《深度学习导论及案例分析》-第1章 概述 1.1深度学习的起源和发展
- 深度学习导论及案例分析》一2.3信息论的基本概念
- 《深度学习导论及案例分析》一2.4概率图模型的基本概念
- 《深度学习导论及案例分析》一2.8条件随机场
- 《深度学习导论及案例分析》一3.2受限玻耳兹曼机的学习算法
- 《深度学习导论及案例分析》一3.3受限玻耳兹曼机的变种模型
- 《深度学习导论及案例分析》一导读
- 机器学习——逻辑回归、肿瘤预测案例(恶性乳腺)
- MySQL运维案例分析:Binlog中的时间戳
- PHP(基本语法)PHP中的Session-登录案例
- JavaScript 每天更新小案例,有需要的一起学习呀:(第一天)
- 自动预测保险理赔:用具体案例讲解机器学习之特征预处理
- 【高项备考】整体管理,过程域、知识点、案例学习
- 各国网络安全审查制度及案例分析
- SQL性能突然降低引起的业务办理缓慢案例一则