问题是:我正在制作一个机器学习算法,它接受我编写的一些软件的输入和输出,但我不知道要产生多少数据线才能获得“良好”拟合的结果。我意识到答案是“越多越好”,但我正在寻找任何最低要求。我还意识到,变量的数量越多,所需的数据线数量就越多。
所以我正在寻找一个关于变量数量到数据线数量的经验法则。
问题是:我正在制作一个机器学习算法,它接受我编写的一些软件的输入和输出,但我不知道要产生多少数据线才能获得“良好”拟合的结果。我意识到答案是“越多越好”,但我正在寻找任何最低要求。我还意识到,变量的数量越多,所需的数据线数量就越多。
所以我正在寻找一个关于变量数量到数据线数量的经验法则。
除了 Dikran Marsupial 的出色建议:
虽然您需要的训练数据没有硬性最低要求,
这是我们为此写的一篇论文:Beleites, C. and Neugebauer, U. and Bocklitz, T. and Krafft, C. and Popp, J.:分类模型的样本量规划。Anal Chim Acta, 2013, 760, 25-33。DOI: 10.1016/j.aca.2012.11.007
arXiv 上接受的手稿: 1211.1323
另请参阅:需要多大的训练集?
在选择训练的样本数时,可以考虑偏差和方差之间的权衡。
训练的一个目的(在许多目的中)是在Eout给定获得的样本内误差的情况下估计样本外误差Ein。VC 分析中有这样的概括:(Eout <= Ein + Omega也称为 Hoeding 不等式,写成概率格式)。所以人们倾向于通过实验观察 和 的Eout变化Ein。他们发现:随着样本数量的增加,Eout最终会收敛到Ein一个简单的模型;同时Eout也从一个巨大的值收敛到一个相对恒定的值,以及一个复杂的模型,但仍然比Ein. 这样的 VC 分析曲线可以等效地看作是一个偏差-方差权衡曲线,它表明方差随着样本数的增加而减小。你可以参考此幻灯片了解更多详情。另一方面,目标复杂度也会影响泛化误差。这张幻灯片显示了随着数据点数量的变化而过拟合的度量。可以观察到,如果目标复杂,增加样本数不一定能减少过拟合(图中红色区域),但如果目标不复杂,仍然可以有效减少过拟合。
如上所述,训练样本量通常与模型复杂度(变量数量)和目标复杂度有关,而测试样本量可以根据所需的准确度性能来估计。就像@Dikran 建议的那样,您需要通过观察自己的学习曲线来尝试效果。
对此没有有用的经验法则,因为所需的模式数量很大程度上取决于问题的性质,特别是变量之间潜在关系的形式越复杂,您需要估计的数据越多,噪声破坏数据,您可能需要更多的数据来平均噪声的影响。对机器学习算法的性质也有相当强的依赖性,如果该技术非常适合该问题,您将需要更少的数据,如果它不太适合,您将需要更多的数据。
归根结底,执行推理所需的数据量没有最低限度,您拥有的数据越多,您对推理的信心就越大,但这通常是一种平稳的关系。
我建议生成一个学习曲线 - 测试集误差作为训练模式数量的函数的图。这将为您提供训练模型所需的数据量以及您是否已经达到收益递减点的良好指示。