CHAPTER1 统计学习方法概率
chapter1 统计学习方法概论
统计学习方法
- 监督学习
- 非监督学习
- 半监督学习
- 强化学习
监督学习
1.输入空间、特征空间与输出空间
- 输入与输出所有可能取值的集合称为输入空间与输出空间
- 输入与输出空间可以是有限元素集合,也可以是整个欧式空间
- 输出空间远远小于输入空间
2.实例与特征空间
- 每个具体的输入是一个实例,通常由特征向量表示
- 所有特征向量存在的空间称为特征空间
- 特征空间与输入空间有时假设为相同,有时假设为不同,此时需要将实例从输入空间映射到特征空间
在监督学习过程中,将输入与输出看作是定义在输入(特征)空间与输出空间上随机变量的取值。输入变量 X,输出变量Y。输入变量取值 ,输出变量取值 。
表示 的第 个特征,共 个特征
表示输入变量第 个观测值,即
训练集 –样本
3.联合概率分布
监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y)。训练数据与测试数据被看作是依联合概率分布P(X,Y)独立同分布产生的。统计学习假设数据存在一定的统计规律,X和Y具有联合概率分布的假设就是监督学习关于数据的基本假设。
4.假设空间
监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间。监督学习的模型可以是概率模型或非概率模型,由条件概率分布P(Y|X)或决策函数 表示,随具体方法而定。
5.问题的形式化
监督学习利用训练集学习一个模型,再用模型对测试样本集进行预测。由于在这个过程中需要训练数据集,而训练数据集往往是人工给出的,所以称为监督学习。监督学习分为学习和预测两个过程,由学习系统和预测系统完成。
6.统计学习三要素
方法=模型+策略+算法
模型:在监督学习中,模型就算所要学习的条件概率分布或决策函数
策略:即按照什么样的准则学习或选择最优的模型。统计学习的目标在于从假设空间中选取最优模型。
- 损失函数:度量模型一次预测的好坏
- 风险函数:度量平均意义下模型的好坏
风险函数(期望损失)
学习的目标就是选择期望风险最小的模型。由于联合分布P(X,Y)是未知的,不能直接计算。实际上,如果知道联合分布P(X,Y),可以从联合分布直接求出条件概率分布P(Y|X),也就不需要学习了。正因为不知道联合概率分布,所以才需要进行学习。这样一来,一方面根据期望风险最小学习模型要用到联合分布,另一方面联合分布又是未知的,所以监督学习就成为一个病态问题(ill-formed problem).经验风险最小化与结构风险最小化
缺点:当样本容量很小时,经验风险最小化学习效果未必很好,会产生过拟合现象。
**算法:**算法时指学习模型的具体计算方法。统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后需要考虑用什么样的计算方法求解最有模型。这时统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法。
7.模型评估与模型选择
训练误差与测试误差
测试误差反映了学习方法对未知的预测数据集的能力,比训练误差更加重要。
过拟合与模型选择
当假设空间含有不同复杂度(例如,不同的参数个数)的模型时,就要面临模型选择的问题。如果一味的追求提高对训练数据的预测能力,所选模型的复杂度往往会比真模型更高,这种现象称为过拟合。**过拟合时指学习时选择的模型所包含的参数过多,以至于出现这一模型对已知数据预测的很好,但对未知数据预测的很差的现象。**可以说模型选择旨在避免过拟合并提高模型的预测能力。
8.正则化与交叉验证
两种常用的模型选择方法:正则化和交叉验证
正则化
模型选择的典型方法是正则化。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(reqularizer)或罚项(penalty term)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。比如,正则化项可以是模型参数向量的范数。
其中,第1项是经验风险,第2项是正则化项, 为调整两者之间关系的系数。正则化项可以取不同的形式,例如,回归问题中,损失函数是平方损失,正则化项是参数向量的范数:
这里,||w||表示参数向量w的范数。
交叉验证
另一种常用的模型选择方法是交叉验证
-
样本数据充足
进行模型选择的一种简单方法是随机地将数据集切分成三部分,分布为训练集(traning set)、验证集(validation set)和测试集(test set)。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。由于验证集有足够多的数据,用它对模型进行选择也是有效的。
样本数据不足 -
样本数据不足
为了选择好的模型,可以采用交叉验证的方法。交叉验证的基本想法是重复地使用数据:把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。
1.简单交叉验证
简单交叉验证方法是:首先随机地将已给的数据分为两部分,一部分作为训练集,另一部分作为测试集(eg: 70%training set,30% test set);然后用训练集在各种条件下(eg:不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选测测试误差最小的模型。
2.交叉验证
应用最多的是折交叉验证(S-fold cross validation),方法如下:首先随机地将已给数据切分为个互不相交的大小相同的子集;然后利用-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的种选择重复进行;最后选出次评测中平均测试误差最小的模型。
3.留一交叉验证
折交叉验证的特殊情形是=,称为留一交叉验证(leave-one-out cross validation),往往在数据缺乏的情况下使用。这里,是给定数据集的容量。
9.泛化能力
泛化误差
学习方法的泛化能力(generalization ability)是指由该方法学习到的模型对位置数据的预测能力。现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力。但这种评价是依赖于测试数据集的,因为测试数据集是有限的,很有可能由此得到的评价结果不可靠。统计学习理论试图从理论上对学习方法的泛化能力进行分析。
泛化误差上界(机器学习基石上)
学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的,简称为泛化误差上界(generalization error bound).具体来说,就是通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣。泛化误差通常具有以下性质:
- 它是样本容量的函数,当样本容量增加时,泛化上界趋于0
- 它是假设空间容量(capacity)的函数,假设空间容量越大,模型就越难学,泛化误差上界就越大
10.生成模型与判别模型
生成方法的特点:生成方法可以还原出联合概率分布P(X,Y),而判别方法则不能;生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型;当存在隐型变量时,仍可以生成方法学习,此时判别方法就不能用。
判别方法的特点:判别方法直接学习的是条件概率P(Y|X)或决策函数,直接面对预测,往往学习的准确率更高;由于直接学习P(Y|X)或决策函数,可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。
11.分类问题
分类问题:二分类/多分类问题,输入X可以是连续变量也可以是离散变量,输出Y是有限个离散值。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction)称为分类(classification)可能的输出称为类(class)。
分类准确率(accuracy):对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。也就是损失函数是0-1损失时测试数据集上的准确率。
精确率和召回率都高时,值也会高。
分类的统计方法有:
- KNN
- 感知机
- 朴素贝叶斯
- 决策树
- 决策列表
- 逻辑斯谛回归模型
- 支持向量机
- 提升方法
- 贝叶斯网络
- 神经网络
- Winnow