第一章 统计学习方法概论
1.1统计学习
统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也称为统计机器学习。
统计学习的对象是数据,它从数据出发,提取数据的特征,抽象出数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去。
统计学习总的目的是考虑学习怎么样的模型和如何学习模型,以使模型对数据进行准确的预测与分析同时也要考虑尽可能提高学习效率。
统计学习的方法是基于数据构建统计模型从而对数据进行预测与分析,统计学习由监督学习,非监督学习,半监督学习和强化学习等组成。
统计学习方法包括模型的假设空间、模型选择的准则以及模型学习的算法,统称为统计学习方法的三要素,简称模型、策略、算法。
1.2监督学习
监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测。
1.2.1基本概念
输入空间&输出空间:输入与输出所有可能取值的集合。输出空间远远小于输入空间。
特征空间:每个具体的输入是一个实例,通常由特征向量表示,所有特征向量存在的空间称为特征空间。
联合概率分布:输入与输出的随即变量X和Y遵循联合概率分布P(X,Y),表示分布函数或分布密度函数。
假设空间:模型属于由输入空间到输出空间的映射的集合。
1.2.2问题的形式化
监督学习分为学习和预测两个部分。在学习过程中,学习系统利用给定的训练数据集,通过学习得到一个模型,表示为条件概率分布或决策函数
,条件概率分布
或决策函数描述输入与输出随机变量之间的映射关系。在预测过程中,预测系统对于给定的测试样本集中的 输入
,由模型
(表示找到概率最大的y给yn+1)或
给出相应的输出
。
1.3统计学习三要素
方法=模型+策略+算法
1.3.1模型
监督学习中,模型是所要学习的条件概率或决策函数。模型的假设空间包含所有可能的条件概率分布或决策函数。
1.3.2策略
统计学习的目标在于从假设空间中选取最优模型
损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
损失函数和风险函数
损失函数
损失函数的期望
这是理论上模型 f ( X) 关于联合分布 P(X,Y) 的平均意义下的损失,称为风险函数 (risk function)或期望损失(expected loss)
学习的目标就是选择期望风险最小的模型。一方面根据期望风险最小学习模型要用联合分布,另一方面联合分布又是未知。
模型关于训练数据集的平均损失称为经验风险或经验损失。
期望风险 Rexp (f ) 是模型关于联合分布的期望损失,经验风险 Remp ( f)是模型 关于训练样本集的平均损失.根据大数定律,当样本容量 N 趋于无穷时,经验风险趋于期望风险.所以一个很自然的想法是用经验风险估计期望风险.但是,由于现实中训练样本数目有限,甚至很小,所以用经验风险估计期望风险常常并不理想,要对经验风险进行一定的矫正.这就关系到监督学习的两 个基本策略:经验风险最小化和结构风险最小化。
经验风险最小化
当样本容量足够大时,经验风险最小化能保证有很好的学习效果,但是样本容量很小,溶剂造成过拟合。
结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出来的策略.结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term)。在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义是
J (f ) 为模型的复杂度,越大与复杂,越小与不复杂。
结构风险最小化的策略认为结构风险最小的模型是最优的模型.所以求最优模型,就是求解最优化问题
1.3.3算法
算法是指学习模型的具体计算方法。
1.4模型评估与模型选择
1.4.1训练误差和测试误差
当损失函数给定时,训练误差和测试误差是学习方法评估的标准。
训练误差是模型关于训练数据集的平均损失:
测试误差是模型关于测试数据集的平均损失:
1.4.2过拟合与模型选择
如果一味追求提高对训练数据的预测能力,所选模型的复杂度则往往会比真模型更高。这种现象称为过拟合(over-fitting)。过拟合是指学习时选择的模型所包含的参数过多,以致于出现这一模型对已知数据预测得很好,但对未知数据预测得很差的现象。可以说模型选择旨在避免过拟合并提高模型的预测能力。
1.5正则化与交叉验证
1.5.1正则化
正则化的一般形式:
其中,第 1 项是经验风险,第 2 项是正则化项, ≥ 0 为调整两者之间关系的系数。
第 1 项的经验风险较小的模型可能较复杂(有多个非零参数),这时第 2 项的模型复杂度会较大.正则化的作用是选择经验风险与模型复杂度同时较小的模型。
正则化符合奥卡姆剃刀(Occam’s razor)原理.奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数据并且十 分简单才是最好的模型,也就是应该选择的模型.
1.5.2交叉验证
在许多实际应用中数据是不充足的.为了选择好的模型,可以采用交叉验证方法.交叉验证的基本想法是重复地使用数据;把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。
简单交叉验证
简单交叉验证方法是:首先随机地将已给数据分为两部分,一部分作为训练集,另一部分作为测试集(例如,70%的数据为训练集,30%的数据为测试集);然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型.
S 折交叉验证
首先随机地将已给数据切分为 S 个互不相交的大小相同的子集;然后利用 S -1个子集的数据 训练模型,利用余下的子集测试模型;将这一过程对可能的 S 种选择重复进行;最后选出 S 次评测中平均测试误差最小的模型。
留一交叉验证
S 折交叉验证的特殊情形是 S =N ,称为留一交叉验证
1.6泛化能力
1.6.1泛化误差
泛化能力指由该方法学习到的模型对 未知数据的预测能力,
泛化误差
泛化误差就是所学习到的模型的期望风险
1.6.2泛化误差上界
学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的。
1.7生成模型和判别模型
生成方法由数据学习联合概率分布 P(X ,Y) ,然后求出条件概率分布P(Y| X) 作为预测的模型,即生成模型。模型表示了给定输入 X 产生输出Y 的生成关系
判别方法由数据直接学习决策函数 f (X ) 或者条件概率分布 P(Y|X ) 作为预 测的模型,即判别模型.判别方法关心的是对给定的输入 X,应该预测什么样的输出Y .