本次Lecture介绍了通过validation的方法来帮助我们选择模型并在没有测试集的情况下评价模型好坏,保证训练的模型有良好的泛化能力。
Model Selection Problem
上面这幅图就说明,就算是一个最简单的二元分类问题,都要涉及算法A、迭代次数T、步长、特征转换方法、正则regularizer、正则参数这些选择,他们叠加起来会形成不同的机器学习效果,因此我们要找到合适的选择搭配,构建良好的机器学习模型。
假设我们有M个模型,也就有M个hypothesis set,对应着有M个机器学习算法,于是我们就要选出一个最好的,通过演算法在D上的训练得到,目标就是要让最小。然而往往是不知道的,那么这个最优的该怎么选择呢?
我们试试下面两种方法——
- 从来考虑,在M个模型中找出使最小的那个,也就是
但是我们之前就知道, 小并不就代表好,他的泛化能力有可能是很差的,很容易产生overfitting的情况。与此同时,这种“模型选择+训练学习”的模式,当在上获得最小的,在上获得最小的,就要在上取得最小的,那么这时VC dimension是,模型复杂度很高,我们知道就很容易有bad generalization。
因此,通过来选择是非常危险的。
- 从来考虑,从独立于训练集的测试集选择最小的模型,
根据finite-bin Hoffding不等式,我们可以得到
当M越小,N越大,就越小,越接近于。这样看似效果很好,但是我们想要拿到是不现实的,这相当于作弊。
我们用学生考试的例子来理解上面in-sample error和test error两种方法:我们有training set训练集(就像是平时做的练习题)和test set测试集(最终的考试)两部分。in-sample error就是通过练习题来进行评判我们学得好不好,也就是把练习题拿来再考试,这样就算效果好也不能用来评判学得好不好;test error就是拿到了最终的测试试卷,然后对着测试卷来学习,那最终考试再好当然不能说明学得好,而且这是作弊啊!
于是我们可以试着找出一个折中的方法,从training set中抽出一些作为,把他们留出来作test error的功能,而不要将他们混入原有的数据中参与训练学习,这样就能保持独立的数据集。其实,这就像是在平时练习的时候留出一些题目合起来做成一套“模拟卷”,在考前来检验我们的学习成果,这样就是仿真的考试。
Validation
上图就说明,将原有的输入数据分成了和两部分,其中为了保证和的关联性,要求是从中随机抽取,这也就是保证(独立同分布)的。
于是,通过可以得到最佳的,然后验证得到,得到如下Hoffding不等式:
所以,对于M个模型来说,只要每个求出最佳的,然后横向比较得到最好的模型,即
但是,现在由于数量为N的总样本中有部分K成为了validation set,那么只有N - K个可供训练,得到最好的矩为;而总样本对应最好的矩为。根据之前的learning curve可以知道,当训练样本越多的时候,得到的模型就越准确,于是就有
这样就导致了训练出的偏大,于是通常就通过来选择最好的矩对应的模型,然后再在全部D上进行训练,最终得到。
于是综合起来就有不等式:。
下面通过一个示例来看一下:
通过上图的样例,我们可以看到,如果把全部数据作为训练集而没有验证集,那么就是上面的黑色实线,这显然与K无关;当测试集与训练集非常接近时,就能得到下面的黑色虚线,这是一种理想情况,实际中很难得到;红色曲线表示验证集的,最终选取了,随着K的增加,先减小后增大,最终甚至超过黑色实线(这是因为随着K增大,训练集的数量在不断减小,这样得到的结果就不具有良好的泛化能力);蓝色曲线也使用验证集,最终选取的矩是,随着K的增加,先缓慢减小再缓慢增大,且一直在红色和黑色实线以下,这就说明之前的方法是正确的。
那么K究竟应该取多少呢?通常就取。
Leave-One-Out Cross Validation
这个validation的方法就是每次取出训练集中第n个样本,于是,,然后每次取出一个样本,再将所有取平均,于是就有,我们希望,那么,选择出最小的那个就可以了。
下面从理论上保证LOOCV是正确的,
于是LOOCV得到的就是一个几乎无偏差的估计。
V-Fold Cross Validation
但是Leave-One-Out方法的问题计算量大,每次1个validation,N-1个训练集,训练N次模型;在很多模型下可能model selection会因为没有公式解而不可行或不容易;在只有一个点的情况下,结果的跳动可能会比较频繁,导致效果不理想。
于是,可以将样本集D分为V份,1份validation,其余用作训练,根据这个标准来选择模型,通常V=10比较常见:
,其中
一般采用V-Fold Cross Validation的方法来选择最佳的模型,但由于其数据来源也是样本集中的,不能保证在这个情况下模型效果一定很好,仍然要以test结果来作为标准。