上节课我们引入了augmented error,并学习如何通过加入regularizer来限制model complexity,并求得augmented error的最小值。从开始到现在我们已经学习到很多模型,但究竟哪些模型能得到更好的泛化能力呢?这节课我们将来探讨一下这个问题。
一、Model Selection Problem

对于一个简单的binary classification问题,模型上,我们就有多维的选择:
- 算法A的选择(PLA、pocket、linear regression…)
- 迭代次数T的选择
- 学习速率η的选择
- 特征转换feature transform φ的选择
- 正则化regularizer的选择
- 正则化系数λ的选择
不同的选择搭配,有不同的机器学习效果。

- 我们的目标是找到一个g使得Eout最小,但实际情况是Eout我们并不知道,我们并没有办法去衡量Eout究竟是多少。
- 那究竟如何来选择这个g呢,或者说是模型?

- 我们首先想到可以通过Ein来做选择,只要Ein越小越好,这样是否可行呢?
- 我们知道ϕ1126\phi_{1126}ϕ1126找到的Ein往往会比ϕ1\phi_{1}ϕ1要小,但这个代价会导致严重的overfitting,即bad generalization;
- 那假设我们在几个不同的Hypothesis set中分别找出最小的Ein再做比较呢?也不行,因为等效的Hypothesis set变大了,dvcd_{vc}dvc变大,同样容易导致overfitting,获得很差的generalization;
- 所以通过Ein来选择是不可行的!

- 那么通过一个另外的测试数据集DtestD_{test}Dtest可行么?
- 根据finite-bin Hoffding不等式,只要我们的模型个数M越小,DtestD_{test}Dtest数目越大,那么EtestE_{test}Etest就会越接近EoutE_{out}Eout;
- 但是问题是这样的DtestD_{test}Dtest我们并不好获得。

- 既然使用EinE_{in}Ein和EtestE_{test}Etest都有自己的局限性,但其优点分别是找到一个小的EinE_{in}Ein和使用EtestE_{test}Etest来检验generalization,那么折中一下:
- 找到一个EvalE_{val}Eval,它是通过数据集Dval⊂DD_{val}\subset DDval⊂D,一来DvalD_{val}Dval是我们方便获取的,二来EvalE_{val}Eval可以用来替代EtestE_{test}Etest;
- 验证集DvalD_{val}Dva

本文是关于台湾大学林轩田《机器学习基石》课程的学习笔记,重点讨论模型选择问题及其解决策略,包括验证集的概念、验证方法如交叉验证,并对比了Ein、Etest和Eval在模型选择中的作用,强调了验证集大小和泛化能力的关系,介绍了Leave-One-Out和V-Fold Cross Validation的适用场景与优缺点。
最低0.47元/天 解锁文章
417

被折叠的 条评论
为什么被折叠?



