学习曲线

让我们根据模型通过可视化图形从数据中学习的能力来探讨偏差与方差之间的关系。

机器学习中的学习曲线是一种可视化图形,能根据一系列训练实例中的训练和测试数据比较模型的指标性能。

在查看数据与误差之间的关系时,我们通常会看到,随着训练点数量的增加,误差会趋于下降。由于我们尝试构建从经验中学习的模型,因此这很有意义。

我们将训练集和测试集分隔开,以便更好地了解能否将模型泛化到未见过的数据而不是拟合到刚见过的数据。

在学习曲线中,当训练曲线和测试曲线均达到稳定阶段,并且两者之间的差距不再变化时,则可以确认模型已尽其所能地了解数据。

 

 

学习曲线

偏差

在训练误差和测试误差收敛并且相当高时,这实质上表示模型具有偏差。无论我们向其提供多少数据,模型都无法表示基本关系,因而出现系统性的高误差。

方差

如果训练误差与测试误差之间的差距很大,这实质上表示模型具有高方差。与偏差模型不同的是,如果有更多可供学习的数据,或者能简化表示数据的最重要特征的模型,则通常可以改进具有方差的模型。

 

 

理想的学习曲线

模型的最终目标是,误差小并能很好地泛化到未见过的数据(测试数据)。如果测试曲线和训练曲线均收敛,并且误差极低,就能看到这种模型。这种模型能根据未见过的数据非常准确地进行预测。

 

 

模型复杂度

与学习曲线图形不同,模型复杂度图形呈现的是模型复杂度如何改变训练曲线和测试曲线,而不是用以训练模型的数据点的数量。一般趋势是,随着模型增大,模型对固定的一组数据表现出更高的变化性。

 

 

 

学习曲线与模型复杂度

那么,学习曲线与模型复杂度之间有何关系?

如果我们获取具有同一组固定数据的相同机器学习算法的学习曲线,但为越来越高的模型复杂度创建几个图形,则所有学习曲线图形均代表模型复杂度图形。这就是说,如果我们获取了每个模型复杂度的最终测试误差和训练误差,并依据模型复杂度将它们可视化,则我们能够看到随着模型的增大模型的表现有多好。

 

 

模型复杂度的实际使用

既然知道了能通过分析模型复杂度图形来识别偏差和方差的问题,现在可利用一个可视化工具来帮助找出优化模型的方法。在下一部分中,我们会探讨 gridsearch 和如何微调模型以获得更好的性能。