专栏首页为什么不提倡在训练集上检验模型?

为什么不提倡在训练集上检验模型?

在你开始接触机器学习时,通常你会从读取一个数据集并尝试使用不同的模型开始。你可能会疑惑,为什么不用数据集中的所有数据来训练及评估模型呢?

这看上去是合理的。通常我们会有如下的猜测:应该用尽可能多的数据来训练模型;再同一个数据集上评估模型生成报告能评价模型的好坏。

不幸的是,以上的假设是错误的。

在这篇文章中,你会发现证明上述猜测的困难,同时能明白为什么在未知数据上测试模型是很重要的。

在同一数据集上训练和测试模型

假设我们有一个数据集,以 Iris数据集 为例,最适合这个数据集的分类模型是什么?

鸢尾花

照片由dottieg2007提供,保留版权

最好的模型就是数据集本身。我们从数据集中任意选取一个数据实例,利用这个实例的数据可以在数据集中找到对应的条目,显然每次返回的该实例的类型一定是正确的。

这就是我们在同一数据集上训练和测试模型时所要解决的问题。

我们要求模型对已知数据进行预测,而这些已知数据正是用来构建模型的。显然,解决这个问题的最好的模型正是以上述方式构建查找模型。

描述性模型

在某些情况下,我们确实会用相同的数据集对其进行训练和评估。

我们可能想简化从数据中得到的可预测变量的解释难度。例如,我们可能需要一套简单的规则或决策树模型来更好地描述你的观察结果。

在这种情况下,我们就在构建一个描述性模型。

这些模型可能是很有用的,并且可以帮助我们在项目或业务中更好地了解属性与预测值之间的关联。我们还可以用专业知识来给结果添加意义。

描述性模型的重要局限性在于它只能描述训练数据。你无从知晓模型的预测能力如何。

对目标函数建模

下面考虑一个将数据实例分类为红色或绿色的分类问题。

对目标函数建模

照片由seantoyer提供,保留版权

我们假设存在解决这个问题的完美的模型或一个完美的函数,可以将任何数据实例正确地划分为红色或绿色。在一个具体问题中,领域专家对解决这个的最优函数很可能具有很明确的定义。我们想要考虑这一点,并尝试以这个角度作为切入点,最终得到这个结果。

我们想训练一个预测模型,并且希望它的预测能力可以尽可能的接近前面说的最优函数。

我们使用从领域中收集的样本数据来构建我们的最优函数的近似。注意,这不是所有可能的数据,它是所有可能数据的一个样本或子集。如果我们掌握了所有的数据,就没有必要做出预测,因为答案只需查询即可。

我们用来构建近似模型的数据隐含着我们得到最优最优函数所需的信息。利用我们预先收集的数据,我们希望尽可能充分地利用这些信息来建模并构造算法。当然,数据中也包含与获得最优函数无关的信息,比如选择数据导致的误差、扰乱或隐藏信息的随机噪声等。我们需要选择能够克服这些障碍的模型来近似这个最有函数。

框架有助于帮助我们更深入的理解描述性模型和预测性模型之间的区别。

描述性模型与预测性模型

描述性模型只对观测数据进行建模,这意味着我们可以在同一个数据集上对模型进行训练和评估。

预测性模型则是为了解决更复杂的问题:从样本数据中得到最优函数的近似解。我们所期望得到的模型有以下几个特点:所建模型不会对样本数据中的噪声建模,同时模型应该有好的泛华能力,也就是在未观测数据上的效果依然不错。显然,我们只能够估计模型在训练数据以外的数据集上的泛化能力。

最好的描述性数据能够在观测数据集上非常准确,而最好的预测性模型则希望能够在为观测数据集上有着良好的表现。

过度拟合

在训练集上评估预测性模型的不足之处在于你无从得知该模型在未观测数据集上的表现如何。

根据模型在训练集上的准确度来判断模型的好坏往往会选出在未观测数据集上表现不佳的模型。其原因是模型的泛化能力不足。该模型的过度学习训练集上的数据特征,这叫做过度拟合,而过拟合往往是非常隐秘难以察觉的。

例如,我们可能会选择模型准确度不再上升作为停止训练的条件。在这种情况下,会存在一个分水岭,在此之后会呈现出模型在训练集上的准确性持续提高,但在未观测数据上的准确性下降。

你可能会想:“ 那我一边在训练集上测试,一般注意测试集上的效果 ”。这是一个好主意,但由于此时测试数据集已经得到并对训练集有影响,它不再是未观测的数据,

解决过拟合

我们必须在未观测的数据上测试模型来克服过拟合。

解决过拟合

照片由 Adrian Fallace Design & Photography 提供,保留版权。

我们可以试着用\frac{1}{3}的数据当测试集,\frac{2}{3}的数据当训练集,如果能使用交叉验证就也很好,多次运行交叉验证会得到更好的结果。你可能会愿意多花点时间来得到对未观测数据集上的准确度的更准确的估计。

您可以通过降低模型的复杂度来提高模型的准确性。

以决策树为例,您可以在训练之后进行剪枝(删除分支)。这将减少特定训练数据集中的特化程度,并增加对未观测数据的泛化能力。再比如,在回归任务中,可以使用正则化来限制训练过程中的复杂度(系数的维数)。

总结

在这篇文章中,我们阐述了构建预测性模型就是找到决目标问题的最优函数的近似。

在这一观点下,我们知道仅仅在训练集上评估模型是不够的,在未观测数据集上检验模型的泛化能力才是最好的方法。

上述观点帮组我们理解为什么评估预测性模型的好坏时我们采用划分训练集测试机、交叉验证和多重交叉验证是至关重要。

本文的版权归 用户1085347 所有,如需转载请联系作者。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习下的持续交付

    机器学习在行业中的应用变得越来越流行,然而相对于传统软件开发,例如Web服务或者Mobile应用来说,这类程序的开发、部署和持续改进也变得更加的复杂。它们的功能...

    ThoughtWorks
  • 八大步骤,用机器学习解决90%的NLP问题

    用户1737318
  • 数据科学的下一个「超能力」:模型可解释性

    在过去的 10 年间,我采访了许多数据科学家,模型的可解释性是我最喜欢的主题,我用它来区分最好的数据科学家和一般的数据科学家。

    abs_zero
  • 数据科学的下一个「超能力」:模型可解释性

    在过去的 10 年间,我采访了许多数据科学家,模型的可解释性是我最喜欢的主题,我用它来区分最好的数据科学家和一般的数据科学家。

    机器之心
  • 独家 | 经验&教训分享:我的第一个机器学习项目

    在这片博客中,我将介绍队友(Aron,Ashish,Gabriel)和我如何完成我们的第一个机器学习项目。写这篇博客的目的是为了记录——记录下我作为一名有抱负的...

    数据派THU
  • 有助于机器学习的7个云计算服务

    用于机器学习、人工智能、数据分析的基于云计算的工具日前增多。其中的一些应用是在基于云计算的文档编辑和电子邮件,技术人员可以通过各种设备登录中央存储库,并在远程位...

    静一
  • AutoML 详解及其在推荐系统中的应用、优缺点

    可能有人还记得一个非常古典的、关于推荐系统的例子:超市把尿布和啤酒摆一起,显著的增加了二者的销量。原因是很多买酒的父亲们看到旁边刚好有尿布,就回想起临行前,孩儿...

    用户1737318
  • Jeff Dean谈2020年机器学习趋势:多任务和多模式学习将成为突破口

    在加拿大温哥华举行的NeurIPS 2019会议上,机器学习成为最大的焦点。来自全世界各地的13000名研究人员探索了诸如神经科学、如何解释神经网络输出,以及A...

    新智元
  • 快速入门 WePY 小程序

    WePY 是 腾讯 参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性。

    王念博客
  • Flash 加密和破解

    用户1258909

扫码关注云+社区

领取腾讯云代金券