本笔记中个别内容参考了《西瓜书》及若干大佬的博客
第一章 概论
统计学习,又称统计机器学习(机器学习),现在提到的 机器学习 往往指的就是 统计机器学习。
统计学习研究的对象是数据,其对数据的基本假设是同类数据存在一定的统计规律性,因此可以用概率统计方法处理他们:用随机变量描述数据中的特征,用概率分布描述数据的统计规律,然后基于数据构建概率统计模型从而对数据进行预测和分析。
统计学习假设数据是独立同分布(i.i.d.)
1.1 统计学习的分类
统计学习方法一般包括一下几种:
监督学习
监督学习假设输入随机变量X和输出随机变量Y遵循联合概率分布
。
监督学习的模型可以是概率模型:条件概率分布
,也可以是非概率模型:决策函数Y=f(X)。对具体的输入做预测,写作
或
。通过学习(训练)得到一个模型为条件概率分布
或决策函数
。
无监督学习
无监督学习的本质是学习数据中的统计规律或潜在结构。
假设
是输入空间,
是隐式结构空间,无监督学习要学习的模型可表示为
或条件概率分布
或
强化学习
半监督学习与主动学习
统计学习按照模型的种类,可分为:
概率模型和非概率模型 (二者区别不在于输入与输出映射关系,而在于模型内部结构)
概率模型:决策树、朴素贝叶斯、隐马尔可夫模型、条件随机场、概率潜在语义分析、潜在狄利克雷分配、高斯混合模型。代表是概率图模型(贝叶斯网络、马尔科夫随机场、条件随机场)
非概率模型:感知机、支持向量机、k近邻、AdaBoost、k均值、潜在语义分析、神经网络
线性模型和非线性模型
线性模型:感知机、线性支持向量机、k近邻、k均值、潜在语义分析
非线性模型:核函数支持向量机、AdaBoost、神经网络
参数化模型和非参数化模型
按照算法来分,可以分为:在线学习和批量学习
按照技巧来分,可以分为:贝叶斯学习和核方法
1.2 统计学习三要素
统计学习三要素:模型、策略、算法。
在监督学习中,模型就是所要学习的条件概率分布或决策函数。算法指学习模型的具体计算方法,可以利用已有的最优化算法,有时也需要开发独自的最优化算法。策略是按照什么样的准则从模型的假设空间中选取最优模型。下面主要讲策略。
损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
期望风险是模型关于联合分布
的期望损失;经验风险
是模型关于训练样本集的平均损失。根据大数定律,当样本容量N趋于无穷时,经验风险趋于期望风险。所以一个很自然地想法就是用经验风险估计期望风险。答案现实中样本往往是有限的,所以用经验风险估计期望风险往往不是很理想,要对经验风险进行一定矫正。
这就引出了监督学习两个基本策略:经验风险最小化 和 结构风险最小化。
经验风险最小化就是我们在监督学习训练模型的时候,最小化经验风险(训练集的平均损失);结构风险最小化等价于正则化,就是再经验风险上加上表示模型复杂度的正则化项或罚项。
经验或结构风险函数就是最优化的目标函数。
// 泛函:函数的函数。
1.3 泛化能力
泛化误差:学习到的模型对未知数据预测的误差,即为泛化误差。事实上,泛化误差就是所学习到的模型的期望风险。
泛化误差上界:TODO
1.4 生成模型与判别模型
监督学习方法可以分为 生成方法 和 判别方法,学到的模型分别是 生成模型 和 判别模型。
生成模型:由数据学习联合概率分布,然后求出条件概率分布
作为预测的模型。即:
。
这类方法之所以称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系(机制)。
典型的生成模型:朴素贝叶斯法、隐马尔可夫模型、高斯混合模型
判别模型:由数据直接学习决策函数或条件概率分布
作为预测的模型。
判别方法关心的是对给定的输入X,应该预测什么样的输出Y
典型的判别模型:k近邻法、感知机、逻辑斯蒂回归模型、最大熵模型、支持向量机、提升方法和条件随机场。
两类方法的优缺点:
生成方法:
生成方法可以还原出联合概率分布
,判别方法不能
生成方法的收敛速度更快
当存在隐变量时,仍可以用生成方法学习,但不能用判别方法
判别方法:
判别方法直接学习条件概率
或决策函数
,直接面对预测,往往学习准确率更高;
由于直接学习
或
,可以对数据进行各种程度上的抽象,定义特征并使用特征,因此可以简化学习问题。
再直白点说:
生成模型是指能够学习数据的分布P,并生成新的数据样本的模型。生成模型可以用来生成与训练数据集类似的新数据,这对于数据增强、数据扩充等任务很有用。
判别模型是指能够对数据进行分类或回归的模型,它们通常直接对输入数据进行建模,不考虑数据的分布情况。判别模型通过学习data与label之间的关系,可以用来解决分类、回归等问题。
1.5 监督学习的应用
监督学习主要应用在三个方面:分类问题、标注问题、回归问题。
标注(tagging)问题的输入是一个观测序列,输出是一个标记序列或状态序列。
第四章 朴素贝叶斯法
4.1 基本方法
贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。 而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。
朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类算法。
朴素贝叶斯就是在利用贝叶斯公式进行分类的同时,对条件概率分布作了条件独立性假设,从而使带求的量转化为其它可求的量。
条件独立性假设:用于分类的特征在类确定的条件下都是条件独立的,即:
注:是对条件概率分布做了在条件Y=ck下的特征独立假设,使其相等于
。一定要带"条件",在条件Y=ck下特征X^j才独立,而不是说特征X^j直接就独立。
条件独立性假设这是一个较强的假设,朴素贝叶斯也由此得名,这一假设使得朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。
朴素贝叶斯流程:将条件独立性假设带入贝叶斯公式中,再通过最大后验概率来得最后的分类结果。最终求最大后验概率如下:
朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。在属性相关性较小时,朴素贝叶斯性能最为良好。
指示函数:当输入为True的时候,输出为1,输入为False的时候,输出为0。例如:
,表示f(x_i)不等于y_i的时候输出为1,否则输出为0。
推荐阅读:算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
4.2 极大似然估计(MLE)与最大后验概率(MAP)的区别
在已知数据x0的情况下,最大似然估计是求参数θ, 使似然函数 最大。最大后验概率估计则是想求θ使后验概率
最大,即使
最大。求得的θ不单单让似然函数大,也让θ自己出现的先验概率也得大。(这有点像正则化里加惩罚项的思想,不过正则化里是利用加法,而MAP里是利用乘法)
注:“使后验概率最大,即使
最大”的解释:贝叶斯公式为
,无论θ取何值,
都是一个固定的常数,不受影响,因此可以不考虑,所以就变成了求
![]()
4.3 贝叶斯网络(Bayesian network)
半朴素贝叶斯分类器:为了降低贝叶斯公式中估计后验概率的困难,朴素贝叶斯分类器采用了 属性条件独立性假设,但在现实中这个假设往往很难成立。于是人们对这一强假设进行了一定程度的放松,就产生了“半朴素贝叶斯分类器”,其核心思想是: 适当考虑一部分属性间的相互依赖信息,从而既不需进行完全联合概率计算,又不至于彻底忽略比较强的属性依赖关系。“独依赖估计”(ODE)是半朴素贝叶斯分类器最常见的策略,就是假设每个属性在类别之外最多仅依赖于一个其他属性。
概率图模型:在图的基础上表示概率分布的模型我们称之为概率图模型,其中结点表示随机变量,结点
之间的边表示结点的概率依赖关系。贝叶斯网络就是一个最基础的概率图模型。
根据对属性间以来的设计程度,贝叶斯分类器形成了一个"谱":朴素贝叶斯分类器不考虑属性间的依赖,贝叶斯网能表示任意属性间的依赖性,,二者分别位于“谱”的两端;介于二者之间的则是一系列版朴素贝叶斯分类器,他们基于各种假设和约束来对属性间的部分依赖性进行建模。
贝叶斯网络(Bayesian network),又称信念网络(Belief Network),或有向无环图模型(directed acyclic graphical model),是一种概率图模型。它是一种模拟人类推理过程中因果关系的不确定性处理模型,其网络拓朴结构是一个有向无环图(DAG)。
令G = (I,E)表示一个有向无环图(DAG),其中I代表图形中所有的节点的集合,而E代表有向连接线段的集合,且令X = (Xi),i ∈ I为其有向无环图中的某一节点i所代表的随机变量,若节点X的联合概率可以表示成:

其中pa_i表示i的parent。
一个贝叶斯网络描述了属性(特征)之间精确的依赖关系(即属性之间的条件独立性),因此可以精确的给出属性间的联合概率分布。比如下面这个贝叶斯网络,其联合概率分布定义为:.

对于贝叶斯网学习而言,模型就是一个贝叶斯网,同时每个贝叶斯网描述了一个在训练数据上的概率分布。贝叶斯网训练好之后就能用来回答“查询”(query),即通过一些属性变量的观测值来推测其他属性变量的取值。最理想的是直接根据贝叶斯网定义的联合概率分布来精确计算后验概率,但不幸的是,这种方式已被证明是NP-hard问题。因此往往做的是对贝叶斯网进行“近似采样”,常使用的是吉布斯采样(Gibbs sampling)。贝叶斯网学习可分为结构学习和参数学习两部分,参数学习通常较为简单,结构学习被证明是NP-hard问题。
贝叶斯网络中有三种条件独立的结构:head-to-head、tail-to-tail、head-to-tail;具体参考概率图模型之贝叶斯网络
贝叶斯网络适用于由离散变量构成的数据集合,变量之间满足一定的条件独立关系,且此条件独立关系能够用一个有向无环图来描述。贝叶斯网络可以针对给定的任务实现预测、分类、诊断、聚类、因果分析等数据挖掘的功能。根据初始条件和推理目标的不同,贝叶斯网络的应用类型各不相同。
隐变量(Latent variable):在统计里,隐变量是不可观测的随机变量,由于产生过程是不可观测的(或者说隐藏的),故得名隐变量。如果概率模型的变量都是观测到的变量,那么给定数据,我们就可以使用极大似然估计法,或者其他估计法去估计参数,但是当模型有隐变量的时候,就没有办法使用这些算法,这是就该使用EM算法来参了。
EM(Expectation-Maximization)算法是估计参数隐变量的常用方法,可以先看作与“梯度下降”作用类似的求解参数的算法,直接拿来做优化就行。
参考:《西瓜书》、概率图模型之贝叶斯网络、隐变量是什么
第十章 隐马尔可夫模型
10.1 基本概念
隐马尔可夫模型(HMM,Hidden Markov Model)是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态的序列,再由各个状态随机生成一个观测从而产生观测序列的过程。
隐马尔可夫模型三要素:初始状态概率向量(分布)π,状态转移概率矩阵A和观测概率矩阵B。因此HMM模型可以写成:。
初始状态概率向量(分布)π:第一个时刻所有可能的状态的概率。
状态转移概率矩阵A:在每一种状态下,转移到其他所有状态的概率矩阵。
观测概率矩阵B:在每一种状态下,生成每一种观测的概率矩阵。
两个基本假设:
齐次马尔可夫性假设:
观测独立性假设:
隐马尔可夫模型是一个生成模型,表示状态序列和观测序列的联合分布,但是状态序列是隐藏的,不可观测。也就是说HMM模型包含两个随机变量:状态和观测。其中状态是隐变量。
隐马尔可夫模型可以用于标注,这时状态对应着标记。标注问题是给定观测序列,预测其对应的标记序列。
10.2 三个基本问题
HMM有3个基本问题:概率计算问题、学习问题、预测问题。具体需要的时候再详细学习。

第十四章 概率图模型 《西瓜书》
14.1 隐变量模型
对于一些问题,直接使用观测的变量建模会导致问题过于复杂,或者无法得到很好的结果。但是,隐变量z可以为部分问题提供一个很好的作为观测数据和目标结果之间的桥梁,或者说引导。
隐变量模型(latent variable model)的应用:
观测数据有噪声,可以把无噪声数据当做隐变量
高维数据转化到低维度,可以把低维度当做隐变量
数据来自不同分布,可以把不同分布的软比例作为隐变量
数据有缺失,可以把缺失的特征作为隐变量
概率模型:将学习任务归结于计算变量的概率分布的模型。在概率模型中,利用已知变量推测位置变了的分布,称为“推断”(inference)。直白点讲,就是利用可观测的变量,推测出隐变量z的分布。一般是先根据可观测的变量x,推测出联合分布P(x, z),再根据联合分布求出隐变量分布z。
14.2 概率图模型
概率图模型(probabilistic graphical model)是一类用图来表达变量相关关系的概率模型。它以图为表示工具,最常见的是用一个结点表示一个或一组随机变量,结点之间的边表示变量间的概率相关关系,即“变量关系图”。
根据边的性质不同,概率图模型可大致分为两类: 第一类是使用有向无环图表示变量间的依赖关系,称为有向图模型或贝叶斯网(Bayesian network);第二类是使用无向图表示变量间的相关关系,称为无向图模型或马尔可夫网(Markov network)。
1)有向图模型
隐马尔可夫模型(HMM)是结构最简单的动态贝叶斯网(dynamic Bayesian network),这是一种著名的生成式的有向图模型。
2)无向图模型
马尔可夫随机场(Markov Random Field,简称 MRF)是典型的马尔可夫网,这是一种著名的生成式的无向图模型。图中每个结点表示一个或一组变量,结点之间的边表示两个变量之间的依赖关系。马尔可夫随机场有一组势函数(potentia functions),亦称“因子”(factor),这是定义在变量子集上的非负实函数,主要用于定义概率分布函数。
在马尔可夫随机场中,对于图中结点的一个子集,若其中任意两结点间都有边连接,则称该结点子集为一个“团”(clique)。若在一个团中加入另外任何一个结点都不再形成团,则称该团为“极大团”(maximal clique)。

全局马尔可夫性:TODO
局部马尔可夫性:TODO
成对马尔可夫性:TODO
条件随机场(Conditional Random Field, CRF)是一种判别式的无向图模型。条件随机场和马尔可夫随机场均使用团上的势函数定义概率,两者在形式上没有显著区别,但条件随机场处理的是条件概率,而马尔可夫随机场处理的是联合概率。
14.3 近似推断
概率图模型的推断方法大致可分为两类:第一类是精确推断方法,希望能计算出目标变量的边际分布或条件分布的精确值,遗憾的是,一般情形下,此类算法的计算复杂度随着极大团规模的增长呈指数增长,适用范围有限。第二类是近似推断方法,希望在较低的时间复杂度下获得原问题的近似解,此类方法在现实任务中更常用。
精确推断方法通常需要很大的计算开销,因此在现实应用中近似推断方法更为常用。近似推断方法大致可分为两大类: 第一类是采样(sampling),通过使用随机化方法完成近似;第二类是使用确定性近似完成近似推断,典型代表为变分推断(variational inference)。
1)MCMC采样
概率图模型中最常用的采样技术是马尔科夫链蒙特卡洛法(MCMC)。
变分推断
KL散度((KL divergence,Kullback-Leibler divergence):KL散度是描述两个概率分布 Q(z)和 P(z)相似度的一种度量,记作。对离散随机变量,KL散度定义为:
; 对连续随机变量,KL散度定义为:
。 KL散度具有性质:
。
变分推断(variational inference)是贝叶斯学习中常用的、含有隐变量模型的学习和推理方法。它通过使用已知简单分布来逼近需推断的复杂分布,并通过限制近似分布的类型,从而得到一种局部最优、但具有确定解的近似后验分布。
基本想法:假设我们已经有了一个“关于观测变量(数据)x、隐变量z(包括参数)”的模型,即联合概率分布 ,这个模型的作用是对输入X进行概率推理。对于输入进来的一个观测变量x,我们需要对模型的参数进行更新,目标是学习模型的后验概率分布
。
根据贝叶斯公式有:,我们想直接计算
,就必须知道
,但
是一个复杂的分布,我们想要计算它就必须拥有全域的数据集,这是很困难的。因此,变分推断考虑用隐变量z的概率分布 q(z) 近似条件概率分布p(z|x),然后用 KL 散度
计算两者的相似度,找到与p(z|x)在KL散度意义下最近的分布 q*(z),来近似p(z|x):
。其中,q(z)称为变分分布(variational distribution),
如下所示:

用KL公式对进行展开:
即:
左边称为证据,证据指数据或可观测变量的概率密度,即。右边称为证据下界(Evidence Lower Bound,ELBO)。
我们的目标是求一个q(z)使得KL散度最小化,因为相对于q(z),是一个常量,所以不管
多么难求它都是一个常量,我们无需考虑。所以KL散度最小化的问题,就转换为了证据下界最大化。
对变分分布 q(z)要求是具有容易处理的形式,通常假设 q(z)对z的所有分量都是互相独立的(实际是条件独立于参数),即满足:,这时变分分布称为平均场。
在使用变分法时,最重要的是考虑如何对隐变量进行拆解,以及假设个变量子集服从何种分布。
总结,变分推断有以下几个步骤:
定义变分分布q(z),要求是易处理;
推导其证据下界ELBO的表达式;
用最优化方法对证据下界ELBO进行优化,如坐标上升,得到最优分布 q*(z),作为后验分布
的近似。
14.4 话题模型
话题模型(topic model)是一族生成式有向图模型,主要用于处理离散型的数据(如文本集合)。在信息检索、自然语言处理等领域有广泛应用。隐狄利克雷分配模型(Latent Dirichlet Allocation,简称LDA)是话题模型的典型代表。
词袋模型。数据对象只要能用词袋描述,就可使用话题模型。
概率图模型的一个发展方向是使得模型的结构能对数据有一定的自适应能力,即“非参数化”(non-parametric) 方法,例如层次化狄利克雷过程模型、无限隐特征模型等。
第十九章 马尔科夫链蒙特卡罗法
19.1 蒙特卡罗法
蒙特卡罗法是通过基于概率模型的抽样进行数值近似计算的方法,蒙特卡罗法可以用于概率分布的抽样、概率分布数学期望的估计、定积分的近似计算。
随机抽样是蒙特卡罗法的一种应用,有直接抽样法、接受-拒绝抽样法等。接受-拒绝法的基本想法是,找一个容易抽样的建议分布,其密度函数的数倍大于等于想要抽样的概率分布的密度函数。按照建议分布随机抽样得到样本,再按要抽样的概率分布与建议分布的倍数的比例随机决定接受或拒绝该样本,循环执行以上过程。
使用蒙特卡罗法进行数学期望估计:
求函数f(x)关于密度函数p(x)的数学期望:
使用蒙特卡洛法求积分:
首先将任意函数
转换为某一个函数的数学期望形式,具体地:通过
转换为
和一个概率密度函数
,这就可以表示为函数
的数学期望形式;然后再通过蒙特卡洛法对这一数学期望进行估计
;总体过程如下:
19.2 马尔可夫链
马尔可夫性:未来的状态只依赖于现在的状态(假设现在已知),而与过去无关。
具有马尔可夫性的随机序列称为马尔可夫链,或马尔可夫过程。
语言模型(LM)是建立在词表上的n阶马尔科夫链。(n阶:当前状态与前n个状态相关)
平稳分布:状态空间为S,转移概率矩阵为P,如果在状态空间中存在一个分布π使得:π=Pπ,则称π为马尔科夫链的平稳分布。
19.3 马尔可夫链蒙特卡罗法(MCMC)
马尔可夫链蒙特卡罗法是以马尔科夫链为概率模型的蒙特卡罗积分方法。
19.3 Metropolis-Hastings算法
Metropolis-Hastings算法是最基本的马尔可夫链蒙特卡罗法。
19.3 吉布斯采样
吉布斯采样用于多元联合分布的抽样和估计,是单分量Metropolis-Hastings算法的特殊情况。