写在最前面
如今机器学习和深度学习如此火热,相信很多像我一样的普通程序猿或者还在大学校园中的同学,一定也想参与其中。不管是出于好奇,还是自身充电,跟上潮流,我觉得都值得试一试。对于自己,经历了一段时间的系统学习(参考《机器学习/深度学习入门资料汇总》),现在计划重新阅读《机器学习》[周志华]和《深度学习》[Goodfellow et al]这两本书,并在阅读的过程中进行记录和总结。这两本是机器学习和深度学习的入门经典。笔记中除了会对书中核心及重点内容进行记录,同时,也会增加自己的理解,包括过程中的疑问,并尽量的和实际的工程应用和现实场景进行结合,使得知识不只是停留在理论层面,而是能够更好的指导实践。记录笔记,一方面,是对自己先前学习过程的总结和补充。 另一方面,相信这个系列学习过程的记录,也能为像我一样入门机器学习和深度学习同学作为学习参考。
章节目录
- 隐马尔可夫模型
- 马尔可夫随机场
- 条件随机场
- 学习与推断
- 近似推断
- 话题模型
(一)隐马可科夫模型
机器学习最重要的任务,是根据一些已观察到的证据(例如训练样本)来对感兴趣的未知变量(例如类别标记)进行估计和推测。概率模型(probabilistic model)提供了一种描述框架,将学习任务归结于计算变量的概率分布。在概率模型中,利用已知变量推测位置变量的分布称为“推断”(inference),其核心是如何基于可观测变量推测出未知变量的条件分布。具体来说,假定所关心的变量集合为Y,可观测变量集合为O,其他变量集合为R,
- “生成式”(generative)模型考虑联合分布P(Y,R,O);
- “判别式”(discriminative)模型考虑条件分布P(Y,R|O);
给定一组观测变量值,推断就是由P(Y,R,O)或P(Y,R|O)得到条件分布P(Y|O)。
直接利用概率和规则消去变量R显然不可行。为了便于研究高效的推断和学习算法,需要有一套能简洁紧凑地表达变量间关系的工具。
概率图模型(probabilistic graphical model)是一类用图来表达变量相关关系的概率模型。它以图为表示工具,最常见的是用一个结点表示一个或一组随机变量,结点之间的边表示变量间的概率相关关系,即“变量关系图”。根据边的性质不同,概率图模型可大致分为两类:
- 第一类是使用有向无环图表示变量间的依赖关系,称为有向图模型或贝叶斯网(Bayesian network);
- 第二类是使用无向图表示变量间的相关关系,称为无向图模型或马尔可夫网(Markov network);
隐马尔可夫模型(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),即:系统下一时刻的状态仅由当前状态决定,不依赖于以往的任何状态。
在实际应用中,人们常常关注隐马尔可夫模型的三个基本问题:
- 如何评价模型与观察序列之间的匹配程度
例如许多任务需根据以往的观察序列{x1,x2,...,xn-1}来推测当前时刻最可能的观测值xn; - 如何根据观测序列推断出隐藏的模型状态
例如在语音识别等任务中,观测值为语音信号,隐藏状态为文字,目标就是根据观测信号来推断最有可能的状态序列(即对应的文字); - 如何训练模型使其能最好的描述观测数据
例如在大多数现实应用中,人工指定模型参数已变得越来越不可行,如何根据训练样本学得最优的模型参数;
(二)马尔可夫随机场
马尔可夫随机场(markov Random Field,简称MRF)是典型的马尔可夫网,这是一种著名的无向图模型。图中每个结点表示一个或一组变量,结点之间的边表示两个变量之间的依赖关系。马尔可夫随机场有一组势函数(potential function),亦称“因子”(factor),这是定义在变量子集上的非负函数,主要用于定义概率分布模型。
(三)条件随机场
条件随机场(Conditional Random Field,简称CRF)是一种判别式无向图模型。生成式模型是直接对联合分布进行建模,而判别式模型则是对条件分布进行建模。前面介绍的隐马尔可夫模型和马尔可夫随机场都是生成式模型,而条件随机场是判别式模型。
(四)学习与推断
基于概率图模型定义的联合概率分布,我们能对目标变量的边际分布(marginal distribution)或以某些可观测变量为条件的条件分布进行推断。
对概率图模型,还需确定具体分布的参数,这称为参数估计或参数学习问题。
概率图模型的推断方法大致可分为两类:
- 第一类是精确推断方法
希望能计算出目标变量的边际分布或条件分布的精确值。遗憾的是,一般情形下,此类算法的计算复杂度随着极大团规模的增长呈指数增长,适用范围有限。 - 第二类是近似推断方法
希望在较低时间复杂度下获得原问题的近似解。此类方法在现实任务中更常用。
精确推断具有代表性的方法有,
1.变量消去
精确推断的实质是一类动态规划算法,它利用图模型所描述的条件独立性来消减计算目标概率值所需的计算量。变量消去是最直观的精确推断算法,也是构建其他精确推断算法的基础。
变量消去法有一个明显的缺陷:若需计算多个边际分布,重复使用变量消去法将对造成大量的冗余计算。
2. 信念传播
信念传播(Belief Propagation)算法将变量消去法中的求和操作看作一个消息传递过程,较好的解决了求解多个边际分布时重复计算问题。
(五)近似推断
精确推断方法通常需要很大的计算开销,因此在现实应用中近似推断方法更为常用。近似推断方法大致可分为两大类:
- 第一类是采样(sampling)
通过使用随机化方法完成近似; - 第二类是使用确定性近似完成近似推断
典型代表为变分推断(variational inference);
1. MCMC采样
概率图模型中最常用的采用技术是马尔可夫链蒙特卡罗(Markov Chain Monte Carlo,简称MCMC)方法。
2. 变分推断
变分推断通过使用已知简单分布来逼近所需推断的复杂分布,并通过限制近似分布的类型,从而得到一种局部最优、但具有确定解的近似后验分布。
(六)话题模型
话题模型(topic model)是一族生成式有向图模型,主要用于处理离散型的数据(如文本集合),在信息检索、自然语言处理等领域有广泛应用。隐狄利克雷分配模型(Latent Dirichlet Allocation,简称LDA)是话题模型的典型代表。
话题模型中有几个重要概念:词(word)、文档(document)和话题(topic)。
- 词
“词”是待处理数据的基本离散单元,例如在文本处理任务中,一个词就是一个英文单词或有独立意义的中文词。 - 文档
“文档”是待处理的数据对象,它由一组词组成,这次词在文档中是不计顺序的,例如一篇论文、一个网页都可看做一个文档;这种表示方式称为“词袋”(bag-of-words)。数据对象只要能用词袋描述,就可使用话题模型。 - 话题
“话题”表示一个概念,具体表示为一系列相关的词,以及它们在该概念下出现的概率。