解释机器学习中的学习曲线


不丶离
2025-03-30 01:19:16 (9天前)
  1. 在学习课程的同时



</跨度>

学习
</跨度>
上课时,我想测试我在另一个数据集上学到的东西并绘制出来

学习
</跨度>
不同算法的曲线。

我(相当随机)选择了在线新闻。

我训练了线性回归并绘制了以下内容

学习
</跨度>
曲线:

这个结果对我来说特别令人惊讶,所以我对它有疑问:

这条曲线是否可以远程实现或是“ ”

2 条回复
  1. 0# 荧惑 | 2019-08-31 10-32




    这条曲线是否可以远程实现,或者我的代码是否必然存在缺陷?




    这是可能的,但不太可能。您可能会一直在挑选难以预测的训练集实例和测试集的简单实例。确保您随机播放数据并使用

    10倍交叉验证




    即使你做了这一切,它仍然可能发生,而不一定表明方法或实现中的问题。




    如果它是正确的,那么在添加新的训练样例时,训练误差如何快速增长?交叉验证错误如何低于列车错误?




    假设您的数据只能通过三次多项式正确拟合,并且您正在使用线性回归。这意味着您添加的数据越多,您的模型越不明显(更高的训练错误)。现在,如果您为测试集选择的实例很少,则误差会更小,因为对于此特定问题,对于太少的测试实例,线性与第3度可能不会显示出很大差异。



    例如,如果对2D点进行一些回归,并且总是为测试集选择2个点,则线性回归的误差始终为0。一个极端的例子,但你明白了。



    你的测试设置有多大?



    此外,确保您的测试集在整个绘制学习曲线时保持不变。只有火车才会增加。




    如果不是,任何提示我犯错的地方?




    您的测试集可能不够大,或者您的列车和测试集可能没有正确随机化。您应该随机播放数据并使用10倍交叉验证。



    您可能还想尝试查找有关该数据集的其他研究。其他人得到的结果是什么?




    关于更新
    </强>



    我认为这更有意义。现在测试错误通常较高。但是,这些错误对我来说很重要。可能最重要的信息是,线性回归在拟合这些数据方面非常糟糕。



    再一次,我建议你对学习曲线进行10倍交叉验证。可以把它想象为将所有当前的情节平均为一个。在运行进程之前也要对数据进行洗牌。


登录 后才能参与评论