L1正则化与L2正则化的区别

L1和L2正则化区别 1. L1和L2的定义 L1正则化,又叫Lasso Regression 如下图所示,L1是向量各元素的绝对值之和 L2正则化,又叫Ridge Regression 如下图所示,L2是向量各元素的平方和 2. L1和L2... 阅读详情

在机器学习中,L1正则化(Lasso)和L2正则化(Ridge)是两种常用的正则化技术,用于防止模型过拟合。它们通过不同的方式对模型参数进行约束,适用于不同的场景。以下是它们的核心区别及适用场景分析:


1. L1正则化(Lasso)

核心特点:
  • 惩罚项:对权重(参数)的绝对值求和(λ∑∣wi∣)。

  • 效果:倾向于将某些权重压缩到零,生成稀疏模型(部分特征被完全剔除)。

  • 数学性质:在损失函数中引入“尖角”的约束条件(菱形约束区域),使得最优解容易出现在坐标轴上。

适用场景:
  • 特征选择:当数据维度高(特征数量多)且认为只有少量特征重要时,L1能自动筛选关键特征。

    • 例如:基因数据(成千上万个基因中找出少数致病基因)、文本分类(高维稀疏词向量)。

  • 模型轻量化:稀疏模型参数更少,计算和存储效率更高。

  • 解释性需求:需要明确哪些特征对预测结果有贡献的场景。

缺点:
  • 如果特征高度相关,L1可能随机选择一个特征,忽略其他相关特征。

  • 当真实模型中大部分特征都重要时,L1的稀疏性反而会导致性能下降。


2. L2正则化(Ridge)

核心特点:
  • 惩罚项:对权重的平方求和(λ∑wi2)。

  • 效果:使权重趋向于较小的值,但不会完全为零,保留所有特征。

  • 数学性质:在损失函数中引入“平滑”的约束条件(圆形约束区域),使得权重分布更均匀。

适用场景:
  • 处理多重共线性:当特征间高度相关时,L2能稳定模型,防止参数剧烈波动。

    • 例如:经济指标预测(GDP、失业率等指标可能相关)、图像处理(相邻像素高度相关)。

  • 防止过拟合:在特征数量较多但样本量较少时,L2能有效约束模型复杂度。

  • 需要平滑输出:如回归任务中,希望模型对输入变化不敏感。

缺点:
  • 无法自动进行特征选择,所有特征都会被保留,可能包含冗余信息。


3. 对比总结

特性L1正则化(Lasso)L2正则化(Ridge)
惩罚项λ∑∥wi∥λ∑wi2
稀疏性✔️(产生稀疏解)❌(权重趋近于小值,但非零)
特征选择✔️(自动剔除不重要特征)❌(保留所有特征)
抗多重共线性❌(可能随机选择特征)✔️(稳定参数,适合相关特征)
优化难度非光滑,需用坐标下降、近端梯度法光滑,可用梯度下降、解析解
典型应用高维稀疏数据(文本、生物信息学)中小规模数据、特征相关性高(经济、信号处理)

4. 实际应用建议

何时用L1?
  • 数据维度远大于样本量(如 特征数=10^4, 样本数=10^2)。

  • 需要明确特征重要性(如医学诊断中找出关键指标)。

  • 资源受限(需部署轻量级模型)。

何时用L2?
  • 特征间存在强相关性(如时间序列数据、图像像素)。

  • 所有特征都可能有用(不希望丢弃任何信息)。

  • 追求模型稳定性(如金融风控模型)。

混合使用(Elastic Net):

当需要平衡L1和L2的优势时,可以使用弹性网络(Elastic Net),其惩罚项为两者的线性组合:

Penalty=λ1∑∣wi∣+λ2∑wi2

  • 适用场景:特征数量多且部分相关(如基因组数据、推荐系统)。


5. 代码示例(Scikit-learn)

python

from sklearn.linear_model import Lasso, Ridge, ElasticNet

# L1正则化(Lasso)
lasso = Lasso(alpha=0.1)  # alpha是正则化强度λ
lasso.fit(X_train, y_train)
print("Lasso选择的特征数:", sum(lasso.coef_ != 0))

# L2正则化(Ridge)
ridge = Ridge(alpha=0.1)
ridge.fit(X_train, y_train)
print("Ridge权重均值:", ridge.coef_.mean())

# Elastic Net(混合L1+L2)
elastic = ElasticNet(alpha=0.1, l1_ratio=0.5)  # l1_ratio控制L1占比
elastic.fit(X_train, y_train)

6. 总结

  • L1正则化:特征选择 + 稀疏性 → 高维数据、轻量化模型。

  • L2正则化:抗共线性 + 平滑约束 → 中小规模数据、特征相关性强。

  • 混合使用:复杂场景下平衡两者(如Elastic Net)。

根据数据特点、模型需求和应用场景灵活选择,必要时通过交叉验证调优正则化强度(λ)。

机器学习中正则化项L1和L2的直观理解 正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1\ell_1-norm和ℓ2ℓ2\ell_2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。 L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做... 阅读详情

相关推荐

正则化的作用以及L1和L2正则化的区别

0 正则化的作用 正则化的主要作用是防止过拟合,对模型添加正则化项可以限制模型的复杂度,使得模型在复杂度和性能达到平衡。 常用的正则化方法有L1正则化和L2正则化。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。 L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归。但是使用正则化来防止过拟合的原理是什么?L1和L...

Lavi的专栏 4万+

L1和L2正则化通俗理解

机器学习中,如果参数过多,模型过于复杂,容易造成过拟合(overfit)。即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,不具备良好的泛化能力。为了避免过拟合,最常用的一种方法是使用使用正则化,例如 L1 和 L2 正则化。

二十年蝉电子学习博客 8823

每天五分钟机器学习:L1正则化和L2正则化有什么区别?

正则化包含L1正则化和L2正则化,本文将介绍一下这两个正则化有什么不同?

huanfeng_AI的博客 2010

L1正则化和L2正则化的区别

文章目录前言一、L1和L2正则化是什么?二、区别三、其他问题 前言 在防止过拟合的方法中有L1正则化和L2正则化,那么这两者有什么区别呢? 一、L1和L2正则化是什么? L1和L2是正则化项,又叫做惩罚项,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项。 二、区别 L1是模型各个参数的绝对值之和。 L2是模型各个参数的平方和的开方值。 L1会趋向于产生少量的特征,而其他的特征都是0。 因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵 L2会选..

Vodka_Lou的博客 1万+

正则化L1和L2的区别?

L2正则化,也称为权重衰减(Weight Decay),是一种常见的正则化技术,用于在机器学习和深度学习中控制模型的复杂度,防止过拟合。它通过向模型的损失函数添加L2范数的惩罚项,使得模型的权重趋向于较小的值,从而减少特征的权重,提高泛化能力。在实际应用中,通常会同时使用L2正则化和L1正则化,即L1-L2正则化(Elastic Net),以兼顾两者的优势。L2正则化通过惩罚较大的权重值,使得模型的权重趋向于较小的值,从而降低模型的复杂度。L1正则化可以降低模型的复杂度,减少模型在训练数据上的过拟合。

优快云 精品推荐 567

二、时间序列的预处理

一般情况下,拿到一个观察值序列之后,首先要对它的平稳性和纯随机性进行检验,这两个重要的检验称为序列的预处理。根据检验的结果可以将序列分为不同的类型,对不同类型的序列我们会采用不同的分析方法。 一、平稳性检验 1、特征统计量 (1)概率分布           数理统计的基础知识告诉我们分布函数或者密度函数能够完整地描述一个随机变量的统计特征。同样,一个堆积变量族{Xt} 的统计特征也完全由...

Nicole的博客 2万+

L1,L2正则化的原理与区别

L1,L2正则化的原理与区别正则化的目的L0与L1范数L2范数L1,L2正则化区别正则化参数的选择参考 是为了求招做的笔记,笔记中的内容很大一部分来自于我所看的一大部分博客,这篇我主要看的是链接: link. 文中标号的部分是我目前还没完全理解的部分。 正则化的目的 在我们做监督学习训练时,主要应用的思想是“最小化损失函数的同时规则化参数”, 最小化损失函数的目的是降低训练误差,拟合训练数据,参数...

yr20133851的博客 5912

告别复杂配置!5分钟在Vue/React项目中集成讯飞语音听写WebSocket API

本文详细介绍了如何在Vue/React项目中快速集成讯飞语音听写WebSocket API,实现高效语音识别功能。通过对比不同通信方案,突出WebSocket在实时语音交互中的优势,并提供框架适配、音频处理及性能优化等关键技术点,帮助开发者5分钟内完成专业级语音听写功能集成。

weixin_28730353的博客 274

一文看懂L1、L2正则化的区别

正则化是一种为了减小测试误差的行为(有时候会增加训练误差)。我们在构造机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当你用比较复杂的模型比如神经网络,去拟合数据时,很容易出现过拟合现象(训练集表现很好,测试集表现较差),这会导致模型的泛化能力下降,这时候,我们就需要使用正则化,降低模型的复杂度。 1 向量范数 对于向量x=[x1,x2,…,xm]x=\left[x_{1},...

OuDiShenmiss的博客 975

人形机器人新产品导入(NPI)工艺工程师的角色与技术解析

本文系统解析人形机器人NPI工程师的核心职责与能力要求。主要内容包括:1)NPI工程师需主导装配工艺设计、样品试做及问题闭环,涉及公差分析(如尺寸链计算)、工艺评审与FMEA应用;2)要求输出完整工艺文档体系,并跟踪试产至量产全过程;3)任职资格强调3年以上机器人/智能制造行业经验,掌握SPC、公差计算等质量工具,熟悉点胶/焊接等工艺及特殊材料特性;4)通过实际案例展示关节精度优化、新物料验证等典型工作场景;5)提供基于职责的面试问题及技术性解答方案。文章聚焦技术细节,为从业者提供实用参考框架。

郑伟强dev的专栏 382

正则化项L1和L2的区别

转自:https://www.cnblogs.com/lyr2015/p/8718104.html https://blog.youkuaiyun.com/jinping_shi/article/details/52433975 https://blog.youkuaiyun.com/zouxy09/article/details/24971995 一、概括: L1和L2是正则化项,又叫做罚项,是为了限制模型的参...

lotus 600

红队内网攻防渗透:内网渗透之内网对抗:实战项目&VPC1打靶&PHP-RCE&三层代理路由&防火墙上线&密码喷射&域控提权

上面已经抓取到了密码,但是我们通过拓扑分析看,要想上线win10只能通过正向shell,因为win7的防火墙是开的,win10反向主动连接肯定入站规则拦截,而win10自己没有开防火墙,所以win7主动正向连接就可以上线。win7开启了防火墙,入站规则肯定是会拦截我们的请求的,所以我们需要反向上线,让win7主动来连接我们。这里扫描发现是存在ms17010漏洞的,但是想上线192.168.2.142的话,我们没有路由是上线不了的,这里有两种办法:一种msf直接生成后门,另一种cs移植后门到msf。

HACKONE的博客 910

l2正则化python_L1、L2正则化的区别

简单读了一些文章,总结一下L1和L2正则化的区别吧,似乎是非常容易被问到的一个问题。L1,L2正则化机器学习中, 损失函数后面一般会加上一个额外项,常用的是l1-norm和l2-norm,即l1范数和l2范数。可以看作是损失函数的惩罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。上面的目标函数,第一项是模型要最小化的误差,第二项是正则化项,λ>=0调节两者之间关系的...

weixin_40003512的博客 668

基于深度学习的番茄成熟度检测系统——YOLOv5、YOLOv8、YOLOv10及UI界面的实现

YOLO是一种快速且准确的目标检测模型,近年来,YOLOv5、YOLOv8和YOLOv10作为YOLO系列的重要版本,分别在速度、精度和效率上进行了优化。下面我们简要介绍这些模型。本文介绍了如何基于YOLOv5、YOLOv8和YOLOv10等深度学习模型,结合PyQt5设计一个番茄成熟度检测系统。通过训练模型、优化算法和设计用户友好的界面,我们能够构建一个高效且准确的番茄成熟度检测系统,广泛应用于农业自动化和智能化管理中。

YOLO 1002

基于Simulink的BCH码编解码仿真建模示例

BCH码是一类循环码,能够纠正一定数量的随机错误。灵活性:可以根据需要选择不同的码长和纠错能力。高效性:适用于短码长和中等码长的场景,广泛用于卫星通信、存储系统等。实现简单:编码和解码过程可以通过硬件或软件高效实现。在本示例中,我们将使用MATLAB/Simulink中的和模块来完成BCH码的编解码操作,并通过仿真验证其误码率(BER)性能。通过本指南,我们介绍了如何基于Simulink搭建一个BCH码的编解码模型,并进行了仿真以验证其性能。背景介绍:理解BCH码的基本原理及其在通信系统中的应用。

xiaoheshang_123的博客 191

L1与L2损失函数和正则化的区别

本文翻译自文章:Differences between L1 and L2 as Loss Function and Regularization,如有翻译不当之处,欢迎拍砖,谢谢~   在机器学习实践中,你也许需要在神秘的L1和L2中做出选择。通常的两个决策为:1) L1范数 vs L2范数 的损失函数; 2) L1正则化 vs L2正则化。 作为损失函数   L1范数损失函数,也...

aix26249的博客 2396

OpenClaw + Antigravity + 飞书完整部署教程

在 Linux 服务器上部署 OpenClaw,使用 Antigravity 本地代理 AI 模型,并接入飞书实现 24 小时在线 AI 助手。

Maynor的博客 1789

正则项的原理、梯度公式、L1正则化和L2正则化的区别、应用场景

先对“L1正则化和L2正则化的区别、应用场景”给出结论,具体见后面的原理解释: L1正则化会产生更稀疏的解,因此基于L1正则化的学习方法相当于嵌入式的特征选择方法. L2正则化计算更加方便,只需要计算向量内积,L1范数的计算效率特别是遇到非稀疏向量时非常低 实际使用时,L2正则化通常都比L1正则化要好,所以应优先选择L2正则化. PS:为方便书写,以下的向量w\boldsymbol ww省略...

pyxiea 6336

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

正则化L1和L2的区别

L1正则化(Lasso正则化)L1正则化通过在损失函数中添加模型参数绝对值之和的正则项来限制模型的复杂度。其公式为:其中,Loss表示原始损失函数,(w_i)表示模型参数,(\lambda)为正则化系数,用于控制正则化的强度。L2正则化(Ridge正则化)L2正则化通过在损失函数中添加模型参数平方和的正则项来限制模型的复杂度。其公式为:同样地,Loss表示原始损失函数,(w_i)表示模型参数,(\lambda)为正则化系数。

liujianjun的专栏 1410

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

L1和L2正则化的区别及优缺点

L1正则化和L2正则化的区别及各自优缺点

qq_38603174的博客 4095

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

什么是L1和L2正则化,以及它们有什么区别

在防止过拟合的方法中有L1正则化和L2正则化,L1和L2是正则化项,又叫做惩罚项,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项。

sherwinzhang的博客 1557

【ML】L1和L2正则化的区别

一、正则化的作用(功能) 正则项的作用:降低模型过拟合的风险,通常常用的有L1范数正则化与L2范数正则化,作为单独一项(正则项)加入到损失函数中,也可以自己作为损失函数。 总结:L1和L2正则化项,又叫惩罚项,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项。 二、L1和L2范数 在https://www.kaggle.com/residentmario/l1-norms-versus-l2-norms: 简单来说也就是范数其实在 [0,+∞)范围内的值,是向量的投影大小,在机器学习中一般会勇

学无止境、积少成多、厚积薄发 1250

L1和L2正则化的区别是什么?

L1 强制某些参数为0,产生特征选择的效果;L2 则会让所有参数趋于较小但非零值,强调参数的一致性和稳定性;L1 对异常值较不敏感,而 L2 更能抵抗离群点的影响;L1 更偏向于减少特征的数量,L2 则保持所有特征但减弱其作用。

timer_017的博客 576
上一篇: 为什么要使用小批量梯度下降
下一篇: 在深度网络中,当批量梯度下降(Batch Gradient Descent)过程过于缓慢时,可以采用以下技术加速训练并帮助成本函数 J快速收敛到较小值
linux_py
博客等级 码龄8年 54粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值