统计学习方法概论¶
统计学习方法三要素:模型、策略和算法。
统计学习¶
统计学习
是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门科学,统计学习也称为统计机器学习。
统计学习的特点:
- 统计学习以计算机及网络为平台,是建立在计算机及网络上的;
- 统计学习以数据为研究对象,是数据驱动的学科;
- 统计学习的目的是对数据进行预测与分析;
- 统计学习以方法为中心,统计学习方法构建模型并应用模型进行预测与分析;
- 统计学习是概率论、统计学、信息论、计算理论、最优化及计算机等多个领域的交叉学科,并且在发展中逐步形成独自的理论体系与方法论。
学习
:如果一个系统能够通过执行某个过程改进它的性能,这就是学习。
统计学习的对象¶
统计学习的对象是 数据
。它从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去。机器学习中最重要的概念就是特征,而特征是最后需要输入到模型中进行训练的多维数据向量,它是来自于各种不同类型的数据(如数字、文本、图像、音频、视频等)转换,这个转换的过程就是机器学习与数据挖掘领域很重要的一个步骤:“特征工程”。
统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提。在统计学习过程中,以变量或变量组表示数据。数据分为由连续变量和离散变量表示的形式。
统计学习的目的¶
统计学习用于对数据进行预测与分析,特别是对 未知
新数据进行预测与分析。
对数据的预测与分析是通过构建概率统计模型实现的。统计学习总的目的就是考虑学习什么样的模型和如何学习模型,以使模型能对数据进行准确的预测与分析,同样也要考虑尽可能地提高学习效率。
统计学习的方法¶
监督学习,非监督学习,半监督学习,强化学习等组成。
从给定的、有限的、用于学习的训练数据集合出发,假设数据是 独立同分布 产生的;并且假设要学习的模型属于某个函数的集合,称为 假设空间
;应用某个评价准则,从假设空间中选取一个最优的模型,使它对已知训练数据及未测试数据在给定的评价准则下有最优的预测;最优模型的选取由算法实现。这样,统计学习方法包括模型的假设空间、模型选择的准则以及模型学习的算法,统称其统计学习方法的三要素:简称为模型
、策略
和 算法
。
步骤如下:
- 得到一个有限的训练数据集合;
- 确定包含所有可能的模型的假设空间,即学习模型的集合;
- 确定模型选择的准则,即学习的策略;
- 实现求解最优模型的算法,即学习的算法;
- 通过学习方法选择最优模型;
- 通过学习的最优模型对新数据进行预测和分析。
统计学习的研究¶
研究分为方法、理论和应用。
统计学习的重要性¶
- 统计学习是处理海量数据的有效方法。
- 统计学习是计算机智能化的有效手段。
- 统计学习是计算机科学发展的一个重要组成部分(属于系统、计算和信息三者中的信息)。
监督学习¶
监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出作出一个好的预测。
基本概念¶
在监督学习中,将输入和输出所有可能取值的集合分别称为 输入空间
与输出空间
。每个具体的输入是一个实例,通常由特征向量表示。所有特征向量存在的空间称为特征空间。
在监督学习过程中,将输入与输出看作是定义在输入(特征)空间与输出空间上的随机取值。监督学习从训练数据集合中学习模型,对测试数据进行预测。
不同的预测任务给予不同的名称:
- 输入变量与输出变量均为连续变量的预测问题成为
回归问题
。 - 输出变量为有限个离散变量的预测问题称为
分类问题
。 - 输入变量和输出变量均为变量序列的预测问题称为
标注问题
。
监督学习假设输入与输出的随机变量 {X} 和 {Y} 遵循联合概率分布 {P(X, Y)},{P(X, Y)} 表示分布函数,或分布密度函数。学习的过程中,假设这一联合概率分布存在,但对于学习系统来说,具体定义是未知的,统计学习假设数学存在一定的统计规律,{X} 和 {Y} 具有联合概率分布的假设就是监督学习关于数据的假设。
监督学习的目的在于学习一个由输入到输出的映射,这个映射由模型来表示。学习的目的就在于找到最好的这样的模型。模型属于输入空间到输出空间的映射集合,这个集合就是假设空间。假设空间的确定以为着学习范围的确定。
模型可以是概率模型或非概率模型,有条件概率分布 {P(Y|X)} 或决策函数 {Y = f(X)} 表示。
问题的形式化¶
统计学习三要素¶
方法 = 模型 + 策略 + 算法
模型
:在监督学习过程中,模型就是所要学习的条件概率或者决策函数。模型的假设空间包含所有可能的条件概率分布或决策函数。策略
:使用一种什么样的评价,度量模型训练过程中的学习好坏的方法,同时根据这个方法去实施的调整模型的参数,以期望训练的模型将来对未知的数据具有最好的预测准确度。算法
:模型的具体计算方法。它基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后考虑用什么样的计算方法去求解这个最优模型。
损失函数和风险函数¶
损失函数(loss function)或代价函数(cost function)是用来度量模型的预测能力的。损失函数是 {f(X)}(预测值)和 {Y}(真实值)之间的非负实值函数(因为两者之间的差值可以理解为两者之间的距离,是非负的),记作 {L(Y, f (X))}。
- {0-1} 损失函数:{ L(Y, f(X) = \mathbb{I}[Y \neq f(X)]}
- 平方损失函数:{L(Y, P(Y|X)) = (|Y - f(X)|)^2}
- 绝对损失函数:{L(Y, P(Y|X)) = |Y - f(X)|}
- 对数损失函数:{L(Y, P(Y|X)) = -\log P(Y|X)}
当然还存在其他的损失函数比如:指数损失函数或者Hinge Loss等。
损失函数值越小,代表模型越好,模型出现的误差越小。由于模型的输入、输出 {(X,Y)} 是随机变量,遵循联合分布 {P(X,Y)} ,所以损失函数的期望是:
这是理论上模型 {f(X)} 关于联合分布 {P(X,Y)} 的平均意义下的损失,称为风险函数(risk function)或期望损失(expected loss)。
学习的日标就是选择期望风险最小的模型。一方面根据期望风险最小化模型要用到联合概率分布,另一方面联合分布又是未知的,所以监督学习就成为一个病态问题。
在此我们提出另外一个概念:经验风险。模型 {f(x)} 关于训练数据集的平均损失称为经验风险 (empirical risk) 或经验损失 (empirical loss),记做 {R_{emp}(f)}:
期望风险 {R_{exp}(f)} 是模型关于联合分布的期望损失,经验风险 {R_{emp}(f)} 是模型关于训练样本集的平均损失。根据大数定律,当样本容量 {N} 趋于无穷时,经验风险趋于期望风险。所以一个很自然的想法是用经验风险估计期望风险。但是,由于现实中训练样本数目有限,甚至很小,所以用经验风险估计期望风险常常并不理想,要对经验风险进行一定的矫正。这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化。
在假设空间、损失函数以及训练数据集确定的情况下,经验风险函数式就可以确定。经验风险最小化 (empirical risk minimization, ERM) 的策略认为,经验风险最小的模型是最优的模型。根据这一策略,按照经验风险最小化求最优模型就是求解最优化问题:
其中,{\mathcal{F}} 是假设空间。当样本容量足够大时,经验风险最小化能保证有很好的学习效果,在现实中被广泛使用。比如,极大似然估计就是风险最小化的一个例子。当模型是条件概率分布时,损失函数是对数似然函数时,经验风险最小化就等价于极大似然估计。
当样本容量很小时,经验风险最小化学习的效果未必很好,会产生过拟合现象。
结构风险最小化 (structural risk minimization, SRM) 是为了防止过拟合而提出来的策略。结构风险最小化等价于正则化 (regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项 (regularizer) 或罚项 (penalty term)。在假设空间、损失函数以及训练数据确定的情况下,结构风险的定义是:
其中,{J(f)} 为模型的复杂度,是定义在假设空间 {\mathcal{F}} 的泛函。模型 {f} 越复杂,复杂度 {J(f)} 就越大;反之,模型 {f} 越简单,复杂度 {J(f)} 就越小。复杂度表示了对复杂模型的惩罚。{\lambda \geq 0} 是系数,用以权衡经验风险和模型复杂度。结构风险小需要经验风险与模型复杂度同时小。结构风险小的模型旺旺对训练数据以及未知的测试数据有较好的预测。
贝叶斯估计中最大后验概率 (maximum posterior probability estimation, MAP) 就是结构风险最小化的一个例子。当模型是条件概率分布、损失函数是对数损失函数。模型复杂度由模型的先验概率概率表示时,结构风险最下化就等于最大后验概率估计。
结构风险最小化的策略认为结构风险最小的模型是最优的模型。所以求解最优模型,就是求解最优化问题:
因此,监督学习问题就变成了经验风险或者结构风险函数最优化问题,这时经验或结构风险函数是最优化的目标函数。
算法¶
学习模型的具体计算方法。统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法。如何找到全局最优解并使得求解的过程非常高效,是一个十分重要的问题。
模型评估和模型选择¶
训练误差与测试误差¶
统计学习的目的是使学到的模型不仅对已知数据而且对未知数据都能有很好的预测能力。不同的学习方法会给出不同的模型。当损失函数给定时,基于损失函数的模型的训练误差和模型的测试误差就成了学习方法评估的标准。具体采用的损失函数未必是评估时使用的损失函数。
假设学习到的模型是 {Y = \hat{f}(X)},训练误差是模型 {Y = \hat{f}(X)} 关于训练数据集的平均损失:
其中,{N} 是样本容量。
测试误差是模型 {Y = \hat{f}(X)} 关于测试数据集的平均损失:
其中,{N'} 是样本容量。
当损失函数是 {0-1} 损失函数时,测试误差就变成了常见的测试数据集上的误差率:
这里 {\mathbb{I}} 是指示函数,即 {y_i \neq \hat{f}(x_i)} 是为 {1},否则为 {0}。
显然,
训练误差的大小,对判断给定的问题是不是一个容易学习的问题是有意义的,但本质上不重要。测试误差反映了学习方法对未知的测试数据集的预测能力,是学习中的重要概念。显然,给定两种学习方法,测试误差小的方法具有更好的预测能力,是更有效的方法。通常将学习方法对未知数据的预测能力成为泛化能力。
过拟合与模型选择¶
当假设空间含有不同复杂度的模型时,就要面临模型选择的问题。我们希望选择或学习一个合适的模型。如果在假设空间中存在 “真” 模型,那么所选择的模型应该逼近缜密性。具体地,所选择的模型要与真模型的参数个数相同,所选择的模型的参数向量与真模型的参数向量相近。
如果一味追求提高对训练数据的预侧能力,所选模型的复杂度则往往会比真模型更高。这种现象称为 过拟合
(over-fitting)。过拟合是指学习时选择的模型包含的参数过多,以致于出现这一模型对己知数据(训练数据集中的数据)预测得很好,但对未知数据(测试数据集中的数据)预测得很差的现象。模型选择旨在避免过拟合并提高模型的预测能力。
正则化与交叉验证¶
正则化¶
模型选择的典型方法是正则化,是结构风险最小化策略的实现,是在经验风险最小化上加一个正则化项或罚项。
正则化项在面对不同的问题可以取不同的形式。正则化的作用是选择经验风险与模型复杂度同时较小的模型。
正则化符合奥卡姆剃刀原理,在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。 从 贝叶斯估计
的角度来看,正则化项对应于模型的先验概率。可以假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率。
交叉验证¶
另一种常用的模型选择方法是交叉验证,如果给定的样本充足,进行模型选择的一种简单方法就是随机地将数据集切成三份,分别为训练集、验证集和测试集。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。由于验证集有足够多的数据,用它对模型进行选择也是最有效的方式。但是,由于许多实际问题中,数据是不充足的,为了选择好的模型,可以采用交叉验证的方式,基本思想是 重复利用数据
:把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。
简单交叉验证
:首先随机地将己给数据分为两部分,一部分作为训练集,另一部分作为测试集;然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型.
k-折交叉验证
(S-fold cross validation):首先随机地将已给数据切分为 {S} 个互不相交的大小相同的子集;然后利用 {S-1} 个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的 {S} 种选择重复进行;最后选出 {S} 次评测中平均侧试误差最小的模型.
留一文叉验证
(leave-one-out cross validation):{k}-折交叉验证的特殊情形是 {k=N},{N} 是给定数据集的容量。
泛化能力¶
泛化误差¶
学习方法的泛化能力是指由该学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。现实中采用最多的办法是通过测试误差来评价学习方法的繁华能力。但是这依赖于测试数据集,由于测试数据集有限,很可能得到的结果不可靠。统计学习理论上对学习的泛化能力进行了分析。
定义
:如果学习到的模型是 {\hat{f}},那么用这个模型对未知数据预测的误差即为泛化误差:
泛化误差反映了学习方法的泛化能力,如果一种学习方法的模型比另一种学习方法的模型具有更小的泛化误差,那么这种方法就更有效。事实上,泛化误差就是所学习到的模型的期望风险。
泛化误差上界¶
学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的,简称为泛化误差上界。即通过比较两种学习方法的泛化误差上界来比较它们的优劣。具有如下的性质:
- 当样本容量增加时,泛化上界趋于 {0}。
- 是假设空间容量的函数,假设空间容量越大,模型就越难学,泛化误差上界就越大。
对于一个二分类问题的泛化误差上界,分析如下:
数据集是从联合概率分布 {P(X, Y)} 独立同分布产生的,{X \in R^n},{Y \in \{-1, +1\}}。假设空间是函数的有限集合 {\mathcal{F}},{d} 是函数个数,设 {f} 是从 {\mathcal{F}} 中选取的函数。损失函数是 {0-1} 损失,关于 {f} 的期望风险和经验风险分别是:
经验风险最小化函数是:
人们更关心的是 {f_N} 的泛化能力:
下面讨论从有限集合 {\mathcal{F} = \{f_1, f_2, \cdots, f_d\}} 中人选出的函数 {f} 的泛化误差上界。
对二分类问题,当假设空间是有限个函数的集合 {\mathcal{F} = \{f_1, f_2, \cdots, f_d\}} 时,对任意一个函数 {f \in \mathcal{F}},至少以概率 {1 - \delta},以下不等式成立:
其中,
不等式左边是泛化误差,右边即为泛化误差上界。在泛化误差上界中,第一项是训练误差,训练误差越小,泛化误差也越小,第二项 {\epsilon(d,N,\delta)} 是 {N} 的单调递减函数,当 {N} 趋于无穷是趋于 {0};同时,它也是 {\sqrt{\log d}} 阶的函数,假设空间 {\mathcal{F}} 包含的函数额越多,其值也越大。
Hoeffding 不等式:
设 {S_n = \sum_{i=1}^{N} X_i} 是独立随机变量 {X_1, X_2, \cdots, X_n} 之和,{X_i \in [a_i, b_i]},则对任意的 {t < 0},以下不等式成立:
对任意函数 {f \in \mathcal{F}},{\hat{R}(f)} 是 {N} 个独立的随机变量 {L(Y, f(X))} 的样本均值,{R(f)} 是随机变量 {L(Y, f(X))} 的期望值,如果损失函数取值于区间 {[0,1]},即对所有 {i},{[a_i, b_i] = [0,1]},则有:
由于 {\mathcal{F} = \{f_1, f_2, \cdot, f_d\}} 是一个有限集合,故:
或者等价的,对任意的 {f \in \mathcal{F}},有:
令:
则:
则至少以概率 {1 - \delta} 有 {R(f) < \hat{R}(f) + \epsilon}。
从泛化误差上界可知,
训练误差越小的模型,其泛化误差也会小。
生成模型与判别模型¶
监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分别称为生成模型(geuemtive model)和判别模型(discriminative model)。生成方法由数据学习联合概率分布 {P(X,Y)} ,然后求出条件概率分布 {P(Y|X)} 作为预测的模型,即生成模型。
这样的方法之所以称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系.典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型。
判别方法由数据直接学习决策函数 {f(X)} 或者条件概率分布 {P(Y|X)} 作为预测的模型,即判别模型.判别方法关心的是对给定的输入 {X},应该预测什么样的输出 {Y} 。典型的判别模型包括k近邻法、感知机、决策树、逻辑斯谛回归模型、最大嫡模型、支持向量机、提升方法和条件随机场等。
给定输入 {X} ,生成模型不能直接预测出输出的 {y} ,需要计算之后,再比较(或者求出的是各种输出可能性的概率值,最大作为最终的求解结果),而判别模型可以直接给出预测结果 {y} ,(利用判断规则或者方法)。
生成方法的特点:
- 生成方法可以还原出联合概率分布 {P(X,Y)} ,而判别方法则不能;
- 生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型;
- 当存在隐变量时,仍可以用生成方法学习,此时判别方法就不能用。
判别方法的特点:
- 直接学习的是条件概率 {P(Y|X)} 或决策函数 {f(X)} ,直接面对预测,往往学习的准确率更高;
- 由于直接学习 {P(Y|X)} 或 {f(X)} ,可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。
分类问题¶
- TP(True Positive)——将正类预测为正类数(d);
- FN(False Negative)——将正类预测为负类数©;
- FP(False Positive)——将负类预测为正类数(b):
- TN(True Negative)——将负类预测为负类数(a).
精确率: {P(Positive)=\frac{TP}{TP+FP}=\frac{d}{d+b}}
召回率: {R(Positive)=\frac{TP}{TP+FN}= \frac{d}{d+c)}}
{F1}(精确率和召回率的调和均值): {F_1(Positive)= \frac{2*P*R}{P+R}}
同理可以求得 {P(Negative)} 、 {R(Negative)} 、 {F1(Negative)}
这三种度量一般用于检测模型对每一类别的检测或预测能力。
对模型整体评估如有准确率 {AC(accuracy)},{AC= \frac{a+d}{a+b+c+d}} (对角线元素,正类和负类都预测正确的样本数)/(样本总数) 还有 {ROC} 曲线等。
标注问题¶
标注(tagging)也是一个监督学习问题,可以认为标注问题是分了问题的一个推广,标准问题又是更复杂的结构预测问题的简单形式。标准问题的输入是一个观测序列,输出是一个标记系列或状态序列。标注问题的目标在于学习一个模型,使它能够对观测序列给出标记序列作为预测。特征序列的长度要远小于特征样本的个数。
评价标注模型的指标与评价分类模型的指标一样,常用的有标注准确率、精确率和召回率,定义与分类模型相同。但是,标注问题与分类问题最大的不同在于,标注问题的一个特征向量对应一个标签向量,即对每一个特征都进行属性的判断。
标注常用的统计学习方法有:隐马尔科夫模型、条件随机场。
回归问题¶
回归用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。回归模型正是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据。
回归问题按照输入变量的个数,分为一元回归和多元回归;按照输入变量和输出变量之间关系的类型即模型的类型,分为线性回归和非线性回归。
回归学习最常用的损失函数是平方损失函数,在此情况下,回归问题可以由著名的最小二乘法(least squares)求解。
本章概要¶
- 统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行分析与预测的一门学科。统计学习包括监督学习、非监督学习、半监督学习和强化学习。
- 统计学习方法三要素 ———— 模型、策略、算法,对理解统计学习方法起到了提纲挈领的作用。
- 本书主要讨论监督学习,监督学习可以概括如下:从给定有限的训练数据出发,假设数据是独立同分布的,而且假设模型属于某个假设空间,应用某一个评价准则,从假设空间中选取一个最优的模型,使它对已给定训练数据及未知测试数据在给定评价标准意义下有最准确的预测。
- 统计学习中,进行模型选择或者说提高学习的泛化能力是一个重要问题。如果只考虑减少训练误差,就可能产生过拟合现象。模型选择的方法有正则化与交叉验证。学习方法泛化能力的分析是统计学习理论研究的重要课题。
- 分类问题、标注问题和回归问题都是监督学习的重要个问题。本书较少的统计学习方法包括感知机、{k} 临近法、朴素贝叶斯法、决策树、逻辑斯蒂回归于最大熵模型、支持向量机、提升方法、{EM} 算法、隐马尔科夫模型和条件随机场。这些方法是主要的分类、标注以及回归方法。他们又可以归类为生成方法与判别方法。
习题¶
说明伯努利模型的极大似然估计以及贝叶斯估计中的统计学习方法三要素。伯努利模型是定义在取值为 {0} 与 {1} 的随机变量上的概率分布。假设观测到伯努利模型 {n} 次独立的数据生成结果,其中 {k} 次的结果为 {1},这时可以用极大似然估计或贝叶斯推理来估计结果为 {1} 的概率。
统计学习方法的三要素是模型、策略、算法。
伯努利模型是定义在取值为 {0} 与 {1} 的随机变量上的概率分布。
统计学分为两派:经典统计学派和贝叶斯统计学派。两者的不同主要是,经典统计学派认为模型已定,参数未知,参数是固定的,只是还不知道;贝叶斯统计学派是通过观察到的现象对概率分布中的主观认定不断进行修正。
极大似然估计和贝叶斯估计的模型都是伯努利模型也就是条件概率模型;极大似然估计用的是经典统计学派的策略,贝叶斯估计用的是贝叶斯统计学派的策略;为了得到使经验风险最小的参数值,使用的算法都是对经验风险求导,使导数为 {0}。
定义随机变量 {A} 为一次伯努利试验的结果,{A} 的取值为 {\{0,1\}} ,概率分布为 {P(A)}:
极大似然估计:
{A_i} 代表第 {i} 次随机试验。
根据观察到的结果修正 {\theta},也就是假设 {\theta} 是随机变量,θ服从β分布,有很多个可能的取值,我们要取的值时在已知观察结果的条件下使θ出现概率最大的值。上式分母是不变的,求分子最大就可以。
通过经验风险最小化推导极大似然估计。证明模型是条件概率分布,当损失函数是对数损失函数时,经验风险最小化等价于极大似然估计。
条件概率分布模型下,当损失函数是对数损失函数时,经验风险最小化目标函数为:
其中,{\theta \in \mathbb{R^n}} 表示模型参数。
由经验化风险最小化,有:
而极大似然估计的目标函数为:
假设样本独立同分布,则有:
从而,