学习篇ML Yearning--Anderw Ng(2 创建训练集和测试集)

本文讨论了在机器学习中创建训练集和测试集的重要性,特别是它们应具有与实际应用中数据相同的分布。介绍了70/30准则在某些情况下的局限性,并提出了发展集和测试集的概念,用于模型调试和最终性能评估。强调了发展集和测试集数据分布的一致性,以避免模型泛化性能下降。还讨论了发展集和测试集的合适大小,以确保评估结果的可靠性。
摘要由CSDN通过智能技术生成

问题描述

如果我们正在搭建一个识猫的应用,用户会通过移动端上传不同的图片到应用。我们希望应用能够自动识别出含有猫的图片。
那么当我们搭建系统时,我们会从不同的数据来源获取包含猫的图片和不包含猫的图片作为训练的正负样本。然后我们通常会按照70%,30%划分训练集和测试集,使用这样的数据,我们能够搭建一个在训练集和测试集中都工作很好的猫识别器。
但是当把模型部署到移动端时,我们可能发现模型的效果真是太差了,到底是什么引起的?
最终我们可能会发现,用户上传的图片和从数据来源获取的数据集看起来不太一样。用户使用手机获取的图片通常分辨率更低,更模糊,并且光线不足。 因此算法无法泛化到真实数据。
70%、30%准则用来划分训练集和测试集是十分常用的。然而在越来越多的应用中,由于具有与上述识猫系统相同的问题,数据集与最终真实数据具有不同的分布,70/30准则不再那么有效。
我们定义:

  • 训练集,用来训练模型参数
  • 发展集或预留交叉验证集,用于调试模型参数,选择特征以及模型的其他方面
  • 测试集,用于模型的最终测试

一旦我们定义发展集和测试集,我们会尝试使用不同的模型配置,模型参数使得模型或者最好性能。发展集和测试集使得我们可以快速的测试模型的表现。或者说,验证集和测试集是用于指导选择最有效地手段来优化模型。
所以,我们需要选择能够真实反映我们最终关注的真实数据分布作为发展集和测试集。所以测试集就不单单是我们可用数据的30%,尤其当训练数据和真实数据具有不同分布时。
针对这个识猫系统,那么验证集和测试集就需要能够反映真实数据,然而当应用没

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值