机器学习中的学习曲线是什么?

Hos*_*ein 43 machine-learning

我想知道机器学习的学习曲线是什么.绘制它的标准方法是什么?我的意思是我的情节的x轴和y轴应该是什么?

Amr*_*mro 43

我认为它通常是指预测准确度/误差训练集大小的关系图(即:模型在预测目标时如何更好地用于训练它的实例数量增加)

替代文字

  • 另见:http://www.astroml.org/sklearn_tutorial/practical.html#learning-curves (2认同)
  • 还有一篇更新的文章:http://scikit-learn.org/stable/modules/learning_curve.html (2认同)

Mat*_*agg 29

我只想简单地说一下这个老问题,指出学习曲线和ROC曲线不是同义词.

如该问题的其他答案所示,学习曲线通常表示当另一个参数(在水平轴上)发生变化时,垂直轴上的性能改善,例如训练集大小(机器学习中)或迭代/时间(在机器和生物学习中).一个重点是模型的许多参数在图上的不同点处发生变化.这里的其他答案在说明学习曲线方面做得很好.

(工业制造中学习曲线的另一个含义是,在20世纪30年代的观察中发现,随着制造单位数量的增加,生产单个单位所需的工时数会以均匀的速度减少.这不是真的相关但值得注意的是完整性并避免网络搜索中的混淆.)

相比之下,接收器工作特性曲线ROC曲线并未显示学习情况; 它显示了性能.ROC曲线是分类器性能的图形描绘,其示出了随着分类器的辨别阈值变化而增加的真阳性率(在垂直轴上)和增加的假阳性率(在水平轴上)之间的折衷.因此,只有与模型相关的单个参数(判定/判别阈值)在图上的不同点处发生变化.该ROC曲线(来自维基百科)显示了三种不同分类器的性能.

ROC曲线,请参阅CC许可的上一个链接

这里没有描述学习,而是关于两个不同类别的成功/错误的表现,因为分类器的决策阈值变得更宽松/严格.通过查看曲线下方的区域,我们可以看到分类器区分类别的能力的总体指示.这个曲线下面积度量对两个类中的成员数量不敏感,因此如果类成员资格不平衡,它可能无法反映实际性能.ROC曲线有很多字幕,有兴趣的读者可以查看:

福西特,汤姆."ROC图:研究人员的注释和实际考虑因素." 机器学习31(2004):1-38.

Swets,John A.,Robyn M. Dawes和John Monahan."通过科学做出更好的决定." Scientific American(2000):83.


Ste*_*joa 14

有些人使用"学习曲线"来指代迭代过程的误差作为迭代次数的函数,即,它说明了一些效用函数的收敛.在下面的示例中,我绘制了最小均方(LMS)算法的均方误差(MSE)作为迭代次数的函数.这说明了LMS在这种情况下"学习"信道脉冲响应的速度有多快.

learningcurves.png


小智 7

基本上,机器学习曲线允许您找到算法开始学习的点.如果你采用一条曲线,然后在它开始达到常数的点开始构建其学习能力的时候切割一个斜率切线为导数.

根据x轴和y轴的映射方式,一个轴将开始接近一个常数值,而另一个轴的值​​将继续增加.这是你开始看到一些学习的时候.整条曲线几乎可以让您测量算法能够学习的速率.最大点通常是斜率开始后退.您可以采取多种衍生指标来达到最大/最小点.

因此,从上面的例子可以看出曲线逐渐趋于恒定值.它最初开始通过训练示例来利用其学习,并且斜率在最大/最小点处变宽,其趋向于越来越接近恒定状态.此时,它能够从测试数据中获取新的示例,并从数据中查找新的独特结果.对于纪元与错误,您将有这样的x/y轴度量.


小智 5

在 Andrew 的机器学习课程中,学习曲线是训练/交叉验证误差与样本大小的关系图。学习曲线可用于检测模型是否具有高偏差或高方差。如果模型存在高偏差问题,随着样本量的增加,训练误差会增加,交叉验证误差会减少,最后它们会非常接近,但仍然处于训练和分类误差的高错误率. 增加样本量对高偏差问题没有多大帮助。

如果模型存在高方差,随着样本量的不断增加,训练误差将不断增加,交叉验证误差将不断减少,最终会以较低的训练和交叉验证错误率结束。因此,如果模型存在高方差,更多的样本将有助于提高模型预测性能。