为何使用交叉验证?
交叉验证的提出,主要为解决模型测试集过小而导致模型的泛化误差无法被准确估计的问题。
一个小规模的测试集意味着平均测试误差估计的统计不确定性,使得很难判断算法A是 否比算法B在给定的任务上做得更好。
解决方案
使用交叉验证的思想,增加计算量以近似计算平均测试误差。
常用算法
K折交叉验证算法
其核心思想为:** 将数据集分成k个不重合的子集。测试误差可以估计为k次 计算后的平均测试误差。在第i次测试时,数据的第i个子集用于测试集,其他的数据用于训 练集。**
该算法将数据集划分为K个子数据集(下图为3),并每一次取其中一个作为测试集,而其余数据用于模型训练。