统计学习方法BR-ch1:概论【存疑】
By arthur503 -- 29 Sep 2013
本章主要内容包括:
- 统计学习的定义、研究对象和方法;
- 监督学习(本书主要内容);
- 统计学习方法的三要素:模型、策略和算法;
- 模型选择:正则化、交叉验证和学习的泛化能力;
- 生成模型和判别模型;
- 监督学习方法的应用:分类问题、标注问题和回归问题;
- 1 统计学习
定义:是计算机运用数据构建概率统计模型,并运用模型对数据进行预测和分析的一门学科。也称统计机器学习。
对象:数据(从数据出发,提取数据特征,抽象出数据模型,发现数据中的知识,之后回到对数据的分析和预测)。
目的:对数据进行预测和分析,特别是对未知新数据进行预测和分析。
方法:监督学习、非监督学习、半监督学习、强化学习等(本书主要讨论监督学习)。
监督学习:
- 从给定的、有限的、用于学习的训练数据集合出发,假设数据时独立同分布产生的;
- 假设要学习的模型属于某个函数的集合,成为假设空间;
- 应用某个评价准则,从假设空间中选取一个最优的模型,使它对已知训练数据及未知测试数据在给定的评价准则下有最优的预测;
- 最优模型的选取由算法实现。
统计学习方法的三要素:模型+策略+算法。
实现统计学习方法的步骤:
- 有一个有限的训练数据集合;
- 确定包含所有可能的模型的假设空间,即学习模型的集合(模型);
- 确定模型选择的准则,即学习的策略(策略);
- 确定实现求解最优模型的算法,即学习的算法(算法);
- 通过学习方法选择最优模型;
- 利用学习的最优模型对新数据进行预测或分析;
- 2 监督学习
监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测(注意:这里的输入、输出是指某个系统的输入与输出,与学习的输入与输出不同)。
输入空间、输出空间:在监督学习中,将输入与输出所有可能取值的集合分别成为输入空间与输出空间。输入与输出空间是有限元素的集合,二者可以是同一个空间,也可以是不同的空间。通常,输出空间远远小于输入空间。
特征空间:每一个具体的输入是一个实例,通常由特征向量表示。这时,所有的特征向量存在的空间称为特征空间。特征空间的每一维对应一个特征。
监督学习从训练数据集合中学习模型,对测试数据进行预测。
输入变量X与输出变量Y有不同的类型,对不同类型的输入变量与输出变量的预测问题分别为:
- 输入连续、输出连续:回归问题;
- 输入连续或离散、输出有限离散:分类问题;
- 输入为变量序列、输出为变量序列:标注问题;
监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y)。P(X,Y)表示分布函数,或分布函数密度。训练数据与测试数据被看做是依联合概率分布P(X,Y)独立同分布产生的。
假设空间:监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。也就是说,学习的目的在于找到这个最好的模型。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesisi space)。假设空间的确定意味着学习范围的确定。
监督学习的模型可以是概率模型或非概率模型,由条件概率分布P(Y|X)或决策函数Y=f(X)表示,随具体学习方法而定。【存疑:怎么依方法而定?】
监督学习分为学习和预测两个过程:
在学习过程中,学习系统利用给定的训练数据集,通过学习(或训练)得到一个模型,表示为条件概率分布或决策函数,用来描述输入与输出随机变量之间的映射关系;
在预测系统中,预测系统对于给定的测试样本集中的输入,由模型给出相应的输出。
在学习系统中,学习系统(即学习算法)试图通过训练数据集中的样本带来的信息学习模型。具体而言,对输入x,一个具体的输入模型y=f(x)可以产生一个输入出f(x),而训练数据集中对应的输出为y,如果这个模型有很好的预测能力,训练样本输出y和模型输出f(x)之间的差就应该足够小。学习系统通过不断的尝试,选取最好的模型,以便对训练数据集有足够好的预测,同时对未知的测试数据集的预测也有尽可能好的推广。
总结:监督学习是从给定有限的训练数据出发,假设数据是独立同分布的,而且假设模型属于某个假设空间,应用某一个评价准则,从假设空间中选取一个最优的模型,使他对已给训练数据及未知测试数据在给定评价标准意义下有最准确的预测。
- 3 统计学习三要素
方法 = 模型 + 策略 + 算法。(不仅是监督学习,非监督学习、强化学习也同样具有这三要素)。
1.模型:
在监督学习过程中,模型就是所需要学习的条件概率分布或决策函数。模型的假设空间就是包括所有可能的条件概率分布或决策函数的集合。假设空间中的模型一般有无穷多个。【存疑:如何从无穷多个可能的模型中选择最优解?标准是什么?解决方法是什么?】【注:标注即是策略?解决方法即是算法?】
(注:本书中,称由决策函数表示的模型为非概率模型,由条件概率表示的模型为概率模型。)
2.策略:
有了模型的假设空间,统计学习接着需要考虑的是按照什么样的准则学习或选择最优的模型。统计学习的目标在于:从假设空间中选取最优模型(从而对未知数据进行预测和分析)。
损失函数:度量模型一次预测的好坏;
风险函数:度量平均意义下模型预测的好坏;
常用的损失函数(感觉就是对预测值与实际值的差值的二进制、平方、绝对、对数的表示):
- 0-1损失函数;
- 平方损失函数;
- 绝对损失函数;
- 对数损失函数或对数似然损失函数;
对损失函数的期望称为风险函数,或期望损失。学习的目标就是选取期望风险最小的模型(从而对未知的数据进行分析和预测)。对不同数据集的误差包括:训练数据集(训练误差),测试数据集(测试误差),未知数据集(泛化误差)(注:泛化误差就是模型的期望风险)。
怎么选取期望风险最小?
这需要先明确如何计算期望风险。
经验风险:给定训练数据集,模型f(x)关于训练数据集的平均损失称为经验风险或经验损失。
期望风险是模型关于联合分布的期望损失,经验风险是模型关于训练样本集的平均损失。根据大数定律,当样本容量N趋于无穷时,经验风险趋于期望风险。所以可以考虑使用经验风险估计期望风险。但是,由于实际中,训练样本数目有限,甚至很小,所以经验风险估计期望风险效果常常并不理想,需要对经验风险进行一定的矫正。
这就涉及到监督学习的两个基本策略(在样本容量较大、或较小时适用):
1)经验风险最小化(empirical risk minimization, ERM)(Rerm):在假设空间、损失函数以及训练数据集确定的情况下,经验风险函数就可以确定。经验风险最小化的策略认为:经验风险最小的模型就是最优模型。
当样本容量足够大时,经验风险最小化能保证有很好的学习效果,在现实中广泛采用。极大似然估计就是一个例子(当模型是概率条件分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计)。
但是,当样本容量很小时,会产生“过拟合”现象(可以用正则化(即:结构风险最小化策略)与交叉验证来选择合适的模型防止过拟合)。
2)结构风险最小化(structural risk minimization, SRM)(Rsrm):是为了防止过拟合而提出来的策略。结构风险等价于正则化。结构风险是在经验风险上加上表示模型复杂度的正则化项或罚项。在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义为:
Rsrm = Rerm + 正则化项(罚项)
正则化项随着模型复杂度上升而增加,表示对模型的惩罚。
结构风险小需要经验风险和模型复杂度同时小。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。比如,贝叶斯估计中的最大后验概率估计(MAP)就是结构风险最小化的一个例子。
不管是根据哪种策略,求最优解最后都可化为对模型求解最优化问题。这样,监督学习问题就变成了经验风险或结构风险函数的最优化问题。
3.算法:
算法是指学习模型的具体计算方法。统计学习基于训练样本集,根据学习策略,从假设空间中选择最优模型,最后根据需要考虑使用什么样的计算方法求解最优模型。这时,统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法。
如果最优化问题有显式的解析解,这个最优化问题就比较简单;但通常解析解不存在,需要用数值计算的方法求解。
总结:统计学习方法之间的不同,主要来自其模型、策略、算法的不同。确定了这三者,统计学习的方法也就确定了,这就是将其称为统计学习三要素的原因。
-
4 模型评估和模型选择
-
- 1 训练误差与测试误差
(之前在“策略”中讲过,为使期望风险最小,有经验风险最小化和结构风险最小化两种策略。在采取这两种策略选择好模型空间/假设空间之后,我们需要对模型进行评估和选择)
对于给定损失函数的模型而言:
训练误差:模型关于训练数据集的平均损失。
测试误差:模型关于测试数据集的平均损失。
泛化误差:模型关于未知数据集的平均损失。(注:1.由于未知数据集是未知的,所以一般使用测试误差来表示泛化误差;2.事实上,泛化误差就是模型的期望风险。)
因此,其基于损失函数可以得到训练误差和测试误差就自然成为学习方法评估的标准。
测试误差反映了学习方法对未知的测试数据集的预测能力(即泛化能力),是学习中的很重要概念。
- 2 过拟合与模型选择
当假设空间含有不同复杂度(如:不同的参数个数)的模型时,就面临模型选择问题。如果一味追求提高对训练数据的预测能力,所选模型的复杂度则往往会比真模型更高。这种现象称为过拟合(over-fitting)。
这是因为训练数据本身存在噪声,这种对给定训练数据拟合效果最好的曲线对未知数据的预测能力往往不是最好的,在实际学习中不可取。这时,过拟合现象就会发生。
要防止过拟合,进行最优模型选择,即选择复杂度合适的模型,以达到使测试误差最小的学习目的。
常用的模型选择方法有两种:正则化与交叉验证。
-
5 正则化与交叉验证
-
- 1 正则化
正则化是在经验风险上加上一个正则化项或罚项。正则化项一般是模型复杂度的单调递增函数。
正则化是模型选择的典型方法,是结构风险最小化策略的实现(符合奥卡姆剃刀原理),作用是选择经验风险与模型复杂度同时较小的模型。
- 2 交叉验证
如果给定数据充足,进行模型选择可以随机将样本分为训练集、验证集和测试集三部分。训练集用来训练模型,验证集用于模型的选择,测试集用于最终对学习方法的评估。由于验证集有足够的数据,因此它对模型的选择也是有效的(注:这里比下面多了一个验证集来选择模型)。
但在许多实际应用中的数据是不充足的,为了选择更好的模型,可以采用交叉验证方法。
交叉验证:基本思想是重复使用数据。把给定数据进行切分,将切分后的数据不同的组合,得到训练集和测试集。
- 简单交叉验证:随机的将已知数据分为两部分(如70%和30%),一部分作为训练集,另一部分作为测试集。
- S折交叉验证:随机的将已知数据分为S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用剩下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次中平均测试误差最小的模型。
- 留一交叉验证:S折交叉验证的特殊情形是S=N(N是给定数据集的容量),成为留一交叉验证。往往在数据缺乏的情况下使用。
总结:两种模型的选择方法,一种(正则化)是通过增加模型复杂度的罚项来寻找整体最优;一种(交叉验证)是通过对数据集分解验证来剔除过拟合的模型。对于正则化后的模型,也可以使用交叉验证方法来验证。
-
6 泛化能力
-
- 1 泛化误差
学习方法的泛化能力(generalization ability)是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。事实上,泛化误差就是所学习到的模型的期望风险。
由于未知数据无法知道,所以一般通过测试误差来评价学习方法的泛化能力。
- 2 泛化误差上界
学习方法的泛化能力往往通过研究泛化误差的概率上界进行的,简称泛化误差上界。
泛化误差上界的性质:
- 是样本容量的函数,当样本容量增加时,泛化上界趋于0;
- 是假设空间容量的函数,假设空间容量越大,模型就越难学,泛化误差上界就越大。
- 7 生成模型与判别模型
监督学习的任务是学习一个模型,应用这个模型对给定的输入预测相应的输出。模型形式一般为决策函数:Y=f(X)或条件概率分布P(Y|X)。
监督学习方法又可以分为生成方法和判别方法。
生成方法由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型:P(Y|X) = P(X,Y) / P(X)。典型的生成模型有:朴素贝叶斯法和隐马尔科夫模型。
判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测的模型,即判别模型。判别方法关心的是对给定的输入X,应该预测什么样的输出Y。典型的判别模型包括:k近邻法、感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场等。
- 8 分类问题
在监督学习中,当输出变量Y取有限个离散值时,预测问题即便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,成为分类器。
分类学习包括学习和分类两个过程。
许多统计学习方法可以用于分类,包括:k近邻法、感知机、朴素贝叶斯法、决策树、决策列表、逻辑斯谛回归模型、支持向量机、提升方法、贝叶斯网络、神经网络、Winnow等。
- 9 标注问题
标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。标注问题的目标在于学习一个模型,使它能够对观测序列给出标记序列做为预测。注意:可能的标记个数是有限的,但其组合所成的标记序列的个数是依照序列长度呈指数级增长的。
标注问题是分类问题的一个推广,也是更复杂的结构预测问题的简单形式。
标注问题分为学习和标注两个过程。
标注常用的统计学习方法:隐马尔科夫模型、条件随机场。
- 10 回归问题
回归用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。回归模型正是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线使其很好的拟合已知数据,且很好的预测未知数据。
回归问题包括学习和预测两个过程。
回归问题最常用的损失函数是平方损失函数。在此情况下,回归问题可以由著名的最小二乘法求解。
总结:这三类问题都包括学习+XX(对应的类名)两个过程。他们常用的统计学习方法又可以归类为生成方法与判别方法。
本章思维导图: