本节涉及的知识点:
(1)用验证来选择参数和模型;
(2)验证的流程;
(3)验证集大小的选择;
(4)留一交叉验证的流程;
(5)留一交叉验证的理论保证;
(6)留一交叉验证的缺点;
(7)k折交叉验证的流程。
我们可以用验证来从如下的组合中做选择:
验证的流程是:先划分训练集Dt和验证集Dv,在训练集上选择不同的模型和参数做训练,得到不同的模型。选择一个在验证集上表现最好的模型,再用整个数据集来训练它,得到最终的模型:
、
验证集大小不能太大也不能太小,原因是:(这部分还没怎么理解)
通常验证集大小选N/5。
2 留一交叉验证
留一交叉验证的流程是,每次只留下一个样本做验证集,其它样本做训练集,如果有N个样本,则需要训练N次,验证N次。最后使用平均的验证错误率作为留一交叉验证的错误率:
下面是留一交叉验证的一个例子,只有三个样本,用留一法来选择使用常数模型还是线性模型:
留一交叉验证的理论保证:
留一交叉验证的缺点是(1)计算代价大;(2)稳定性差。因此实际中,基本不用留一交叉验证,而使用k折交叉验证。
3 K折交叉验证
流程:
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:《机器学习基石》—验证 - Python技术站