大纲
Model Selection Problem
1 Model Selection Problem
在机器学习建立模型的过程中有很多选择,对于简单的二分类问题
我们的目标是选择最好的搭配,建立好模型,得到一个好的
假设有M个模型,对应有
2 Model Selection by Best Ein
对M个模型分别计算使
这样会存在问题
这样会倾向于选择比较复杂的模型,可能会导致过拟合
假设演算法
A1 在H1 中选择最小的Ein ,演算法A2 在H2 中选择最小的Ein ,这种“模型选择+学习训练”的过程,它的VC Dimension是dVC(H1∪H2) ,模型复杂度增加.
总得来说这样做会导致泛化能力较差
3 Model Selection by Best Etest
假设有一个独立于训练样本的测试集
这种测试集验证的方法,根据finite-bin Hoffding不等式,可以得到
由上式可以看出,模型个数M越少,测试集数目越大,那么
因为
Validation
1 Validation Set Dval
从
D 中随机抽样k个样本构成Dval ,使Dval 独立同分布与p(x,y) ,这样可以使Dval 与Dout 联系起来剩下的
N−k 个样本构成Dtrain 为了保证
Dval 是干净的,应该只用Dtrain 做模型的训练
我们把用训练数据
所以为了让
2 Model Selection by Best Eval
假设有M种模型hypothesis set,
现在由于数量为N的总样本D的一部分K作为验证集,那么只有N-k个样本可供训练。从
3 Validation in Practice
黑色的虚线表示用
Etest 来做选择,肯定是最优的。但实践中我们往往做不到黑色的直线表示用
Ein 来做选择,会导致过拟合,所以泛化误差较高红色的直线表示用
Eval 做选择,但选择的是g∗m¯ ,它的变化趋势随着K增大是先减少后增大,当K大于一定值时,甚至会超过黑色的线- 蓝色的直线表示用
Eval 做选择,但选择的是g∗m ,其趋势是随着K的增加,它对应的$Eout先缓慢减小再缓慢增大,且一直位于红色曲线和黑色直线之下。从此可见,蓝色曲线对应的方法最好,符合我们之前讨论的使用验证集进行模型选择效果最好。
4 The Dilemma about K
当K比较大的时候,
Eout≈Eval ,但是g 和g− 可能相差很多。当K比较小的时候,
g≈g− ,但是Eout 可能和Eval 相差很多
一般k取值的经验值是
Leave-One-Out Cross Validation
1 Extreme Case
当验证集的大小k=1的时候,我们称之为留一交叉验证。
留一交叉验证的误差估计
我们希望
2 Illustration of Leave-One-Out
如上图所示,要对二维平面上的三个点做拟合,上面三个图表示的是线性模型,下面三个图表示的是常数模型。对于两种模型,分别使用留一交叉验证法来计算
3 Theoretical Guarantee of Leave-One-Out Estimate
接下来,我们从理论上分析Leave-One-Out方法的可行性,即
所以我们可以得出结论
4 Disadvantage of Leave-One-Out Estimate
计算量巨大
稳定性差,由于单个点估计得偏差
V-Fold Cross Validation
1 V-fold Cross Validation
把数据集
D 随机划分为V等分,取V-1份做训练,1份做验证通过
Ecv(H,A)=1V∑Vv=1E(v)val(g−v) 作为模型选择的标准m∗=argmin1≤m≤MEm=Ecv(Hm,Am)
2 Selecting Validation Tool
V-Fold Validation通常比单个Validation好
5-Fold和10-Fold通常工作的会比较好