正则化(Regularization)是一种用于防止过拟合、提高模型泛化能力的机器学习和统计建模技术。过拟合指的是模型在训练数据上表现很好,但在测试数据或新数据上表现较差的现象。为了提高模型在新数据上的泛化能力,正则化通过在原始损失函数中添加一个惩罚项来平衡模型的复杂度与拟合优度。
一篇文章详解深度学习正则化方法(L1、L2、Dropout正则化相关概念、定义、数学公式、Python代码实现)-CSDN博客
常见的正则化方法
- L1 正则化:也称为 Lasso 正则化,它通过在模型的损失函数中增加权重的 L1 范数(权重向量的绝对值之和)来实现正则化。L1 正则化倾向于产生稀疏权重矩阵,即将一些权重推向零,从而实现特征选择的效果。
- L2 正则化:也称为 Ridge 正则化,它通过在模型的损失函数中增加权重的 L2 范数(权重向量的平方和)来实现正则化。L2 正则化会使权重值变得较小,但不会直接导致权重稀疏,因此不具有特征选择的作用,但可以有效地控制模型的复杂度。
- Elastic Net 正则化:Elastic Net 是 L1 和 L2 正则化的组合,它在损失函数中同时使用 L1 和 L2 范数,可以综合两者的优点。
- Dropout:Dropout 是一种特殊的正则化技术,通过在训练过程中随机地丢弃(将其权重置为零)网络中的部分神经元,以及它们的连接,来减少神经网络的复杂度。这样可以防止神经元之间的共适应性,从而减少过拟合。
- 早停(Early Stopping):早停是一种简单而有效的正则化方法,它在训练过程中监视模型在验证集上的性能,一旦验证集上的性能开始下降,就停止训练。这样可以避免模型在训练集上过拟合。
- 数据增强(Data Augmentation):数据增强是通过对训练数据进行变换来增加数据的多样性,从而减少过拟合的风险。例如,在图像分类任务中可以进行随机裁剪、旋转、翻转等操作来增加训练数据的数量和多样性。
- 批量归一化(Batch Normalization):批量归一化是一种通过对每个批次的输入进行归一化来加速训练并减少过拟合的技术。它可以使得每一层的输入分布稳定,从而更容易优化模型。
- 权重衰减(Weight Decay):权重衰减是一种通过在损失函数中增加权重的平方和或绝对值之和来实现正则化的技术。它等价于对权重参数进行 L2 正则化。