L1正则为什么更容易获得稀疏解

2023-05-16

L1和L2正则常被用来解决过拟合问题。而L1正则也常被用来进行特征选择,主要原因在于L1正则化会使得较多的参数为0,从而产生稀疏解,将0对应的特征遗弃,进而用来选择特征。

但为什么L1正则会产生稀疏解呢?这里利用公式进行解释。
假设只有一个参数为 w w w,损失函数为 L ( w ) L(w) L(w),分别加上L1正则项和L2正则项后有:

J L 1 ( w ) = L ( w ) + λ ∣ w ∣ J_{L1}(w) = L(w) + \lambda \lvert w \rvert JL1(w)=L(w)+λw
J L 2 ( w ) = L ( w ) + λ w 2 J_{L2}(w) = L(w) + \lambda w^2 JL2(w)=L(w)+λw2

假设 L ( w ) L(w) L(w)在0处的导数为 d 0 d_0 d0,即
∂ L ( w ) ∂ w ∣ w = 0 = d 0 \frac{\partial L(w)}{\partial w} \bigg |_{w=0} =d_0 wL(w)w=0=d0

则可以推导使用L1正则和L2正则时的导数。

引入L2正则项,在0处的导数
∂ J L 2 ( w ) ∂ w ∣ w = 0 = d 0 + 2 × λ × w = d 0 \frac{\partial J_{L2}(w)}{\partial w} \bigg |_{w=0} =d_0 + 2 \times \lambda \times w = d_0 wJL2(w)w=0=d0+2×λ×w=d0

引入L1正则项,在0处的导数
∂ J L 1 ( w ) ∂ w ∣ w = 0 − = d 0 − λ \frac{\partial J_{L1}(w)}{\partial w} \bigg |_{w=0^-} =d_0 - \lambda wJL1(w)w=0=d0λ

∂ J L 1 ( w ) ∂ w ∣ w = 0 + = d 0 + λ \frac{\partial J_{L1}(w)}{\partial w} \bigg |_{w=0^+} =d_0 + \lambda wJL1(w)w=0+=d0+λ

可见,引入L2正则时,代价函数在0处的导数仍是 d 0 d_0 d0,无变化。而引入L1正则后,代价函数在0处的导数有一个突变。从 d 0 + λ d_0 + \lambda d0+λ d 0 − λ d_0 - \lambda d0λ,若 d 0 + λ d_0 + \lambda d0+λ d 0 − λ d_0 - \lambda d0λ异号,则在0处会是一个极小值点。因此,优化时,很可能优化到该极小值点上,即 w = 0 w=0 w=0处。

  这里只解释了有一个参数的情况,如果有更多的参数,也是类似的。因此,用L1正则更容易产生稀疏解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

L1正则为什么更容易获得稀疏解 的相关文章

  • Java拉姆达表达式

    目录 语法 lambda表达式的重要特征 变量作用域 Lambda 表达式 xff0c 也可称为闭包 xff0c 它是推动 Java 8 发布的最重要新特性 Lambda 允许把函数作为一个方法的参数 xff08 函数作为参数传递进方法中
  • activiti修改流程定义二进制数据后需清缓存

    示例如下 package com zz flow utils import org activiti engine impl interceptor Command import org activiti engine impl inter
  • Ubuntu 12.04 LTS 中文输入法的安装

    安装 Ubuntu 12 04 着实费力一番功夫 xff0c 老是在用 Ubuntu 来引导 Windows xff0c 结果 Ubuntu 倒是能用 xff0c 一进入 Windows 就蓝屏 xff0c 于是又重装 Windows 好几
  • stream buffer原理

    Stream buffer是一个用于在cache和memory或者L1cache和L2cache之间的预取器 xff0c 相应地 xff0c 其目的是用于替代L2cache或者减少L1cache的缺失率 最原始的streambuffer由J
  • 原创:纠正国人对Linux的误解和错误认识之二

    或问 xff1a Linux兼容性差 真的是这样吗 xff1f 从2 6 30内核开始 xff0c 驱动程序占整个内核的代码比率首次超过50 xff05 就在2009年圣诞节那天 xff0c Linus Torvalds 在给大家发的圣诞快
  • linux vnc登陆黑屏问题

    1 现象描述 桌面背景全黑 xff0c 没有右上角的设置按钮 2 添加新用户步骤 命令 xff1a 1 useradd xy 2 passwd xy 3 输入密码 4 vim etc sudoers xff0c 将xy添加下面 5 在roo
  • 读书笔记-深度学习推荐系统9-推荐系统知识框架

    针对某一个领域 xff0c 建立自己的技术框架是最重要的 xff0c 只有建立了知识框架 xff0c 才能在这个框架中开枝散叶 xff0c 思考细领域的问题时 xff0c 见微知著的同时 xff0c 也不会忘记整体 9 1 知识架构图 9
  • shell将命令输出结果保存到变量中的3种常用方式

    shell将命令输出结果保存到变量中的几种形式及相应的输出结果 xff0c 使用时须注意对应关系 xff0c 记录在此以便使用时查找比较 bin bash abc 61 34 echo 66666666666666666 34 只用一个 3
  • SphereFace的翻译,解读以及训练

    前段时间 xff0c 由于工作需要 xff0c 学习了一下论文 SphereFace Deep Hypersphere Embedding for Face Recognition 收获挺大的 xff0c 这几天刚好有空 xff0c 就整理
  • IDEA2019,springboot2.1 .6 热部署配置 完整版

    1 修改pom文件 xff0c 增加配置 lt dependency gt lt groupId gt org springframework boot lt groupId gt lt artifactId gt spring boot
  • casbin模型

    目录 一 PERM元模型二 基础代码实现步骤1 创建main go步骤2 创建model conf步骤3 创建policy csv 三 role definition 角色域的用法g 61 的用法1 model文件2 policy文件 g
  • 为Visual Studio添加项目模板及项模板

    1 问题的引入 在做项目的时候 xff0c 需要代码规范 xff0c 版本信息不可或缺 xff0c 但是每次在文件头COPY版本信息很麻烦 xff0c 而且也不太容易控制 为了更好 更规范的去完成项目 xff0c 需对项目文件做统一的格式来
  • Hadoop-HDFS-读写流程详解

    HDFS写数据流程 xff1a 详细步骤图 xff1a 详细描述 xff1a 1 客户端向NN发送文件上传的请求 2 NN进行一系列的检查 xff1a 是否有权限 xff0c 文件的父目录是否存在 xff0c 文件是否已经存在同名等等 xf
  • tcsh编程学习3

    一 xff1a shell 是什么 shell是一个 UNIX程序 xff0c 当给出一条命令时 xff0c shell解释并执行它 xff0c 然后返回一个提示或是一个错误消息 作为一个命令解释器 xff0c shell是一种编程语言 x
  • xcode 基本操作

    1 IDE概览 2 偏好设置 通过 command 43 快捷键或 Xcode Preferences 菜单呼出偏好设置 xff08 1 xff09 主题及字体 xff08 Preferences gt Fonts amp Colors x
  • 无屏,新安装的一个apk 如何启动?

    调试的设备没有屏幕 xff0c 只能通过adb 投屏 然后安卓的桌面应用已经被干掉了 xff0c 改成了定制的桌面 新安装的apk xff0c 在屏幕或者投屏中都是无法看到新安装的 UI 入口的 那怎样启动这个 apk 呢 xff1f 首先
  • 推荐几个ubuntu16.04的下载地址

    推荐几个ubuntu16 04的下载地址 ubuntu16 04下载地址 xff1a 中科大源 http mirrors ustc edu cn ubuntu releases 16 04 阿里云开源镜像站 http mirrors ali
  • 读书笔记-深度学习推荐系统4-推荐与embedding

    本篇结合了书籍 深度学习推荐系统 和吴恩达老师的视频课程 Natural Language Processing and Word Embeddings embedding技术是深度学习的一种基础核心操作 xff0c 有很多的应用场景 1
  • VNC 密码修改遇到的问题

    记一下今天在修改vnc密码的时候 xff0c 使用vncpasswd xff0c 修改完死活不成功 xff0c 后来切换到对应的账号再修改就成功了

随机推荐

  • 我的2014

    2014 xff0c 不 xff0c 应该是先说说现在的2015吧 xff0c 2015年1月18号 xff0c 我刚刚注册了CSDN的博客账号 xff0c 相对来说 xff0c 我是个新手 xff0c 其实以前都没有写博客的习惯 xff0
  • 平衡车+速度/位置pid+野火上位机移植+Freertos+cubemx(一)

    平衡小车 43 野火pid上位机移植 程序源码已经上传 xff0c 需要的可以下载 一 首先下载STM32CUBEMX 二 配置相关单片机和相关功能 1 配置时钟和debug引脚2 开启freertos3 相关功能以及引脚的配置这里使用的相
  • 百度笔试题2

    一 xff0c 简答题 30分 1 xff0c 当前计算机系统一般会采用层次结构存储数据 xff0c 请介绍下典型计算机存储系统一般分为哪几个层次 xff0c 为什么采用分层存储数据能有效提高程序的执行效率 xff1f xff08 10分
  • 2014华为机试题目

    1 输入摸一个数 xff0c 然后将其倒过来相加 xff0c 如果和不是回文串 xff0c 那么将和再采取同样的操作 xff0c 在判断得到的是否为回文串 xff0c 这样往返7次 xff0c 如果其中有一次是回文就直接打出来 xff0c
  • 2014小米,百度,pptv,去哪儿笔试题目回忆

    今天一共笔试了这四家 xff0c 真累啊 xff0c 上午10点小米 xff0c 下午2点百度 xff0c 下午3点PPTV xff0c 下午5点去哪儿 xff0c 今天右手太酸了 xff0c 打的都话了50左右 xff0c 如果没面试通知
  • 质数因子

    功能 输入一个正整数 xff0c 按照从小到大的顺序输出它的所有质数的因子 xff08 如180的质数因子为2 2 3 3 5 xff09 思路 xff1a 传统的思维是从2到n遍历一遍 xff08 稍微优化一下可以到根号n xff09 x
  • OVS于DVS

    撰写时间 xff1a 2022 2 28 分布式虚拟交换机 xff08 DVS 注意 xff1a DVS是二层交换机 DVS特点 xff1a 1 集中管理 xff1a 通过统一的Portal页面进行集中管理 xff0c 简化用户配置 2 基
  • 如何同时使用maven-replacer-plugin和maven-assembly-plugin插件

    页面css和js缓存是前端常见的问题 xff0c maven有专门的插件maven assembly plugin可以处理 参考https blog csdn net weixin 34336292 article details 9197
  • Ubuntu上两台服务器利用nfs实现共享文件夹

    碰到的一个问题是 xff0c 一台服务器A放不下所有的数据 xff0c 部分数据只能放到另一台服务器B上 xff0c 那么就涉及到如何把服务器B上的数据共享给服务器A xff0c 使得A可以看到B上的内容 xff0c 需要用的是nfs文件共
  • Unbuntu16.04 虚拟机 安装win7以及文件共享

    KVM虚拟机的模版导出 xff0c 通常都是直接用qemu img命令可以将默认的raw格式或者qcow2格式的磁盘文件压缩后导出 xff0c 指令如下 xff1a 将默认raw格式的磁盘 xff0c 简单压缩转换成qcow2格式 qemu
  • 报错:RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

    一般显存溢出报out of memory之类 xff0c 修改了代码中batch size大小 xff08 忘记自己已经配置过默认参数 xff09 未解决 所以便认为是cuda配置问题 xff0c 多方检查确认cuda cudnn配置无误
  • js delete删除key

    var a 61 a a 61 1 a b 61 2 delete a 34 a 34 console log a b 2 delete a b console log a js 的delete可以根据key删除对象中的元素
  • 2014跌跌撞撞--伴我成长

    2014跌跌撞撞 伴我成长 上眼皮是正月 xff0c 下眼皮是腊月 xff0c 一转眼一年就过去了 没有轰轰烈烈 xff0c 也不是平淡无奇 xff0c 或许应该说是跌跌撞撞地走过来 叶子不断地从生命之树飘落 xff0c 不知不觉中岁月已在
  • stm32f103rb升级到stm32f103rc时代码移植注意事项

    1 由于stm32f103RC RD RE系列单片机芯片级的bug xff0c 代码中用到重映射相关函数的地方 xff0c 在其后面添加 HAL AFIO REMAP SWJ NOJTAG 语句 xff0c 如下所示 xff1a HAL A
  • OpenFlow所面临的挑战与创新方案

    1 OpenFlow控制面的挑战 2 OpenFlow转发面的挑战 3 芯片厂商的犹豫 一 OpenFlow控制面的挑战 OpenFlow在控制面存在以下不足 xff1a 1 master和slavecontroller的选举机制不够成熟
  • apt-get软件管理工具(软件安装、重装、卸载)

    apt get软件管理工具 下面讲解 xff0c linux系统下如何进行软件的管理 xff0c 包括软件的索引安装 更新 卸载删除 本地存储介中软件的安装 系统升级等操作 更多优质文章 xff0c 请访问博主个人网站 xff1a www
  • Ubuntu 系统下如何安装pip3工具

    一 导读 Ubuntu 系统内置了 Python2 和 Python3 两个版本的开发环境 xff0c 却没有内置相应的 pip3 管理工具 xff0c 本文将介绍如何在Ubuntu下如何快速安装 pip3 工具 xff0c 并升级到最新可
  • 包编译卡住的终极解决办法

    在数据库开发过程中 xff0c 经常遇到一个很烦躁的现象 xff1a 刚修改好的包一编译就卡死了 xff0c PL SQL变成一片空白 xff0c 又不忍心关闭 xff0c 这可是耗死多少脑细胞才写出来的 xff01 xff01 xff01
  • 正则表达式3,\A,\Z,\b,\B,\d,\D,\s,\S,\w.\W,re.compile

    1701H1 穆晨 180201 第114天总结 我爱学习 xff0c 学习使我快乐 A匹配输入字符串的开始位置 Z匹配输入字符串的结束位置 xff08 脱字符 xff09 匹配输入字符串的开始位置 xff0c 如果设置了re MULTIL
  • L1正则为什么更容易获得稀疏解

    L1和L2正则常被用来解决过拟合问题 而L1正则也常被用来进行特征选择 xff0c 主要原因在于L1正则化会使得较多的参数为0 xff0c 从而产生稀疏解 xff0c 将0对应的特征遗弃 xff0c 进而用来选择特征 但为什么L1正则会产生