如果你的整个机器学习系统 损失曲线 如下所示:
遗憾的是,损失曲线通常很难解读。使用您的 并直观地理解损失曲线,以求解本页中的练习。
练习 1:振动损失曲线
您可以采取哪三项措施来尝试改进损失曲线
如图 21 所示。
根据数据架构检查您的数据以检测不良示例;
然后从训练集中移除不良样本。
是的,这适用于所有模型。
降低学习速率。
是的,在调试
训练问题。
将训练集缩减为少量可信样本。
虽然这种技术听起来像是人为的,但实际上
想法。假设模型会对一小部分样本进行收敛,
之后您可以逐渐添加更多样本,
或许会发现哪些样本会导致损失曲线
振荡。
增加训练集中的样本数。
这种想法很有诱惑力,但修正的可能性很小
问题。
提高学习速率。
一般来说,避免在模型的复杂程度
则表明存在问题。
练习 2.急剧跳跃的损失曲线
以下哪两种表述可能
如图 22 所示的爆炸损失的原因。
输入数据包含一个或多个 NaN,例如
除以 0 所引起的结果。
这种情况比您预想的要常见。
输入数据包含大量离群值。
有时,由于批次的重排不当,一个批次
包含大量离群值。
学习速率太低。
非常低的学习速率可能会增加训练时间,
而不是导致奇怪损失曲线的原因。
正则化率过高。
正确,正则化值非常高可能会阻止模型
converging;但不会产生奇怪的损失曲线,
如图 22 所示。
练习 3.测试损失与训练损失之间的差异
以下哪种表述最符合
训练的损失曲线之间出现这种差异的原因
和测试集?
模型过拟合训练集。
是的,可能确实如此。可能的解决方案:
- 可以减少 功能。
- 提高正则化率。
- 确保训练集和测试集具有统计意义 对等项。
学习速率过高。
如果训练集的学习速率过高,
那么它可能不会像现在这样运行
练习 4.损失曲线停滞
以下哪种表述最有可能
对图 24 所示不稳定损失曲线的解释是什么?
训练集包含重复的样本序列。
这是有可能的。确保您正在重排样本
。
正则化率过高。
这种情况不太可能是原因。
训练集包含的特征过多。
这种情况不太可能是原因。