从数据中进行推断、估计和决策
你不能用模型的训练误差来评判它;它已经见过那些数据,所以可以靠死记硬背来作弊。你需要的是它在从未见过的数据上的误差。但单独留出一个测试集会浪费数据,而且给出的估计很不稳定。交叉验证同时解决了这两个问题。
在k 折交叉验证中,把数据分成 k 个大小相等的折。在其中 k−1 折上训练,在留出的那一折上验证,然后轮换,使每一折恰好充当一次验证集。对这 k 个验证误差取平均,就能稳定地估计模型的泛化能力。
交叉验证就像参加几场模拟考试来预测你的真实考试成绩。如果你只给自己已经背下答案的问题评分,你就会严重高估自己,所以你每次都要预留出一批全新的问题,并在这些问题上给自己打分,然后轮换保留哪一批。对你在所有模拟考试中的分数进行平均,能够比任何单一的模拟考试更稳定地预测你当天的表现。