这个学习曲线显示了什么?以及如何处理样本的非代表性?

时间:2017-06-30 19:13:08

标签: machine-learning

==> to see learning curves

我正在尝试使用随机森林回归器来解决机器学习问题(空间点的价格估算)。我有一个城市的空间点样本。样本不是随机抽取的,因为市中心的观察数量非常少。我想估算一下这个城市所有地址的价格。

我有一个很好的交叉验证分数(绝对均方误差),在分割训练集后也是一个很好的测试分数。但预测非常糟糕。

有什么可以解释这个结果?

  • 我绘制了学习曲线(上面的链接):交叉验证分数随实例数增加(听起来合乎逻辑),培训分数仍然很高(应该减少吗?)...... 这些学习是什么曲线显示?一般来说,我们如何“阅读”学习曲线?

  • 此外,我认为样本不具代表性。我试图根据训练集的每个区域中观察的比例,通过绘制whitout替换来使我想要预测的数据集在空间上类似于训练集。但这并没有改变结果。 我如何处理这种非代表性?

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:2)

在查看培训和交叉验证分数时会出现一些常见情况:

  • 过度拟合:当您的模型具有非常高的训练分数但交叉验证分数较差时。通常,当您的模型过于复杂时,会发生这种情况,从而使其非常适合训练数据,但对验证数据集的概括性较差。
  • 不适合:当训练和交叉验证分数都不高时。当您的模型不够复杂时会发生这种情况。
  • 理想契合度:当训练和交叉验证得分都相当高时。您的模型不仅可以学习表示训练数据,还可以很好地推广到新数据。

这里有一个来自this Quora post的精美图片,展示了模型复杂性和错误与模型展示的拟合类型的关系。 enter image description here

在上图中,给定复杂度的误差是在均衡时发现的误差。相比之下,学习曲线显示了整个训练过程中得分的进展情况。一般来说,您永远不希望在训练期间看到分数下降,因为这通常意味着您的模型正在发散。但是,随着时间的推移(达到平衡),训练和验证分数之间的差异表明你的模型的拟合程度。

请注意,即使您有一个理想的拟合(复杂度轴的中间),通常会看到一个高于交叉验证分数的训练分数,因为模型的参数是使用更新的训练数据。但是,由于您的预测结果不佳,并且由于验证得分比训练得分低约10%(假设得分超过1),我猜您的模型过度拟合并且可以从较低的复杂性中受益。

要回答您的第二点,如果训练数据更好地表示验证数据,模型将更好地概括。因此,在将数据拆分为训练集和验证集时,我建议找到一种随机分离数据的方法。例如,您可以生成城市中所有点的列表,列表的迭代,以及来自统一分布的每个点绘制,以确定该点所属的数据集。