Mal*_*rsh 4 python neural-network deep-learning
我正在尝试用我的 numpy 神经网络解决 kaggle 中的狗与猫问题。
验证损失

训练损失

我的训练损失下降得很好,但验证损失增加了,所以我的模型肯定是过度拟合了。我使用了两个大小分别为 125 和 50 的隐藏层。我使用 0.075 的学习率运行了 600 次迭代的模型。
我还尝试使用 lambda = 0.01 或 0.03 的正则化,但仍然没有帮助。
这个问题有什么解决方案吗?
将 Dropout 添加到每一层,dropout-probability 为 0.5。看看它如何影响验证错误,如果您的训练错误不会超过特定点,请将概率降低到 0.3 或从第一层依次删除它。这里有一些尝试和错误。
我猜你是说 lamda 的 L2 正则化(权重衰减)。如今,网络通常使用 dropout 和非常小的 L2,例如 0.0005。L2 使权重接近于零并防止它们爆炸。Dropout 是一个更好的调节器,因为它在训练期间随机丢弃节点,这会导致某种专业化。
祝你好运。