如何在训练神经网络时避免过拟合
![https://www.flaticon.com/free-icons/neural-network. title=“neural network icons.” Neural network icons created by Vectors Tank — Flaticon.](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*jCPRBXlmdeediciaM2CpOA.png)
目录
- 背景
- 什么是过拟合?
- Lasso(L1)和Ridge(L2)正则化
- 提前停止
- Dropout
- 其他方法
- 总结
背景
到目前为止,在这个神经网络101系列中我们已经讨论了两种提高神经网络性能的方法:超参数调整和更快的梯度下降优化器。您可以查看以下帖子:
超参数调整:神经网络101
如何通过调整超参数来改善神经网络的“学习”和“训练”
towardsdatascience.com
优化算法:神经网络101
如何超越“纯净”梯度下降算法来提高训练
towardsdatascience.com
还有一组技术可以帮助提高性能,这就是正则化。这有助于防止模型过拟合训练数据集,以获得更准确和一致的预测。
在本文中,我们将介绍一系列正则化神经网络的方法,以及如何在PyTorch中实现。
什么是过拟合?
让我们快速回顾一下机器学习和统计学中的过拟合是什么意思。
维基百科对过拟合的描述如下:
“对于特定数据集,生成一个过于相似或完全相符的分析结果,可能无法适应额外的数据或可靠地预测未来观察结果”
简单来说,这意味着模型正在学习训练数据,但无法推广。因此,它的预测能力较差…