过拟合:解读损失曲线

如果您在首次训练模型时,所有损失曲线都如下所示,机器学习会变得简单得多:

图 20. 一张图,显示了训练机器学习模型时的理想损失曲线。损失曲线会在 y 轴上绘制损失,并在 x 轴上绘制训练步骤数。随着训练步骤数的增加,损失开始较高,然后呈指数级下降,最终趋于平稳,达到最小损失。
图 20. 理想的损失曲线。

遗憾的是,损失曲线通常很难解读。利用您对损失曲线的直觉来解答本页中的练习。

练习 1:振荡的损失曲线

图 21. 损失曲线(y 轴为损失;x 轴为训练步数),其中损失不会趋于平缓。
            而是会不稳定地振荡。
图 21. 振荡损失曲线。
您可以通过以下 三种方法尝试改进图 21 中显示的损失曲线。
降低学习速率。
增加训练集中的示例数量。
提高学习速率。
将训练集缩减为少量可信的示例。
将您的数据与数据架构进行对比,以检测不良示例,然后从训练集中移除不良示例。

练习 2. 损失曲线出现急剧跳跃

图 22。损失曲线图,显示损失在达到一定数量的训练步骤后会下降,然后随着进一步的训练步骤突然增加。
图 22. 损失急剧增加。
以下哪两个陈述指出了导致图 22 中损失值爆炸的可能原因。
输入数据包含大量离群值。
正则化率过高。
输入数据包含一个或多个 NaN,例如因除零而导致的值。
学习速率过低。

练习 3. 测试损失与训练损失不一致

图 23. 训练损失曲线似乎会收敛,但在经过一定数量的训练步骤后,验证损失开始上升。
图 23. 验证损失大幅增加。
以下哪一项陈述最能说明训练集和测试集的损失曲线之间存在这种差异的原因?
学习速率过高。
模型过度拟合了训练集。

练习 4. 损失曲线卡住

图 24. 损失曲线图,显示损失开始随着训练而收敛,但随后显示看起来像矩形波的重复模式。
图 24. 在特定步数后出现混乱的损失。
以下哪个说法最有可能解释图 24 中显示的异常损失曲线?
训练集包含重复的示例序列。
训练集包含的特征过多。
正则化率过高。