本文主要以统计学习方法(李航第二版)为基础,进行了一定的总结整理。并结合手写AI相关课程,进行了优化。
统计学习(statistical learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也称为统计机器学习(statistical machine learning)
统计学习的主要特点是:(1)统计学习以计算机及网络为平台,是建立在计算机及网络上的:(2)统计学习以数据为研究对象,是数据驱动的学科:(3)统计学习的目的是对数据进行预测与分析:(4)统计学习以方法为中心,统计学习方法构建模型并应用模型进行预测与分析:(5)统计学习是概率论、统计学、信息论、计算理论、最优化理论及计算机科学等多个领域的交叉学科,并且在发展中逐步形成独自的理论体系与方法论
统计学习研究的对象是数据(data)。它从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去
统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提。由于它们具有统计规律性,所以可以用概率统计方法处理它们:比如,可以用随机变量描述数据中的特征,用概率分布描述数据的统计规律。在统计学习中,以变量或变量组表示数据。数据分为由连续变量和离散变量表示的类型
统计学习用于对数据的预测与分析,特别是对未知新数据的预测与分析。对数据的预测可以使计算机更加智能化,或者说使计算机的某些性能得到提高,对数据的分析可以让人们获取新的知识,给人们带来新的发现。对数据的预测与分析是通过构建概率统计模型实现的。统计学习总的目标就是考虑学习什么样的模型和如何学习模型,以使模型能对数据进行准确的预测与分析,同时也要考虑尽可能地提高学习效率
统计学习方法可以概括如下:从给定的、有限的、用于学习的训练数据(training data)集合出发,假设数据是独立同分布产生的:并且假设要学习的模型属于某个函数的集合,称为假设空间(hypothesis space);应用某个评价准则(evaluationcriterion),从假设空间中选取一个最优模型,使它对已知的训练数据及未知的测试数据(test data)在给定的评价准则下有最优的预测:最优模型的选取由算法实现。这样,统计学习方法包括模型的假设空间、模型选择的准则以及模型学习的算法。称其为统计学习方法的三要素,简称为模型(model)、策略(strategy)和算法(algorithm)
- 得到一个有限的训练数据集合
- 确定包含所有可能的模型的假设空间,即学习模型的集合
- 确定模型选择的准则,即学习的策略
- 实现求解最优模型的算法,即学习的算法
- 通过学习方法选择最优的模型
- 利用学习的最优模型对新数据进行预测或分析
统计学习或机器学习一般包括监督学习、无监督学习、强化学习。有时还包括半监督学习、主动学习
监督学习(supervised learning)是指从标注数据中学习预测模型的机器学习问题。标注数据表示输入输出的对应关系,预测模型对给定的输入产生相应的输出。监督学习的本质是学习输入到输出的映射的统计规律
监督学习可以概括如下:从给定有限的训练数据出发,假设数据是独立同分布的,而且假设模型属于某个假设空间,应用某一评价准则,从假设空间中选取一个最优的模型,使它对已给的训练数据以及未知测试数据在给定评价标准意义下有最准确的预测
在监督学习中输入和输出对称为样本,在无监督学习中输入是样本
在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间(inputspace)与输出空间(output space)。输入与输出空间可以是有限元素的集合,也可以是整个欧氏空间。输入空间与输出空间可以是同一个空间,也可以是不同的空间,但通常输出空间远远小于输入空间
每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示。这时,所有特征向量存在的空间称为特征空间(feature space)。特征空间的每一维对应于一个特征。有时假设输入空间与特征空间为相同的空间,对它们不予区分:有时假设输入空间与特征空间为不同的空间,将实例从输入空间映射到特征空间。模型实际上都是定义在特征空间上的
测试数据也由输入与输出对组成。输入与输出对又称为样本(sample)或样本点
输入变量X和输出变量Y有不同的类型,可以是连续的,也可以是离散的。人们根据输入输出变量的不同类型,对预测任务给予不同的名称:输入变量与输出变量均为连续变量的预测问题称为回归问题。输出变量为有限个离散变量的预测问题称为分类问题,输入变量与输出变量均为变量序列的预测问题称为标注问题
标注问题是指将给定的文本进行标记或标注,以便对文本进行进一步的分析和处理
监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(XY)。P(X,Y)表示分布函数,或分布密度函数。注意在学习过程中,假定这一联合概率分布存在,但对学习系统来说,联合概率分布的具体定义是未知的。训练数据与测试数据被看作是依联合概率分布P(xy)独立同分布产生的。统计学习假设数据存在一定的统计规律,X和Y具有联合概率分布就是监督学习关于数据的基本假设
监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。换句话说,学习的目的就在于找到最好的这样的模型。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesis space)。假设空间的确定意味着学习的范围的确定
监督学习的模型可以是概率模型或非概率模型,由条件概率分布P(Y,X)或决策函数(decision function)Y=f(X)表示
监督学习利用训练数据集学习一个模型,再用模型对测试样本集进行预测。由于在这个过程中需要标注的训练数据集,而标注的训练数据集往往是人工给出的,所以称为监督学习。监督学习分为学习和预测两个过程,由学习系统与预测系统完成
在学习过程中,学习系统利用给定的训练数据集,通过学习(或训练)得到一个模型,表示为条件概率分布P(Y|X)或决策函数Y=f(X)。条件概率分布P(YX)或决策函数Y=f(X)描述输入与输出随机变量之间的映射关系
- 无监督学习(unsupervised learning)是指从无标注数据中学习预测模型的机器学习问题。无标注数据是自然得到的数据,预测模型表示数据的类别、转换或概率。无监督学习的本质是学习数据中的统计规律或潜在结构
- 模型的输入与输出的所有可能取值的集合分别称为输入空间与输出空间。输入空间与输出空间可以是有限元素集合,也可以是欧氏空间。每个输入是一个实例,由特征向量表示。每一个输出是对输入的分析结果,由输入的类别、转换或概率表示。模型可以实现对数据的聚类、降维或概率估计
- 强化学习(reinforcement learning)是指智能系统在与环境的连续互动中学习最优行为策略的机器学习问题。假设智能系统与环境的互动基于马尔可夫决策过程(Markov decision process),智能系统能观测到的是与环境互动得到的数据序列。强化学习的本质是学习最优的序贯决策
- 在序贯决策中,决策的过程是逐步进行的,每一步的决策都依赖于之前的决策和当前的状态。序贯决策通常涉及到不确定性和动态环境,因为在每个时间步骤中,环境的状态可能会发生变化,而决策者需要根据当前的状态来选择最优的行动
- 半监督学习(semi-supervisedlearning)是指利用标注数据和未标注数据学习预测模型的机器学习问题。通常有少量标注数据、大量未标注数据,因为标注数据的构建往往需要人工,成本较高,未标注数据的收集不需太多成本。半监督学习旨在利用未标注数据中的信息,辅助标注数据,进行监督学习,以较低的成本达到较好的学习效果
- 主动学习(active learing)是指机器不断主动给出实例让教师进行标注,然后利用标注数据学习预测模型的机器学习问题。通常的监督学习使用给定的标注数据,往往是随机得到的,可以看作是“被动学习”,主动学习的目标是找出对学习最有帮助的实例让教师标注,以较小的标注代价,达到较好的学习效果
- 半监督学习和主动学习更接近监督学习
概率模型与非概率模型
在监督学习中,概率模型取条件概率分布形式P(y|x),非概率模型取函数形式y=f(x)其中是输入,y是输出。在无监督学习中,概率模型取条件概率分布形式P(z|x)或P(x|z),非概率模型取函数形式z=g(x),其中x是输入,z是输出。在监督学习中,概率模型是生成模型,非概率模型是判别模型
模型分类 具体模型 概率模型 决策树、朴素贝叶斯、隐马尔可夫模型、条件随机场、概率潜在语义分析、潜在狄利克雷分配、高斯混合模型 非概率模型 感知机、支持向量机、k近邻、AdaBoost、k均值、潜在语义分析,神经网络 兼得 逻辑斯谛回归既可看作是概率模型,又可看作是非概率模型 条件概率分布P(ylz)和函数y=f(a)可以相互转化(条件概率分布P(a)和函数z=g()同样可以)。具体地,条件概率分布最大化后得到函数,函数归一化后得到条件概率分布。所以,概率模型和非概率模型的区别不在于输入与输出之间的映射关系,而在于模型的内在结构。概率模型一定可以表示为联合概率分布的形式,其中的变量表示输入、输出、隐变量甚至参数。而针对非概率模型则不一定存在这样的联合概率分布
概率模型的代表是概率图模型(probabilistic graphical model),概率图模型是联合概率分布由有向图或者无向图表示的概率模型,而联合概率分布可以根据图的结构分解为因子乘积的形式。贝叶斯网络、马尔可夫随机场、条件随机场是概率图模型。无论模型如何复杂,均可以用最基本的加法规则和乘法规则进行概率推理
线性模型与非线性模型
特别是非概率模型,可以分为线性模型(linear model)和非线性模型(non-linearmodel)。如果函数y=f(z)或z=g(z)是线性函数,则称模型是线性模型,否则称模型是非线性模型
模型分类 具体模型 线性模型 感知机、线性支持向量机、k 近邻 均值、潜在语义分析是线性模型 非线性模型 核函数支持向量机、AdaBoost、神经网络 兼得 深度学习(deep learning)实际是复杂神经网络的学习,也就是复杂的非线性模型的学习
- 参数化模型与非参数化模型
参数化模型假设模型参数的维度固定模型可以由有限维参数完全刻画;非参数化模型假设模型参数的维度不固定或者说无穷大,随着训练数据量的增加而不断增大
模型分类 具体模型 参数化模型 感知机、朴素贝叶斯、逻辑斯谛回归、k 均值、高斯混合模型 非参数化模型 决策树、支持向量机、AdaBoost、 近邻、潜在语义分析、概率潜在语义分析、潜在狄利克雷分配 参数化模型适合问题简单的情况,现实中问题往往比较复杂,非参数化模型更加有效
模型分类 具体模型 贝叶斯学习 朴素贝叶斯、潜在狄利克雷分配 核方法 支持向量机,以及核PCA、核K均值
贝叶斯学习(Bayesianlearning),其主要想法是,在概率模型的学习和推理中,利用贝叶斯定理,计算在给定数据条件下模型的条件概率,即后验概率,并应用这个原理进行模型的估计,以及对数据的预测。将模型、未观测要素及其参数用变量表示,使用模型的先验分布是贝叶斯学习的特点
贝叶斯估计与极大似然估计在思想上有很大的不同,代表着统计学中频率学派和贝叶斯学派对统计的不同认识。其实,可以简单地把两者联系起来,假设先验分布是均匀分布,取后验概率最大,就能从贝叶斯估计得到极大似然估计。图对贝叶斯估计和极大似然估计进行比较
核方法(kernel method)是使用核函数表示和学习非线性模型的一种机器学习方法,可以用于监督学习和无监督学习。有一些线性模型的学习方法基于相似度计算,更具体地,向量内积计算。核方法可以把它们扩展到非线性模型的学习,使其应用范围更广泛
把线性模型扩展到非线性模型,直接的做法是显式地定义从输入空间(低维空间)到特征空间(高维空间)的映射,在特征空间中进行内积计算。比如,支持向量机,把输入空间的线性不可分问题转化为特征空间的线性可分问题,如图所示
核方法的技巧在于不显式地定义这个映射,而是直接定义核函数,即映射之后在特征空间的内积。这样可以简化计算,达到同样的效果
统计学习方法都是由模型、策略和算法构成的,即统计学习方法由三要素构成,可以简单地表示为:
下面论述监督学习中的统计学习三要素。非监督学习、强化学习也同样拥有这三要素。可以说构建一种统计学习方法就是确定具体的统计学习三要素
统计学习首要考虑的问题是学习什么样的模型。在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。模型的假设空间(hypothesis space)包含所有可能的条件概率分布或决策函数
本书中称由决策函数表示的模型为非概率模型,由条件概率表示的模型为概率模型。为了简便起见,当论及模型时,有时只用其中一种模型
有了模型的假设空间,统计学习接着需要考虑的是按照什么样的准则学习或选择最优的模型。统计学习的目标在于从假设空间中选取最优模型。
一个损失函数(loss function)或代价函数(cost function)来度量预测错误的程度。损失函数是f(X)和Y的非负实值函数,记作L(Yf(X))
损失函数 0-1损失,平方损失,绝对损失,对数损失 损失函数值越小,模型就越好。由于模型的输入、输出(x,Y)是随机变量,遵循联合分布P(X,Y),所以损失函数的期望是:
R e x p ( f ) = E P [ L ( Y , f ( X ) ) ] = ∫ X × Y L ( y , f ( x ) ) P ( x , y ) d x d y \begin{aligned} R_{e x p}\left(f\right)& =E_{P}\left[L\left(Y,f\left(X\right)\right)\right] \\ &=\int_{X\times Y}L(y,f(x))P(x,y)\mathrm{d}x\mathrm{d}y \end{aligned} Rexp(f)=EP[L(Y,f(X))]=∫X×YL(y,f(x))P(x,y)dxdy这是理论上模型/(X)关于联合分布 P(X,Y)的平均意义下的损失,称为风险函数(risk function)或期望损失(expected loss)
学习的目标就是选择期望风险最小的模型。由于联合分布P(X,Y)是未知的,R(f)不能直接计算。这样一来,一方面根据期望风险最小学习模型要用到联合分布,另一方面联合分布又是未知的,所以监督学习就成为一个病态问题(ill-formmed problem)
模型f(X)关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss),记作Remp:
R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{\mathrm{emp}}(f)=\frac{1}{N}\sum\limits_{i=1}^N L(y_i,f(x_i)) Remp(f)=N1i=1∑NL(yi,f(xi))
期望风险Rexp(f)是模型关于联合分布的期望损失,经验风险Remp(f)是模型关于训练样本集的平均损失。根据大数定律,当样本容量矿趋于无穷时,经验风险Remp(J)趋于期望风险Rexp(f)。所以一个很自然的想法是用经验风险估计期望风险但是,由于现实中训练样本数目有限,甚至很小,所以用经验风险估计期望风险常常并不理想,要对经验风险进行一定的矫正。这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化
在假设空间、损失函数以及训练数据集确定的情况下,经验风险函数式就可以确定。经验风险最小化(empirical risk minimization,ERM)的策略认为,经验风险最小的模型是最优的模型
当样本容量足够大时,经验风险最小化能保证有很好的学习效果,在现实中被广泛采用。比如,极大似然估计(maximum likelihood estimation)就是经验风险最小化的一个例子。当模型是条件概率分布、损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计
但是,当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生过拟合(over-ftting)现象
结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出来的策略。结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer或罚项(penalty term)。在假设空间,损失函数以及训练数据集确定的情况下,结构风险的定义是:
R s t r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{\mathrm{strm}}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda J(f) Rstrm(f)=N1i=1∑NL(yi,f(xi))+λJ(f)
其中J(f)为模型的复杂度,是定义在假设空间上的泛函。模型越复杂,复杂度J(f)就越大;反之,模型f越简单,复杂度)就越小。也就是说,复杂度表示了对复杂模型的惩罚。 λ \lambda λ≥0是系数,用以权衡经验风险和模型复杂度。结构风险小需要经验风险与模型复杂度同时小。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测
贝叶斯估计中的最大后验概率估计(maximum posterior probability estimation,MAP)就是结构风险最小化的一个例子。当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计
监督学习问题就变成了经验风险或结构风险函数的最优化问题。这时经验或结构风险函数是最优化的目标函数
算法是指学习模型的具体计算方法。统计学习基于训练数据集,根据学习策略从假设空间中选择最优模型,最后需要考虑用什么样的计算方法求解最优模型。这时,统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法。如果最优化问题有显式的解析解,这个最优化问题就比较简单。但通常解析解不存在,这就需要用数值计算的方法求解。如何保证找到全局最优解,并使求解的过程非常高效,就成为一个重要问题。统计学习可以利用已有的最优化算法,有时也需要开发独自的最优化算法。
统计学习方法之间的不同,主要来自其模型、策略、算法的不同。确定了模型、策略、算法,统计学习的方法也就确定了
统计学习的目的是使学到的模型不仅对已知数据而且对未知数据都能有很好的预测能力。不同的学习方法会给出不同的模型。当损失函数给定时,基于损失函数的模型的训练误差(training error)和模型的测试误差(test error)就自然成为学习方法评估的标准。注意,统计学习方法具体采用的损失函数未必是评估时使用的损失函数。当然,让两者一致是比较理想的
训练误差的大小,对判断给定的问题是不是一个容易学习的问题是有意义的,但本质上不重要。测试误差反映了学习方法对未知的测试数据集的预测能力,是学习中的重要概念。显然,给定两种学习方法,测试误差小的方法具有更好的预测能力,是更有效的方法。通常将学习方法对未知数据的预测能力称为泛化能力(generalizationability)
当假设空间含有不同复杂度(例如,不同的参数个数)的模型时,就要面临模型选择(model selection)的问题
如果一味追求提高对训练数据的预测能力,所选模型的复杂度则往往会比真模型更高。这种现象称为过拟合(over-ftting)。过拟合是指学习时选择的模型所包含的参数过多,以至出现这一模型对已知数据预测得很好,但对未知数据预测得很差的现象
可以说模型选择旨在避免过拟合并提高模型的预测能力
选择复杂度适当的模型,以达到使测试误差最小的学习目的。下面介绍两种常用的模型选择方法:正则化与交叉验证
模型选择的典型方法是正则化(regularization)。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penaltyterm)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大
第1项的经验风险较小的模型可能较复杂(有多个非零参数),这时第2项的模型复杂度会较大。正则化的作用是选择经验风险与模型复杂度同时较小的模型
如果给定的样本数据充足,进行模型选择的一种简单方法是随机地将数据集切分成三部分,分别为训练集(training set)、验证集(validation set)和测试集(test set)。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。由于验证集有足够多的数据,用它对模型进行选择也是有效的
但是,在许多实际应用中数据是不充足的。为了选择好的模型,可以采用交叉验证方法。交叉验证的基本想法是重复地使用数据:把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择
学习方法的泛化能力(generalization ability)是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力。但这种评价是依赖于测试数据集的。因为测试数据集是有限的,很有可能由此得到的评价结果是不可靠的。统计学习理论试图从理论上对学习方法的泛化能力进行分析
泛化误差反映了学习方法的泛化能力,如果一种方法学习的模型比另一种方法学习的模型具有更小的泛化误差,那么这种方法就更有效。事实上,泛化误差就是所学习到的模型的期望风险
泛化误差上界:
学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的,简称为泛化误差上界(generalization error bound)。具体来说,就是通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣。泛化误差上界通常具有以下性质:它是样本容量的函数,当样本容量增加时,泛化上界趋于0;它是假设空间容量(capacity)的函数,假设空间容量越大,模型就越难学,泛化误差上界就越大
二类分类泛化误差是又上界的:
以上讨论的只是假设空间包含有限个函数情况下的泛化误差上界,对一般的假设空间要找到泛化误差界就没有这么简单,这里不作介绍
分类 具体模型 生成式 朴素贝叶斯法,隐马尔可夫模型 判别式 典型的判别模型包括:近邻法、感知机、决策树、逻辑斯谛回归模型、最大熵模型,支持向量机、提升方法,条件随机场 监督学习的任务就是学习一个模型
监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分别称为生成模型(generative model)和判别模刑(discriminative model)
生成方法由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型:
P ( Y ∣ X ) = P ( X , Y ) P ( X ) P(Y|X)=\frac{P(X,Y)}{P(X)} P(Y∣X)=P(X)P(X,Y)
这样的方法之所以称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系判别方法由数据直接学习决策函数f(X)或者条件概率分布 P(YIX)作为预测的模型,即判别模型。判别方法关心的是对给定的输入X,应该预测什么样的输出Y
生成方法的特点:
- 生成方法可以还原出联合概率分布 P(X,y),而判别方法则不能
- 生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型
- 当存在隐变量时,仍可以用生成方法学习,此时判别方法就不能用
判别方法的特点:
- 判别方法直接学习的是条件概率P(YX)或决策函数(X),直接面对预测,往往学习的准确率更高
- 由于直接学习P(YX)或f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题
评价分类器性能的指标一般是分类准确率(accuracy),其定义是:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比
按照输入变量和输出变量之间关系的类型即模型的类型,分为线性回归和非线性回归
回归学习最常用的损失函数是平方损失函数,在此情况下,回归问题可以由著名的最小二乘法(leasts quares)求解
完毕!!!