机器学习中训练数据集,交叉验证数据集,测试数据集的作用

本文介绍了在机器学习中如何将数据集划分为训练集、交叉验证集和测试集,并解释了每种数据集的作用及重要性。通过实例展示了如何利用这些数据集选择最优模型并评估模型的泛化能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#1. 简介
在Andrew Ng的机器学习教程里,会将给定的数据集分为三部分:训练数据集(training set)、交叉验证数据集(cross validation set)、测试数据集(test set)。三者分别占总数据集的60%、20%、20%。
那么这些数据集分别是什么作用呢?

#2. 三种数据集的作用
假设我们训练一个数据集,有下面10中模型可以选择:
这里写图片描述
(图片来自Coursera Machine Learning Andrew Ng 第6周:Model Selection and Train/Validation/Test Sets)

我们想知道两件事:

  • 1)这10中模型中哪种最好(决定多项式的阶数d);
  • 2)最好的模型的θ\thetaθ参数是什么。
    为此,我们需要,
  1. 使用训练数据集分别训练这10个模型;
  2. 用训练好的这10个模型,分别处理交叉验证数据集,统计它们的误差,取误差最小的模型为最终模型(这步就叫做Model Selection)。
  3. 用测试数据集测试其准确性。

这里有个问题要回答:为什么不直接使用测试数据集(Test Set)来执行上面的第2.步?
答:如果数据集只分成训练数据集(Training Set)和测试数据集(Test Set),且训练数据集用于训练θ\thetaθ,测试数据集用于选择模型,那么就缺少能够“公平”评判最终模型优劣的数据集,因为最终的模型就是根据训练数据集和测试数据集训练得到的,肯定在这两个数据集上表现良好,但不一定在其他数据上也如此。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值