本节涉及的知识点:

(1)用验证来选择参数和模型;

(2)验证的流程;

(3)验证集大小的选择;

(4)留一交叉验证的流程;

(5)留一交叉验证的理论保证;

(6)留一交叉验证的缺点;

(7)k折交叉验证的流程。

 

我们可以用验证来从如下的组合中做选择:

《机器学习基石》---验证

 

验证的流程是:先划分训练集Dt和验证集Dv,在训练集上选择不同的模型和参数做训练,得到不同的模型。选择一个在验证集上表现最好的模型,再用整个数据集来训练它,得到最终的模型:

《机器学习基石》---验证

 

验证集大小不能太大也不能太小,原因是:(这部分还没怎么理解)

《机器学习基石》---验证

通常验证集大小选N/5。

 

2 留一交叉验证

留一交叉验证的流程是,每次只留下一个样本做验证集,其它样本做训练集,如果有N个样本,则需要训练N次,验证N次。最后使用平均的验证错误率作为留一交叉验证的错误率:

《机器学习基石》---验证

 

下面是留一交叉验证的一个例子,只有三个样本,用留一法来选择使用常数模型还是线性模型:

《机器学习基石》---验证

 

留一交叉验证的理论保证:

《机器学习基石》---验证

 

留一交叉验证的缺点是(1)计算代价大;(2)稳定性差。因此实际中,基本不用留一交叉验证,而使用k折交叉验证。

 

3 K折交叉验证

 流程:

《机器学习基石》---验证