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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术-NBIOT

是什么? 窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWAN)NB-IoT支持待机时间长、对网络连接要求较高设备的高效连接NB-Io…

Spring @Bean注解使用场景二

bean:最近在写一篇让Successfactors顾问都能搞明白的sso的逻辑的文章,所以一致在研究IAS的saml2.0的协议,希望用代码去解释SP、idp的一些概念,让顾问了解SSO与saml的关系,在github找代码的时候发现一些代码的调用关系很难理解&…

pip install和conda install的区别

这里写目录标题 一、什么是 Python 依赖(Python Dependencies)?1. 依赖的作用2. 如何管理 Python 依赖3. 依赖管理问题4. 依赖锁定总结 二、使用pip安装包venv隔离环境方法 1:使用 venv(推荐)创建虚拟环境激…

R语言高效数据处理-自定义EXCEL数据排版

注&#xff1a;以下代码均为实际数据处理中的笔记摘录&#xff0c;所以很零散 1、自定义excel表数据输出格式、布局 在实际数据处理中为了提升效率&#xff0c;将Excel报表交付给需求方时减少手动调整的环节很有必要 #1.1设置表头格式 header_style <- createStyle(font…

Word 小黑第4套

对应大猫41 上下日期是一起变动的&#xff0c;删掉第一个&#xff0c;第二个日期格式&#xff08;文件 -选项 -自定义功能区 -选上开发工具&#xff09; 点开发工具 -属性 选择相应的日期格式&#xff09; 修改标题样式时&#xff0c;标题三只有点标题二时才会显示 右击正文样…

酒店宾馆IPTV数字电视系统:创新宾客体验,引领智慧服务新潮流

酒店宾馆IPTV数字电视系统&#xff1a;创新宾客体验&#xff0c;引领智慧服务新潮流 北京海特伟业科技有限公司任洪卓于2025年3月15日发布 随着智慧酒店的不断发展&#xff0c;宾客对于酒店内的娱乐和信息服务需求日益多样化&#xff0c;传统的电视服务已难以满足现代宾客的高…

jupyter无法转换为PDF,HTMLnbconvert failed: Pandoc wasn‘t found.

无法转为PDF 手动下载工具 https://github.com/jgm/pandoc/releases/tag/3.6.3 似乎跟我想的不大一样&#xff0c;还有新的报错 https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex 不知道下的啥玩意儿 sudo apt-get install texlive-xetex texlive-fon…

如何在 VS编译器上使用 C99规定的变长数组------使用Clang工具

VS编译器默认处理代码的工具是 MSVC&#xff0c;而MSVC工具是无法处理变长数组的&#xff0c;这个时候我们就要换一个处理代码的工具了----Clang 1 int n 9; 2 int arr[n];// 数组长度可以拟定1.打开 Visual Stdudio Intaller 2.点击修改&#xff0c;鼠标下滑找到>>使用…

vue echarts封装使用

echarts 尺寸自动调节 resize.js 柱状图 components/dashboard/lineChart.vue <template><div :class"className" :style"{height:height,width:width}" /> </template><script> import echarts from echarts require(echarts/…

《计算机图形学》第二课笔记-----二维变换的推导

前言&#xff1a;为什么这么突兀的把这一节内容放在了第二课&#xff0c;第一是因为我急于求成&#xff0c;第二是因为这一章节太重要了&#xff0c;这几乎是二维三维变换的最核心的东西&#xff0c;理解了这一章节内容&#xff0c;后面的就会像打通了任督二脉一样&#xff0c;…

OTP单片机调试工具之—单线数据编码

OTP单片机调试工具在实现过程中离不开单线数据的传输&#xff0c;那么使用哪一种方式的数据编码会比较好呢&#xff1f; 我所了解的主要有以下三种&#xff1a; 1.UART&#xff08;串口&#xff09;&#xff0c;这种方式在单片机和pc之间进行传输都非常常见&#xff0c;效率比较…

背诵--2

DAY01 面向对象回顾、继承、抽象类 学习目标 能够写出类的继承格式public class 子类 extends 父类{}public class Cat extends Animal{} 能够说出继承的特点子类继承父类,就会自动拥有父类非私有的成员 能够说出子类调用父类的成员特点1.子类有使用子类自己的2.子类没有使用…

穷举vs暴搜vs深搜vs回溯vs剪枝刷题 + 总结

文章目录 全排列题解代码 子集题解代码 总结 全排列 题目链接 题解 1. 画一颗决策树 2. 全局变量&#xff1a; int[ ][ ] ret&#xff1a;用于存结果的二维数组 int[ ] path&#xff1a;用于存每次路径的答案 bool[ ] check&#xff1a;判断这个数是否已经用过&#xff0c;…

深度学习中学习率调整策略

学习率衰减策略是深度学习优化过程中的一个关键因素&#xff0c;它决定了训练过程中学习率的调整方式&#xff0c;从而影响模型收敛的速度和效果。不同的衰减策略在不同的任务和模型上可能有不同的表现&#xff0c;下面从我用到过的几个衰减策略进行记录&#xff0c;后续慢慢跟…

《Electron 学习之旅:从入门到实践》

前言 Electron 简介 Electron 是由 GitHub 开发的一个开源框架&#xff0c;基于 Chromium 和 Node.js。 它允许开发者使用 Web 技术&#xff08;HTML、CSS、JavaScript&#xff09;构建跨平台的桌面应用程序。 Electron 的优势 跨平台&#xff1a;支持 Windows、macOS 和 Linux…

UBuntu24.04-JDK7-TOMCAT7安装

jdk7 apt-get 找不到。 tomcat7 也没找到。 以下是安装成功的&#xff0c;供大家参考。 1.JAVA openjdk-7-jdk /usr/lib/jvm/java-7-openjdk-amd641.安装指定版本apt search jdk //查找版本sudo apt install default-jdk //此为默认版本sudo apt install ope…

美畅物联丨WebRTC 技术详解:构建实时通信的数字桥梁

在互联网技术飞速发展的今天&#xff0c;实时通信已成为数字生活的核心需求。WebRTC作为一个开源项目&#xff0c;凭借卓越的技术实力与创新理念&#xff0c;为网页和移动应用带来了颠覆性的实时通信能力。它突破了传统通信方式的限制&#xff0c;实现了音频、视频和数据在用户…

驾驭 DeepSeek 科技之翼,翱翔现代学习新天际

在当今这个信息爆炸的时代&#xff0c;学习的方式和途径正在经历着前所未有的变革。人工智能技术的飞速发展&#xff0c;为我们的学习带来了全新的机遇和挑战。DeepSeek 作为一款强大的大语言模型&#xff0c;凭借其卓越的性能和丰富的功能&#xff0c;为现代学习注入了新的活力…

写时拷贝技术

目录 写时拷贝 核心思想 基本原理 基本过程 一个例子深入理解 补充知识--引用计数 小总结 写时拷贝实现 宏观理解&#xff08;进程、线程角度&#xff09; 资源共享 只读访问 写操作触发拷贝 独立修改 微观理解&#xff08;fork系统调用角度&#xff09; 进程创…

requests库的request和response对象的属性和方法

Python requests库 request 参数信息 response 参数信息