模型选择与评估-一种训练集一种算法-评估方法
泛化能力即模型对没有见过的数据的预测能力
trainning set训练集 testing set测试集 validation set验证集
测试集的保留方法
- 留出法
将数据集很简单的三七分或二八分,但是要注意训练集与测试集同分布,或者进行多次随机划分,训练出多个模型,最后取平均值 - 交叉验证法
k折交叉验证,将数据等分成几份,随机选择一份作为测试集,剩下的作为训练集,将测试结果取平均。缺点数据量较大时,对算力要求较高。 - 自助法(bootstrapping),有放回的随机采样。给定包含m个样本的数据集D, 我们对它进行采样产生数据集D‘:每次随机从D中挑选一个样本,将其拷贝放入D‘,然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m个样本的数据集D‘,这就是自主采样的结果,显然,D中有一部分样本会在D‘中多次出现,而另一部分样本不出现,可以做一个简单的估计,样本在m次采样中始终不被采到的概率在m趋近无穷时为e-1。即通过自助采样,初始数据集D中约有36.8%的样本未出现在采样数据集D’中,于是我们可将D’用作训练集,D\D’用作测试集。适用于数据集较小,难以划分的时候,缺点是改变了初始数据集的分布,会引入估计误差。
为什么要有验证集
因为提高泛化能力所以就需要有训练集和测试集,因为要调参,所以要有验证集。训练集训练,验证集看结果,调参,再看验证集结果,参数调完,最后在测试集上看结果。