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

机器学习与深度学习中模型训练时常用的四种正则化技术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.mrgr.cn/news/94462.html

相关文章:

  • 【第六节】windows sdk编程:Windows 中的资源
  • 静态时序分析:SDC约束命令set_sense详解
  • C++初阶——类和对象(一)
  • 万字长文详解嵌入式电机软件开发
  • 搭建基于flask的web应用框架
  • Linux内核实时机制19 - RT调度器4 - 实时就绪队列维护
  • Spring Boot整合JWT 实现双Token机制
  • Nginx快速上手
  • 《计算机图形学》第二课笔记-----二维变换的推导
  • 《解锁Netlify:静态网站托管》:此文为AI自动生成
  • MATLAB 控制系统设计与仿真 - 26
  • 《基於Python的网络爬虫抓包技术研究与应用》
  • Java8的新特性
  • Python字符串高效优化策略:特定编码 -> Unicode码点 -> UTF-8(可自定义)
  • 序列化和反序列化TCP粘包问题
  • 《GitHub网路访问不稳定:解决办法》:此文为AI自动生成
  • 【原创】在高性能服务器上,使用受限用户运行Nginx,充当反向代理服务器[未完待续]
  • Java高级-04.反射-获取成员变量和方法对象并使用
  • QT中读取QSetting文件
  • Android 高版本 DownloadManager 封装工具类,支持 APK 断点续传与自动安装