当前位置: 首页 > article >正文

机器学习与深度学习中模型训练时常用的四种正则化技术L1,L2,L21,ElasticNet

L1正则化和L2正则化是机器学习中常用的两种正则化方法,用于防止模型过拟合。它们的区别主要体现在数学形式、作用机制和应用效果上。以下是详细对比:

1. 数学定义

  • L1正则化(也叫Lasso正则化):
    在损失函数中加入权重参数的绝对值之和,即 λ ∑ ∣ w i ∣ \lambda \sum |w_i| λwi
    公式:
    L o s s = L o s s 原始 + λ ∑ ∣ w i ∣ Loss = Loss_{原始} + \lambda \sum |w_i| Loss=Loss原始+λwi
    其中 w i w_i wi 是模型的权重参数, λ \lambda λ 是正则化强度的超参数。

  • L2正则化(也叫Ridge正则化):
    在损失函数中加入权重参数的平方和,即 λ ∑ w i 2 \lambda \sum w_i^2 λwi2
    公式:
    L o s s = L o s s 原始 + λ ∑ w i 2 Loss = Loss_{原始} + \lambda \sum w_i^2 Loss=Loss原始+λwi2

2. 几何解释

  • L1正则化
    在参数空间中,L1正则化对应一个菱形(或高维的绝对值约束)。优化时,损失函数的最优解倾向于落在菱形的顶点上,导致部分权重被精确地压缩到0,具有稀疏性。

  • L2正则化
    对应一个圆形(或高维球面约束)。优化时,权重倾向于均匀缩小,但不会精确到0,而是变得很小。

3. 作用效果

  • L1正则化

    • 倾向于产生稀疏解,即部分权重变为0。
    • 适合特征选择,因为它可以自动剔除不重要的特征。
  • L2正则化

    • 倾向于让所有权重变小但不为0,保持权重分布更平滑。
    • 更适合处理多重共线性(特征之间高度相关)的情况。

4. 计算复杂度

  • L1正则化
    由于绝对值函数不可导,优化时需要特殊的算法(如次梯度下降或坐标下降法),计算复杂度稍高。

  • L2正则化
    平方项是连续可导的,可以直接用梯度下降等方法优化,计算上更简单。

5. 应用场景

  • L1正则化

    • 当特征数量很多且你怀疑只有少部分特征重要时(如高维数据降维)。
    • 示例:Lasso回归。
  • L2正则化

    • 当所有特征都可能有贡献,但需要控制权重大小以避免过拟合时。
    • 示例:Ridge回归、神经网络中的权重衰减。

6. 组合使用

在实践中,L1和L2正则化可以结合使用,称为Elastic Net,公式为:
L o s s = L o s s 原始 + λ 1 ∑ ∣ w i ∣ + λ 2 ∑ w i 2 Loss = Loss_{原始} + \lambda_1 \sum |w_i| + \lambda_2 \sum w_i^2 Loss=Loss原始+λ1wi+λ2wi2
这种方法兼具L1的稀疏性和L2的平滑性。

总结

特性L1正则化L2正则化
惩罚项绝对值 w w w平方 w 2 w^2 w2
权重结果稀疏(部分为0)小但非0
几何形状菱形圆形
主要用途特征选择权重平滑、防止过拟合
计算难度稍高较低

简单来说,L1更像“选择性淘汰”,L2更像“整体削弱”。根据具体任务需求选择合适的正则化方法!


补充: L 21 n o r m L_{21}norm L21norm范数正则化与Elastic Net 的区别

Elastic Net和L21范数正则化是两种不同的正则化方法,它们的主要区别如下:

  • 原理不同
    • Elastic Net:结合了L1和L2正则化的特点,在损失函数中同时引入L1范数和L2范数作为正则化项,通过一个混合参数来平衡两者的贡献。其正则化项的表达式为(R(\boldsymbol{w})=\lambda_1|\boldsymbol{w}|_1+\lambda_2|\boldsymbol{w}|_2^2),其中(\boldsymbol{w})是模型的参数,(\lambda_1)和(\lambda_2)是正则化参数。
    • L21范数正则化:是对矩阵的每一行或每一列的L2范数进行求和,然后将其作为正则化项添加到损失函数中。对于一个矩阵(\boldsymbol{W}),其L21范数正则化项的表达式为(R(\boldsymbol{W})=\sum_{i}|\boldsymbol{w}_i|_2),其中(\boldsymbol{w}_i)表示矩阵(\boldsymbol{W})的第(i)行或第(i)列。
  • 应用场景不同
    • Elastic Net:常用于线性回归、逻辑回归等模型中,当数据存在多个相关特征时,它可以有效地选择出重要的特征,并对模型进行正则化,防止过拟合。
    • L21范数正则化:在一些需要对矩阵结构进行约束的场景中更为常用,如图像处理、信号处理等领域,它可以用于特征选择、矩阵分解等任务。
  • 效果不同
    • Elastic Net:由于同时包含L1和L2正则化的特性,它既能够实现特征的稀疏性,又能够对模型的参数进行平滑处理,使得模型具有较好的泛化能力。
    • L21范数正则化:主要作用是促进矩阵的行或列的稀疏性,使得一些行或列的元素趋近于零,从而实现特征选择或矩阵结构的简化。

Elastic Net和L21范数正则化在原理、应用场景和效果等方面都存在一定的区别,在实际应用中,需要根据具体的问题和数据特点选择合适的正则化方法。


http://www.kler.cn/a/586973.html

相关文章:

  • springboot集成flink实现DM数据库同步到ES
  • RabbitMq C++客户端的使用
  • 使用SetupTools 管理你的项目打包工作
  • 如何用URDF文件构建机械手模型并与MoveIt集成
  • 【Tools】Visual Studio Code安装保姆级教程(2025版)
  • Typora最新版破解教程
  • 音视频入门基础:RTP专题(20)——通过FFprobe显示RTP流每个packet的信息
  • PHP与MySQL的高效数据交互:最佳实践与优化技巧
  • 解锁 vue-property-decorator 的秘密:Vue 2 到 Vue 3 的 TypeScript 之旅!✨
  • Kubernetes学习笔记-移除Nacos迁移至K8s
  • svmspro如何切换数据库
  • 【2025最新】深度学习框架PyTorch——从入门到精通(1)下载与安装
  • QT:非模态使用WA_DeleteOnClose避免内存泄漏
  • Hashtable和HashMap的区别
  • Java8计算集合属性的平均值
  • 隔板法的本质,球盒问题
  • Qt启动新窗口
  • Vue:Vue+TS学习笔记
  • 查看 tensorflow hub 模型文件信息
  • 深度学习大模型补充知识点