音讯 工程师如何评估训练集和测试集,以发现机器学习中可能的过度拟合?

工程师如何评估训练集和测试集,以发现机器学习中可能的过度拟合?

Anonim

问:

工程师如何评估训练集和测试集,以发现机器学习中可能的过度拟合?

A:

要了解如何做到这一点,有必要对典型的机器学习项目中不同数据集的角色有基本的了解。 设置培训集是为了给该技术提供参考框架-该程序用来做出预测性和概率性决策的数据基线。 测试集是您在机器上测试数据的地方。

过度拟合是机器学习中的一种征兆,其中模型无法完全拟合数据或目的。

免费下载: 机器学习及其重要性

机器学习的最高戒律之一是训练数据和测试数据应该是单独的数据集。 至少在许多应用程序中,对此存在相当广泛的共识,这是因为使用与您用来训练机器学习程序的训练相同的集合的某些特定问题。

当机器学习程序利用训练集(实质上可以称为一组输入)时,它会根据训练集来做出有关预测结果的决策。 一种非常基本的思考方式是,训练集是智能计算过程的“食物”。

现在,当使用同一台机器进行测试时,机器通常可以返回出色的结果。 那是因为它之前已经看过这些数据。 但是在许多情况下,机器学习的整体目标是针对从未见过的数据得出结果。 通用机器学习程序可以处理多种数据集。 换句话说,机器学习的原理是发现,通常通过使用用于测试目的的初始训练集,您不会得到太多。

在评估训练集和测试集是否可能过度拟合时,工程师可能会评估结果,并弄清楚为什么程序可能会根据这两个集合的比较结果做出不同的选择,或者在某些情况下,机器可能会对训练数据本身做得太好。

在2014年的一篇文章中有能力地描述了机器学习中的一些问题时,Machine Learning Mastery的Jason Brownlee描述了这种过拟合:

Brownlee写道:“根据训练数据集的准确性而不是看不见的测试数据集的准确性选择的模型很可能在看不见的测试数据集上具有较低的准确性,” Brownlee写道。 “原因是该模型不那么泛泛。它已经专门化了训练数据集中的结构 (添加了斜体)。这被称为过度拟合,而且比您想像的还要阴险。”

用俗语来说,您可以说,在专门针对培训数据集的过程中,该程序变得过于僵化。 这是查看为什么通过使用测试集的训练集不能最佳地服务于机器学习程序的另一种隐喻方式。 这也是评估这两个不同集合的一种好方法,因为结果将向工程师展示程序的工作原理。 您希望两个模型的精度之间的差距较小。 您要确保系统不会过度馈送或“精确融合”到特定的数据集,但这是更通用的并且能够根据命令进行扩展和发展。

工程师如何评估训练集和测试集,以发现机器学习中可能的过度拟合?