Coursera台大机器学习课程笔记14 -- Validation
这节课是接着上节的正则化课程的,目的也是为了防止overfitting。
第一小节讲了模型的选择,前面讲了很多模型,那么如何做出正确的选择呢?我们的目标是选择最小的Eout目标函数。首先应避免视觉化选择,因为高维。
假如选Ein最小的化,则会出现过拟合。虽然能用test数据选择最好的,但通常test数据是不可得的。然后提出了一个办法,在训练数据中留出一部分,作为test,称为validation data
第二节中,要想让Eval与Eout产生连接,就在数据集中随即抽样K个样本。这样在N-K个样本中训练,在K个未污染的样本中进行测试,得到表现最好的那个。但结合前面的知识我们
知道,数据量越大,Eout就会表现得越好。因此,提出了一个改进的方式:由上述方法得到最好的hypesis和E后,再把整体数据输入,得到g。
在K的选取中,我们既想K大又想K小,这节课选取K=1,每次训练留下一个样本,看看会发生什么。由N-1个样本数据得到各种g后,求与剩下那个样本的Eloocv,然后求最合适的g,并在
接下来的过种中证明了Eloocv确实可以与Eout相当,比Ein在选择上更有用。
leave one out也有缺点,那就是效率不高。接下来的任务就是怎么降低cross validation的计算量。cv之所以计算量大,是因为数据集分的太细。因此,把数据集的份数减小就是一个办法。
validation与train相比,相当于多做了一次测试,但真正能够衡量结果好坏的,还是test的结果。