机器学习——L1范数充当正则项,让模型获得稀疏解,解决过拟合问题

news2024/12/29 1:10:18

问:使用L2范数正则项比L1范数正则项得到的是更为稀疏的解。

答:错误,L1范数正则项得到的是更稀疏的解。因为在L1正则项中,惩罚项是每个参数绝对值之和;而在L2正则项中,惩罚项是每个参数平方的和。L1正则项可以压缩参数中的小值,更容易导致一些参数被压缩到零。采用L1正则化,最优解为0的概率极大增加,这使得得到的解更可能是稀疏的。

为了理解l1范数的正则项和稀疏性之间的关系,我们可以想想下面三个问题:

  • ·为什么l范数就能使得我们得到一个稀疏解呢?
  • 为什么稀疏解能够避免过拟合?
  • 正则项在模型中扮演者何种角色?

什么是过拟合问题?


在讨论上面三个问题之前,我们先来看看什么是过拟合问题:假设我们现在买了一个机器人,想让它学会区分汉字,例如

认定前5个字属于第一类,后5个字属于第二类。在这里,10个字是所有的训练的“数据”

 不幸的是,机器人其实很聪明,它能够把所有的字都“记住”,看过这10个字以后,机器人学会了一种分类的方式:它把前5个字的一笔一划都准确地记在心里。只要我们给任何一个字,如“揪”(不在10个字里面),它就会很自信地告诉你,非此即彼,这个字属于第二类。当然,对于这10个字,机器人可以区分地非常好,准确率100%.但是,对于

机器人没见过这个字(不在10个字里面),它将这个字归为第二类,这可能就错了。
因为我们可以明显看到,前5个字都带提手旁:
 

所以,“揪”属于第一类。

机器人的失败在于它太聪明,而训练数据又太少,不允许它那么聪明,这就是过拟合问题。


正则项是什么?为什么稀疏可以避免过拟合?

还是给它前面测试过的那10个字,但现在机器人已经没办法记住前5个字的一笔一划了(存储有限),它此时只能记住一些简单的模式,于是,第一类字都带有提手旁就被它成功地发现了。
实际上,这就是L1范数正则项的作用。

L1范数会让你的模型变傻一点,相比于记住事物本身,此时机器人更倾向于从数据中找到一些简单的模式。

假设我们有一个待训练的机器学习模型,如下: 假设我们有一个待训练的机器学习模型,如下:
Ax=b
其中,A是一个训练数据构成的矩阵,b是一个带有标签的向量,这里的是我们希望求解出来的解。 
当训练样本很少(training data is not enough)向量 a长度很长时,这个模型的解就很多了。



如图,矩阵A 的行数远少于向量 的长度。
我们希望的是找到一个比较合理的解,即向量能够发现有用的特征(useful features)。使用L1范数作为正则项,向量会变得稀疏,非零元素就是有用的特征了。


为什么增加L1范数能够保证稀疏?



 

 

怎样通过L1范数找到一个稀疏解呢?

我们不妨先假设向量的L1范数是一个常数c,如下图:

 

 它的形状是一个正方形(红色线),不过在这些边上只有很少的点是稀疏的,即与坐标轴相交的4个顶点。

 把红色的正方形(L范数为常数))与蓝色的线(解)放在同一个坐标系,于是,我们发现蓝线与横轴的交点恰好是满足稀疏性要求的解。同时,这个交点使得L范数取得最小值。

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/426128.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字孪生智慧应急怎么实现?

根据国家对智慧应急建设的指示精神以及城市发展的迫切需求,智慧应急体系的建设应当从“大应急、大安全”的业务关切出发,聚焦“智慧应急”需求,融合对安全推进城市韧性建设的思考,将人工智能、物联网、大数据等高科技手段与应急救…

深度学习----DenseNet

1. 结构图 Input Shape : (3, 7, 7) — Output Shape : (2, 3, 3) — K : (3, 3) — P : (1, 1) — S : (2, 2) — D : (2, 2) — G : 1 The parts of this post will be divided according to the following arguments. These arguments can be found in the Pytorch documen…

STM32CubeMx+HAL库实现USB CDC+MSC复合设备

之前的文章中介绍过STM32的USB应用,包括虚拟串口(CDC)和大容量存储设备(MSC)。今天来介绍USB实现CDC和MSC复合设备的方法。 硬件:STM32F407VET6 软件:STM32CubeMx v6.5F4库v1.27.1 编译环境&a…

行内元素之间出现空白间隙及解决办法

这里的行内元素包括 display 为 inline 和 inline-block 的元素。 基本布局 <div class"container"><span class"item">1</span><span class"item">2</span><span class"item">3</span> …

15. unity官网资源商店的免费资源引入自己项目中

1. 说明 在unity开发中可以在官网引入一些免费的资源&#xff0c;免得自己找不到合适的素材 第一步&#xff1a; 首先进入Unity资源商店官网&#xff0c;https://assetstore.unity.com/&#xff0c;计入并登录自己的unity账号&#xff0c;如果没账号&#xff0c;可以注册一个…

什么是堆叠面积图?如何解读?

简介 在之前的文章中提到过&#xff0c;面积图&#xff08;Area Chart&#xff09;是在折线图的基础上&#xff0c;对折线以下区域进行颜色填充&#xff0c;主要是用于在连续间隔或时间跨度上展示数值。而今天我们要说的是堆叠面积图&#xff08;Stacked Area Chart&#xff0…

一切都是命中注定的!

“光锥之内就是命运”&#xff0c;这是刘慈欣的《三体黑暗森林》里一句话&#xff0c;如果我们看到一件事情正在发生&#xff0c;那么它早在过去无论是几秒前还是几千年前&#xff0c;就已经发生了&#xff0c;我们无法改变这个命运。 孔明叹曰&#xff1a;“谋事在人&#xf…

( “树” 之 DFS) 671. 二叉树中第二小的节点 ——【Leetcode每日一题】

671. 二叉树中第二小的节点 给定一个非空特殊的二叉树&#xff0c;每个节点都是正数&#xff0c;并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话&#xff0c;那么该节点的值等于两个子节点中较小的一个。 更正式地说&#xff0c;即 root.val min(roo…

VSCODE 配置MARKDOWN

参考博客 VSCode如何将Markdown转为PDF 一篇博客让你学会在vscode上编写markdown 1&#xff1a;VSCODE 上配置插件 Markdown All in OneMakrdown Preview EnhancedPaste ImageMarkdown Pdf 2&#xff1a;插件详解 1&#xff1a;Makrdown Preview Enhanced 用来进行MARK…

Harmony OS 开发指南——源码下载和编译

本文介绍了如何下载鸿蒙系统源码&#xff0c;如何一次性配置可以编译三个目标平台&#xff08;Hi3516&#xff0c;Hi3518和Hi3861&#xff09;的编译环境&#xff0c;以及如何将源码编译为三个目标平台的二进制文件。 坑点总结&#xff1a; 下载源码基本上没有太多坑&#xf…

Rocket MQ详解

Rocket MQ 一&#xff0c;是啥&#xff0c;从哪来 RocketMQ是一个开源的分布式消息中间件&#xff0c;最初由阿里巴巴集团开发。它的设计目标是为了在高并发、高吞吐量的场景下&#xff0c;实现可靠的消息传输&#xff0c;并且具有良好的可伸缩性和可扩展性。 RocketMQ支持多…

杨志丰:一文详解,什么是单机分布式一体化?

欢迎访问 OceanBase 官网获取更多信息&#xff1a;https://www.oceanbase.com/ 3 月 25 日&#xff0c;第一届 OceanBase 开发者大会在北京举行&#xff0c;OceanBase 首席架构师杨志丰&#xff08;花名&#xff1a;竹翁&#xff09;带来了 《OceanBase 的单机分布式一体化》 的…

【分享】如何移除PDF密码?

相信不少小伙伴在工作的时候&#xff0c;经常会为了保证PDF文档的安全和私密而给文件设置“打开密码”&#xff0c;但如果后续需要频繁使用该文件&#xff0c;每次打开都要查找输入密码&#xff0c;就会使得工作效率大大降低耽误工作时间。那后续不需要设置保护了&#xff0c;要…

【深度学习】nvidia-smi 各参数意义

文章目录前言1.重点概念解析2.限制GPU显卡功率前言 一个服务器遇到问题了&#xff0c;GPU Fan 和 Perf 两个都是err。之前没遇到这个问题&#xff0c;所以这次机会要搞搞清楚。每个参数都是在干事&#xff0c;能够收到哪些hint&#xff0c;如何查问题。 --------------------…

充电桩测试设备TK4860C交流充电桩检定装置

TK4860C是一款在交流充电桩充电过程中实时检测充电电量的充电桩测试标准仪器&#xff0c;仪器以新能源车为负载&#xff0c;结合宽动态范围测量技术、电能ms级高速刷新等技术&#xff0c;实现充电全过程的累积电能精准计量&#xff0c;相比于传统的预设检定点的稳态计量&#x…

攻防世界Web_php_include

php文件包含题 启动场景 进行代码审计&#xff1a; 对get类型参数进行循环过滤字符串php://&#xff0c;所以考虑其他伪协议&#xff0c;伪协议详见PHP伪协议详解_Snakin_ya的博客-CSDN博客 show_source() 函数 str_replace() 函数 strstr() 函数 方法一 使用data协议 da…

Linux服务使用宝塔面板搭建网站,并发布公网访问 - 内网穿透

文章目录前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面转载自远程内网穿透的文章&#xff1a;Linux使用宝塔面板搭建网站&#xff0c;并内网穿透实现公网访问 前言 宝塔面板作为简单好用的服务器运维管理面板&#xf…

淘宝模拟登录 +淘宝商品详情数据、淘宝商品列表数据爬取

PYTHON环境&#xff1a; * requests库 * time库 * re库 实现思路&#xff1a; * 检查此账号需不需要验证&#xff08;滑动验证/验证码&#xff09; * 浏览器/工具 获取ua和加密后的密码(一劳永逸的方法) * post请求登录url获取st申请url * 根据获得的st申请地址获取st…

Session详解(重点)

类似于去服务器注册账号&#xff0c;只要服务器不停机&#xff0c;自己注册的账号一直会存在服务器。 什么是Session&#xff1a; 1.服务器会给每一个用户&#xff08;浏览器&#xff09;创建一个对象&#xff1b; 2.一个Session独占一个浏览器&#xff0c;只要浏览器没有关…

如何高效清洗数据?试试这款神器

在大数据时代&#xff0c;数据的来源具有多样性、复杂性。 针对数量庞大、渠道及格式多样的数据&#xff0c;数据清洗就成为刚需。 在数据分析中&#xff0c;数据清洗实际上是十分繁重且关键的一步。 Power Query作为数据清洗的工具&#xff0c;能将这些多源的数据集中并统一…