机器学习《西瓜书》第十四章 概率图模型


机器学习最重要的任务,是根据一些已观察到的证据(例如训练样本)来对感兴趣的未知变量(例如类别标记)进行估计和推测。概率模型(probabilistic model)提供了一种描述框架,将学习任务归结于计算变量的概率分布。

在概率模型中,利用已知变量推测未知变量的分布称为“推断”(inference),其核心是如何基于可观测变量推测出未知变量的条件分布。

假定所关心的变量集合为Y,可观测变量集合为O,其他变量集合为R:

  1. “生成式”(generative)模型考虑联合分布P(Y,R,O);
  2. “判别式”(discriminative)模型考虑条件分布P(Y,R|O);

给定一组观测变量值,推断就是由P(Y,R,O)或P(Y,R|O)得到条件分布P(Y|O)。

概率图模型(probabilistic graphical model)是一类用图来表达变量相关关系的概率模型。又称“变量关系图”;分为两类:

  • 使用有向无环图表示变量间的依赖关系,称为有向图模型或贝叶斯网
  • 使用无向图表示变量间的相关关系,称为无向图模型或马尔可夫网

隐马尔可夫模型(Hidden Markov Model,简称HMM)是结构最简单的动态贝叶斯网(dynamic Bayesian network),这是一种著名的有向图模型,主要用于时序数据建模,在语音识别、自然语言处理等领域有广泛应用。

隐马尔可夫模型中的变量可分为两组。第一组是状态变量{y1,y2,…,yn},其中,yi∈Y表示第i时刻的系统状态。通常假定状态变量是隐藏的、不可被观测的,因此状态变量亦称隐变量(hidden variable)。第二组是观测变量{x1,x2,…,xn},其中,xi∈X表示第i时刻的观测值。在隐马尔可夫模型中,系统通常在多个状态{s1,s2,…,sN}之间转换。如下图所示:
在这里插入图片描述
在任一时刻,观测变量的取值仅依赖于状态变量,即xt由yt确定,与其他状态变量及观测变量的取值无关。同时,t时刻的状态yt仅依赖于
t-1时刻的状态yt-1,与其余n-2个状态无关。这就是所谓的“马尔可夫链”(Markov chain),即:系统下一时刻的状态仅由当前状态决定,不依赖于以往的任何状态。

基于上述变量之间的依赖关系,我们很容易写出隐马尔可夫模型中所有变量的联合概率分布:
在这里插入图片描述
确定一个HMM模型需要以下三组参数:
在这里插入图片描述
当确定了一个HMM模型的三个参数后,便按照下面的规则来生成观测值序列:
在这里插入图片描述
在这里插入图片描述

14.2 马尔可夫随机场

马尔可夫随机场(Markov Random Field)是一种典型的马尔可夫网,即使用无向边来表达变量间的依赖关系。在马尔可夫随机场中,对于关系图中的一个子集,若任意两结点间都有边连接,则称该子集为一个团;若再加一个结点便不能形成团,则称该子集为极大团。MRF使用势函数来定义多个变量的概率分布函数,其中每个(极大)团对应一个势函数,一般团中的变量关系也体现在它所对应的极大团中,因此常常基于极大团来定义变量的联合概率分布函数。具体而言,若所有变量构成的极大团的集合为C,则MRF的联合概率函数可以定义为:
在这里插入图片描述
对于条件独立性,马尔可夫随机场通过分离集来实现条件独立,若A结点集必须经过C结点集才能到达B结点集,则称C为分离集。书上给出了一个简单情形下的条件独立证明过程,十分贴切易懂,此处不再展开。基于分离集的概念,得到了MRF的三个性质:

  1. 全局马尔可夫性:给定两个变量子集的分离集,则这两个变量子集条件独立。
  2. 局部马尔可夫性:给定某变量的邻接变量,则该变量与其它变量条件独立。
  3. 成对马尔可夫性:给定所有其他变量,两个非邻接变量条件独立。
    在这里插入图片描述
    对于MRF中的势函数,势函数主要用于描述团中变量之间的相关关系,且要求为非负函数,直观来看:势函数需要在偏好的变量取值上函数值较大。

一般我们常使用指数函数来定义势函数:
在这里插入图片描述

14.3 条件随机场

条件随机场(CRF)是对条件分布进行建模。CRF试图在给定观测值序列后,对状态序列的概率分布进行建模,即P(y | x)。直观上看:CRF与HMM的解码问题十分类似,都是在给定观测值序列后,研究状态序列可能的取值。CRF可以有多种结构,只需保证状态序列满足马尔可夫性即可,一般我们常使用的是链式条件随机场:
在这里插入图片描述
与马尔可夫随机场定义联合概率类似地,CRF也通过团以及势函数的概念来定义条件概率P(y | x)。在给定观测值序列的条件下,链式条件随机场主要包含两种团结构:单个状态团及相邻状态团,通过引入两类特征函数便可以定义出目标条件概率:
在这里插入图片描述
以词性标注为例,如何判断给出的一个标注序列靠谱不靠谱呢?转移特征函数主要判定两个相邻的标注是否合理,例如:动词+动词显然语法不通;状态特征函数则判定观测值与对应的标注是否合理,例如: ly结尾的词–>副词较合理。因此我们可以定义一个特征函数集合,用这个特征函数集合来为一个标注序列打分,并据此选出最靠谱的标注序列。也就是说,每一个特征函数(对应一种规则)都可以用来为一个标注序列评分,把集合中所有特征函数对同一个标注序列的评分综合起来,就是这个标注序列最终的评分值。可以看出:特征函数是一些经验的特性。

14.4 学习与推断

对于生成式模型,通常我们都是先对变量的联合概率分布进行建模,对目标变量的边际分布(marginal distribution)或以某些可观测变量为条件的条件分布进行推断,那如何从联合概率得到边际分布呢?这便是学习与推断。下面主要介绍两种精确推断的方法:变量消去信念传播

14.4.1 变量消去

变量消去利用条件独立性来消减计算目标概率值所需的计算量,它通过运用乘法与加法的分配率,将对变量的积的求和问题转化为对部分变量交替进行求积与求和的问题,从而将每次的运算控制在局部,达到简化运算的目的。
在这里插入图片描述
在这里插入图片描述

14.4.2 信念传播

若将变量求和操作看作是一种消息的传递过程,信念传播可以理解成:一个节点在接收到所有其它节点的消息后才向另一个节点发送消息,同时当前节点的边际概率正比于他所接收的消息的乘积:
在这里插入图片描述
因此只需要经过下面两个步骤,便可以完成所有的消息传递过程。利用动态规划法的思想记录传递过程中的所有消息,当计算某个结点的边际概率分布时,只需直接取出传到该结点的消息即可,从而避免了计算多个边际分布时的冗余计算问题。

  • 指定一个根节点,从所有的叶节点开始向根节点传递消息,直到根节点收到所有邻接结点的消息(从叶到根);
  • 从根节点开始向叶节点传递消息,直到所有叶节点均收到消息(从根到叶)。
    在这里插入图片描述

14.5 近似推断

精确推断方法通常需要很大的计算开销,因此在现实应用中近似推断方法更为常用。近似推断方法大致可分为两大类:

  • 第一类是采样(sampling)
    通过使用随机化方法完成近似
  • 第二类是使用确定性近似完成近似推断
    典型代表为变分推断(variational inference)

14.5.1 MCMC采样

概率图模型中最常用的采用技术是马尔可夫链蒙特卡罗(Markov Chain Monte Carlo,简称MCMC)方法。

14.5.2 变分推断

变分推断通过使用已知简单分布来逼近所需推断的复杂分布,并通过限制近似分布的类型,从而得到一种局部最优、但具有确定解的近似后验分布。

14.6 话题模型

话题模型是生成式有向图模型,主要用于处理离散型数据

隐狄利克雷分配模型(LDA)是话题模型的杰出代表。在话题模型中,有以下几个基本概念:词(word)、文档(document)、话题(topic)

  1. 词:最基本的离散单元;
  2. 文档:由一组词组成,词在文档中不计顺序;
  3. 话题:由一组特定的词组成,这组词具有较强的相关关系。

在现实任务中,一般我们可以得出一个文档的词频分布,但不知道该文档对应着哪些话题,LDA话题模型正是为了解决这个问题。具体来说:LDA认为每篇文档包含多个话题,且其中每一个词都对应着一个话题。因此可以假设文档是通过如下方式生成:
在这里插入图片描述
这样一个文档中的所有词都可以认为是通过话题模型来生成的,当已知一个文档的词频分布后(即一个N维向量,N为词库大小),则可以认为:每一个词频元素都对应着一个话题,而话题对应的词频分布则影响着该词频元素的大小。因此很容易写出LDA模型对应的联合概率函数:
在这里插入图片描述
在这里插入图片描述
corpus-level(红色): α和β表示语料级别的参数,也就是每个文档都一样,因此生成过程只采样一次。
document-level(橙色): θ是文档级别的变量,每个文档对应一个θ。
word-level(绿色): z和w都是单词级别变量,z由θ生成,w由z和β共同生成,一个单词w对应一个主题z。

通过上面对LDA生成模型的讨论,可以知道LDA模型主要是想从给定的输入语料中学习训练出两个控制参数α和β,当学习出了这两个控制参数就确定了模型,便可以用来生成文档。其中α和β分别对应以下各个信息:

α:分布p(θ)需要一个向量参数,即Dirichlet分布的参数,用于生成一个主题θ向量;
β:各个主题对应的单词概率分布矩阵p(w|z)。

把w当做观察变量,θ和z当做隐藏变量,就可以通过EM算法学习出α和β,求解过程中遇到后验概率p(θ,z|w)无法直接求解,需要找一个似然函数下界来近似求解,原作者使用基于分解(factorization)假设的变分法(varialtional inference)进行计算,用到了EM算法。每次E-step输入α和β,计算似然函数,M-step最大化这个似然函数,算出α和β,不断迭代直到收敛。

猜你喜欢

转载自blog.csdn.net/MLcongcongAI/article/details/88137005
今日推荐