答案 0 :(得分:39)
我认为它通常是指预测准确度/误差与训练集大小的关系图(即:模型在预测目标方面有多好当你用来训练它的实例数增加时)
答案 1 :(得分:29)
我只是想对这个老问题做一个简短的说明,指出学习曲线和ROC曲线不是同义词。
正如该问题的其他答案所示,学习曲线通常表示当另一个参数(在水平轴上)发生变化时,例如训练集,在垂直轴上的性能改善大小(机器学习)或迭代/时间(机器和生物学习)。一个重点是模型的许多参数在图上的不同点处发生变化。这里的其他答案在说明学习曲线方面做得很好。
(工业制造中学习曲线的另一个含义,源于20世纪30年代的一项观察,即随着制造单位数量的增加,生产单个单位所需的工时数会以均匀的速度减少。这非常重要,但值得注意的是完整性并避免网络搜索中的混淆。)
相反,接收器操作特性曲线或 ROC曲线,不显示学习;它显示了性能。 ROC曲线是分类器性能的图形描绘,其示出了随着分类器的辨别阈值变化而增加的真阳性率(在垂直轴上)和增加的假阳性率(在水平轴上)之间的折衷。因此,只有与模型相关的单个参数(判定/判别阈值)在图上的不同点处发生变化。此ROC曲线(from Wikipedia)显示了三种不同分类器的性能。
这里没有描述学习,而是相对于两个不同类别的成功/错误的表现,因为分类器的决策阈值变得更宽松/严格。通过查看曲线下方的区域,我们可以看到分类器区分类别的能力的总体指示。这个曲线下面积度量对两个类中的成员数量不敏感,因此如果类成员资格不平衡,它可能无法反映实际性能。 ROC曲线有很多字幕,有兴趣的读者可以查看:
答案 2 :(得分:13)
有些人使用“学习曲线”来指代迭代过程的误差作为迭代次数的函数,即,它说明了某些效用函数的收敛。在下面的示例中,我绘制了最小均方(LMS)算法的均方误差(MSE)作为迭代次数的函数。这说明了LMS在这种情况下“学习”了多快的信道脉冲响应。
答案 3 :(得分:7)
基本上,机器学习曲线允许您找到算法开始学习的点。如果你采用一条曲线,然后在它开始达到常数的点开始构建其学习能力的时候切割一个斜率切线为导数。
根据x轴和y轴的映射方式,一个轴将开始接近一个常数值,而另一个轴的值将继续增加。这是你开始看到一些学习的时候。整条曲线几乎可以让您测量算法能够学习的速率。最大点通常是斜率开始后退。您可以采取多种衍生指标来达到最大/最小点。
因此,从上面的例子可以看出曲线逐渐趋于恒定值。它最初开始通过训练示例来利用其学习,并且斜率在最大/最小点处变宽,其趋向于越来越接近恒定状态。此时,它能够从测试数据中获取新的示例,并从数据中查找新的独特结果。 对于时期与错误,您将有这样的x / y轴度量。
答案 4 :(得分:2)
如何确定给定模型是否有更多培训点有用?对此有用的诊断是学习曲线。
•预测准确度/误差与训练集大小的关系图(即:模型在预测目标时,用于训练目标的实例数量增加的程度有多好)
•学习曲线通常描述当另一个参数(水平轴)发生变化时,垂直轴上的性能改善,例如训练集大小(机器学习中)或迭代/时间
•学习曲线通常可用于绘制算法健全性检查或提高性能
•学习曲线绘图可以帮助诊断算法将遇到的问题
就个人而言,以下两个链接帮助我更好地理解这个概念
答案 5 :(得分:2)
在安德鲁的机器学习课程中,学习曲线是训练/交叉验证误差与样本数量的关系图。学习曲线可用于检测模型是否具有高偏差或高方差。如果模型存在高偏差问题,则随着样本量的增加,训练误差将增加,交叉验证误差将减小,最后它们将彼此非常接近,但训练和分类误差的错误率仍然很高。并且增加样本量对于解决高偏差问题无济于事。
如果模型存在高方差,则随着样本数量的不断增加,训练误差将持续增加,交叉验证误差将持续减小,并且最终将以较低的训练和交叉验证误差率结束。因此,如果模型存在高方差,更多的样本将有助于改善模型的预测性能。
答案 6 :(得分:1)
它是一张图表,用于比较模型在不同数量的训练实例上准备和测试数据的性能,这些通常用作机器学习中的分析工具,用于从训练数据集中逐步学习的计算。它使我们能够验证模型何时能够尽可能多地学习数据。
学习曲线吸收信息有三种期望
答案 7 :(得分:1)
简单来说,学习曲线是实例数量与指标(例如损失或准确性)之间的关系图。该图显示了在学习过程中获得的经验,因此称为学习曲线。 学习曲线广泛用于机器学习中的算法,这些算法随着时间的推移逐渐学习(优化其内部参数),例如深度学习神经网络。
答案 8 :(得分:0)
使用此代码进行绘制:
const [v, setV] = React.useState(something)
const [flagV, setFlagV] = React.useState(something)
React.useEffect(() => {
if (flagV){
setV({...v ...something);
setFlagV(false)
}
}, [something,v,setV,flagV,setFlagV])
请注意,history = model.fit(...)
答案 9 :(得分:-1)