使用学习曲线诊断机器学习模型性能

学习曲线是模型学习性能随经验或时间变化的曲线。

学习曲线是机器学习中广泛使用的诊断工具,用于从训练数据集中增量学习算法。该模型可以在训练数据集和每次训练更新后的验证数据集上进行评估,并可以创建测试性能的曲线图来显示学习曲线。

在训练过程中回顾模型的学习曲线,可以用来诊断学习中的问题,例如模型的过拟合或欠拟合,以及训练和验证数据集是否具有适当的代表性。

在本文中,您将发现学习曲线,以及如何使用它们来诊断机器学习模型的学习和泛化行为,并通过示例图展示常见的学习问题。

读完这篇文章,你会知道:

学习曲线是显示学习性能随时间变化的经验曲线。
通过训练数据集和验证数据集训练得到模型的学习曲线可用于诊断模型的欠拟合、超拟合或拟合良好。
模型性能的学习曲线可用于诊断训练或验证数据集是否相对不能代表问题域。

让我们开始吧。

概述
本教程分为三个部分;它们是:

学习曲线
诊断模型的行为
诊断不典型的数据集

机器学习中的学习曲线

一般来说,学习曲线是在x轴上显示时间或经验,在y轴上显示学习或改进的曲线。

学习曲线(LCs)被认为是有效的工具,以监测工人的表现,暴露在一个新的任务。LCs提供了任务重复时学习过程的数学表示。

例如,如果你正在学习一种乐器,你的乐器技能可以被评估,并在一年内每周分配一个数字分数。52周的成绩图表是一个学习曲线,可以显示你对乐器的学习是如何随着时间发生变化的。

学习曲线:学习(y轴) 经验(x轴)的直线图

学习曲线广泛应用于机器学习中,用于学习(优化其内部参数)随时间递增的算法,如深度学习神经网络。

用于评估学习的指标可以是最大化,这意味着更好的分数(更大的数字)意味着更多的学习。分类精度就是一个例子。

更常见的情况是使用最小化的分数,例如丢失或错误,更好的分数(较小的数字)表示学习更多,0.0的值表示训练数据集学习得很好,没有出现错误。

在机器学习模型的训练过程中,可以对训练算法的每一步模型的当前状态进行评估。它可以在训练数据集上进行评估,从而了解模型的“学习”情况。它也可以在不属于训练数据集的保留验证数据集上进行评估。对验证数据集的评估可以让我们了解模型“泛化”的程度。

训练学习曲线:从训练数据集中计算出的学习曲线,它给出了模型学习效果的一个概念。
验证学习曲线:从一个保留的验证数据集计算的学习曲线,它给出了模型泛化的一个概念。
在对训练和验证数据集进行训练期间,通常会为机器学习模型创建双重学习曲线。

在某些情况下,为多个指标创建学习曲线也很常见,例如在分类预测建模问题中,可以根据交叉熵损失对模型进行优化,并使用分类精度评估模型性能。在本例中,创建了两个图,一个用于每个度量的学习曲线,每个图可以显示两个学习曲线,一个用于每个训练和验证数据集。

优化学习曲线:在优化模型参数的度量上计算的学习曲线,如损耗。
性能学习曲线:根据评价和选择模型的度量标准计算的学习曲线,如精度。
现在我们已经熟悉了学习曲线在机器学习中的应用,让我们来看看学习曲线图中观察到的一些常见形状。

诊断模型的行为

学习曲线的形状和动态可用于诊断机器学习模型的行为,进而可能建议可能进行的配置更改类型,以改进学习和/或性能。

在学习曲线中,你可能会观察到三种常见的动态;它们是:

Underfit。
Overfit。
Good Fit.

我们将通过示例仔细研究每一种方法。这些例子将假设我们正在查看一个最小化度量,这意味着y轴上的相对分数越小,表示学习得越多或更好。

Underfit学习曲线

欠拟合是指无法学习训练数据集的模型。

当模型不能在训练集上获得足够低的误差值时,就会发生欠拟合。

仅从训练损失的学习曲线即可确定欠拟合模型。

它可能会显示出一条相对高损耗的直线或噪声值,表明模型根本无法学习训练数据集。

下面提供了一个这样的例子,当模型没有合适的能力来处理数据集的复杂性时,这种情况很常见。
在这里插入图片描述
一个欠拟合的模型也可以通过训练损失的减少来确定,训练损失在训练的最后不断减少。

这表明该模型能够进行进一步的学习和可能的进一步改进,并且培训过程过早地停止了。

在这里插入图片描述
学习曲线图显示,如果:

无论训练如何,训练损失都是持平的。
训练损失持续下降,直至训练结束。

Overfit学习曲线

过拟合是指对训练数据集的学习过深的模型,包括训练数据集的统计噪声或随机波动。

拟合一个更灵活的模型需要估计更多的参数。这些更复杂的模型可能导致一种被称为数据过拟合的现象,这基本上意味着它们过于接近误差或噪声。

过度拟合的问题在于,模型对训练数据的专门化程度越高,对新数据的泛化能力就越差,导致泛化误差增加。这种泛化误差的增加可以通过模型在验证数据集上的性能来测量。

这是数据过度拟合的一个例子,[…]。这是一种不受欢迎的情况,因为所获得的拟合不能准确估计原始训练数据集之外的新观测值的响应。

如果模型的容量大于问题所需的容量,并且相应地具有太多的灵活性,就会出现这种情况。如果模型训练时间过长,也会发生这种情况。

学习曲线图显示,如果:

随着经验的增加,训练损失的情况继续减少。
验证损失的图减小到某个点并开始再次增加。
验证损失的拐点可能是训练可以停止的拐点,在这个拐点之后,经验显示出过度拟合的动态。

下面的示例图演示了一种过度拟合的情况。

在这里插入图片描述
良好的拟合学习曲线

良好的拟合是学习算法的目标,存在于超拟合和欠拟合模型之间。

良好的匹配是通过训练和验证损失确定的,该损失减小到稳定点,在两个最终损失值之间有最小的差距。

在训练数据集上,模型的损失几乎总是比验证数据集要小。这意味着我们应该期望在训练和验证损失学习曲线之间存在一些差距。这种差距被称为“泛化差距”。

在这里插入图片描述
诊断不典型的数据集

学习曲线还可以用来诊断数据集的属性以及它是否具有相对代表性。

非代表性数据集是指与来自同一领域的另一个数据集(例如训练和验证数据集之间的数据集)相比,可能无法捕获统计特征的数据集。如果一个数据集中的样本数量相对于另一个数据集中太少,通常会发生这种情况。

可以观察到两种常见的情况;它们是:

训练数据集相对不具有代表性。
验证数据集相对不具有代表性。

非代表性的训练数据集

非代表性的训练数据集意味着训练数据集相对于用于评估该问题的验证数据集,不能提供足够的信息来学习该问题。

如果训练数据集与验证数据集相比示例太少,则可能会发生这种情况。

这种情况可以通过表示改进的训练损失的学习曲线和表示改进的验证损失的学习曲线来确定,但是这两条曲线之间仍然有很大的差距。

在这里插入图片描述
不典型的验证数据集

非代表性验证数据集意味着验证数据集不能提供足够的信息来评估模型的泛化能力。

如果与训练数据集相比,验证数据集的示例太少,可能会发生这种情况。

这种情况可以通过一个训练损失的学习曲线来识别,这个学习曲线看起来像是一个很好的拟合(或其他拟合),以及一个验证损失的学习曲线来识别,该学习曲线显示了围绕训练损失的嘈杂运动。

在这里插入图片描述
它也可以通过比训练损失更低的验证损失来识别。在这种情况下,它表明验证数据集可能比训练数据集更容易被模型预测。

在这里插入图片描述
总结

在本文中,您了解了学习曲线,以及如何使用它们来诊断机器学习模型的学习和泛化行为。

具体来说,你学会了:

学习曲线是显示学习成绩随时间变化的经验曲线。
训练模型性能的学习曲线和验证数据集可用于诊断模型的欠拟合、过拟合或拟合良好。
模型性能的学习曲线可用于诊断训练或验证数据集是否相对不能代表问题域。

原文出处

猜你喜欢

转载自blog.csdn.net/liuzonghao88/article/details/89032506