一、训练误差与测试误差
1、预测
统计学习的目的是使学到的模型不仅对已知数据而且对未知数据都能有很好的预测能力。
不同的学习方法会给出不同的模型。
当损失函数给定时, 基于损失函数的模型的训练误差(training error)和模型的测试误差(test error)就是学习方法评估的标准。
注意:统计学习方法具体采用的损失函数未必是评估时使用的损失函数,不过两者一致比较理想。
2、训练误差
假设学习到的模型是Y=f(x),训练误差是模型Y关于训练数据集的平均损失:
其中N是训练样本容量。
3、测试误差
测试误差是模型Y 关于测试数据集的平均损失:
其中N'是测试样本容量。
3、作用
训练误差的大小, 对判断给定的问题是不是一个容易学习的问题是有意义的, 但本质上不重要。
测试误差反映了学习方法对未知的测试数据集的预测能力, 是学习中的重要概念。
给定两种学习方法, 测试误差小的方法具有更好的预测能力, 是更有效的方法。
4、泛化能力
通常将学习方法对未知数据的预测能力称为泛化能力(generalizationability)
二、过拟合与模型选择
1、模型选择
当假设空间含有不同复杂度(例如不同的参数个数)的模型时, 就要面临模型选择(model selection)的问题。
如果在假设空间中存在“真” 模型, 那么所选择的模型应该逼近真模型。
具体地, 所选择的模型要与真模型的参数个数相同, 所选择的模型的参数向量与真模型的参数向量相近。
2、过拟合(over-fitting)
如果一味追求提高对训练数据的预测能力, 所选模型的复杂度则往往会比真模型更高。 这种现象称为过拟合。
过拟合是指学习时选择的模型所包含的参数过多, 以至出现这一模型对已知数据预测得很好, 但对未知数据预测得很差的现象。
3、过拟合与预测能力
模型选择旨在避免过拟合并提高模型的预测能力。
4、解决方法
首先确定模型的复杂度, 即确定多项式的次数;
然后在给定的模型复杂度下, 按照经验风险最小化的策略, 求解参数, 即多项式的系数。
5、模型选择与过拟合
模型选择时, 不仅要考虑对已知数据的预测能力, 而且还要考虑对未知数据的预测能力。
当模型的复杂度增大时, 训练误差会逐渐减小并趋向于0;而测试误差会先减小, 达到最小值后又增大。 当选择的模型复杂度过大时, 过拟合现象就会发生。
三、正则化
1、正则化(regularization)
模型选择的典型方法是正则化。
正则化是结构风险最小化策略的实现, 是在经验风险上加一个正则化项(regularize!i)或罚项(penalty term)。
正则化项一般是模型复杂度的单调递增函数, 模型越复杂, 正则化值就越大。
比如, 正则化项可以是模型参数向量的范数。
2、正则化形式
正则化一般具有如下形式
其中, 第1项是经验风险, 第2项是正则化项, λ≥0为调整两者之间关系的系数
3、正则化作用
正则化的作用是选择经验风险与模型复杂度同时较小的模型。
4、正则化与贝叶斯估计
从贝叶斯估计的角度来看, 正则化项对应于模型的先验概率。
可以假设复杂的模型有较小的先验概率, 简单的模型有较大的先验概率
四、交叉验证(cross validation)
1、数据集切分
如果给定的样本数据充足, 进行模型选择的一种简单方法是随机地将数据集切分成三部分, 分别为训练集(training set)、 验证集(validation set)和测试集(testset) 。
训练集用来训练模型, 验证集用于模型的选择, 而测试集用于最终对学习方法的评估。
2、交叉验证法
交叉验证的基本想法是重复地使用数据;
把给定的数据进行切分, 将切分的数据集组合为训练集与测试集, 在此基础上反复地进行训练、 测试以及模型选择。
3、.简单交叉验证
首先随机地将已给数据分为两部分, 一部分作为训练集,另一部分作为测试集(例如, 70%的数据为训练集, 30%的数据为测试集);
然后用训练集在各种条件下(例如不同的参数个数)训练模型, 从而得到不同的模型;
在测试集上评价各个模型的测试误差, 选出测试误差最小的模型。
5、S折交叉险证(S-fold cross validation)
首先随机地将已给数据切分为S个互不相交、 大小相同的子集;
然后利用S-1个子集的数据训练模型, 利用余下的子集测试模型;
将这一过程对可能的S种选择重复进行;
最后选出S次评测中平均测试误差最小的模型。
6、留一交叉验证
S折交叉验证的特殊情形是S = N,称为留一交叉验证(leave-one-out crossvalidation),往往在数据缺乏的情况下使用。
这里, N是给定数据集的容量。
五、泛化能力(generalization ability)
1、定义
学习方法的泛化能力是指由该方法学习到的模型对未知数据的预测能力, 是学习方法本质上重要的性质。
2、问题
现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力。
但这种评价是依赖于测试数据集的。 因为测试数据集是有限的, 很有可能由此得到的评价结果是不可靠的。
3、泛化误差(generalization error)
如果学到的模型是f, 那么用这个模型对未知数据预测的误差即为泛化误差:
泛化误差反映了学习方法的泛化能力, 如果一种方法学习的模型比另一种方法学习的模型具有更小的泛化误差, 那么这种方法就更有效。
4、泛化误差上界(generalization error bound)
学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的, 简称为泛化误差上界。
具体来说, 就是通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣。
泛化误差上界通常具有以下性质:
它是样本容量的函数, 当样本容量增加时, 泛化上界趋于0;
它是假设空间容量(capacity)的函数, 假设空间容量越大, 模型就越难学, 泛化误差上界就越大。