29 绘制训练集上的损失曲线(29 Plotting training error)

当训练集增大时,开发集(测试集)损失应该降低,但是训练集损失会增大。

用一个例子展示这种效果:假如训练集只有2个样本:一个猫图片,一个非猫图片,对于算法来说很容易记得这两个样本,从而在训练集上获得0%的错误率。即使两个样本的标签都错了,对于算法来说还是很容易记住这些标签。(注:标签错了,算法记住错的标签,训练集上分类错误率也为0)。

现在假设训练集有100个样本,其中少量样本的标签是错误的,或者一些图片模糊不清,连人类都没法分辨是不是猫的图片。算法还是可能记住所有的训练样本,但是要获得100%的准确率比较困难了。将训练集从2个样本增加到100个样本,你会发现训练集准确率会稍微下降。

最后,假设训练集有10,000个样本。这样的话,算法将难以完美的拟合这10,000个样本,特别是在有模糊不清或是错误标签的情况下,因此学习算法将会在训练集上表现的更差。

对前一节的图在添加一个训练集损失

可以看到随着训练集的增大,蓝色线(训练集损失)将会增加。更进一步的,算法在训练集上性能一般比开发集好,因此,红色的开发集损失曲线一般都会在蓝色线的上方比较接近的地方。

下一节讨论如何解释这幅图。

猜你喜欢

转载自blog.csdn.net/weixin_35576881/article/details/80348046
29