多少数据足以训练我的机器学习模型?

数据挖掘 机器学习 数据挖掘 数据集 数据清理 数据
2021-09-14 01:20:36

我一直在研究机器学习和生物信息学,今天我与一位同事就数据挖掘的主要一般问题进行了交谈。

我的同事(他是机器学习专家)说,在他看来,机器学习最重要的实际方面是如何理解你是否收集了足够的数据来训练你的机器学习模型

这句话让我很吃惊,因为我从来没有这么重视过这方面……

然后,我在 Internet 上查找了更多信息,我发现FastML.com上的这篇文章根据经验报告,您需要的数据实例数量大约是功能数量的 10 倍

两个问题:

1 - 这个问题在机器学习中真的特别重要吗?

2 - 10 次规则有效吗?这个主题还有其他相关来源吗?

2个回答

十次规则对我来说似乎是一条经验法则,但如果你没有提供足够的训练数据,你的机器学习算法的性能确实可能会下降。

确定是否有足够的训练数据的一种实用且数据驱动的方法是绘制学习曲线,如下例所示:

学习曲线

学习曲线表示随着您增加训练集大小的训练和测试错误的演变。

  • 随着数据集大小的增加,训练误差也会增加,因为要拟合一个模型来解释训练集的复杂性/可变性会变得更加困难。
  • 随着数据集大小的增加,测试误差会减少,因为模型能够从更多的信息中更好地概括。

正如您在图的最右侧看到的那样,图中的两条线趋向于达到和渐近线。因此,您最终会达到一个点,即增加数据集的大小不会对您的训练模型产生影响。

测试误差和训练误差渐近线之间的距离表示模型的过度拟合。但更重要的是,这个情节表明你是否需要更多数据。基本上,如果您表示测试和训练错误是为了增加更大的训练数据子集,并且这些线似乎没有达到渐近线,那么您应该继续收集更多数据。

  1. 是的,这个问题肯定是相关的,因为您拟合模型的能力将取决于您拥有的数据量,但更重要的是,它取决于预测变量的质量。
  2. 10 次规则可能是一个经验法则(还有很多其他规则),但这实际上取决于您的功能的预测效用。例如,虹膜数据集相当小但很容易解决,因为这些特征可以很好地分离目标。相反,如果特征很弱,您可能有 1000 万个示例并且无法拟合。