L0,L1,L2正则,lasso,岭回归

article/2025/9/22 8:39:57

L0正则:

我们要讨论的第一个规范是L0规范。根据定义,x的L0范数是
在这里插入图片描述
严格来说,L0范数实际上不是一个范数。它是基数函数,其定义形式为L0-norm,尽管许多人称其为范数。使用它有点棘手,因为其中存在零次幂和零次方。显然,任何x> 0都将变为1,但是零次幂(尤其是零次幂)的定义问题使这里变得混乱。因此,实际上,大多数数学家和工程师都使用L0-范数的此定义:
在这里插入图片描述
那就是向量中非零元素的总数。

例如,向量(0,0)和(0,2)的L0范数为1,因为只有一个非零元素。
L0范数的一个很好的实用示例是当具有两个向量(用户名和密码)时给出Nishant Shukla的示例。 如果向量的L0范数等于0,则登录成功。 否则,如果L0范数为1,则意味着用户名或密码不正确,但都不正确。 最后,如果L0规范为2,则意味着用户名和密码都不正确。

L1正则:

L1范数是空间中向量的大小之和。 这是测量向量之间距离的最自然的方法,即向量分量的绝对差之和。 在此规范中,向量的所有分量均被加权。

根据范数的定义,x的L1-范数定义为

在这里插入图片描述

如果为两个向量或矩阵之间的差计算L1范数,则即

在这里插入图片描述

在计算机视觉科学家中,它被称为绝对差总和(SAD)。

在信号差测量的更一般情况下,可以通过以下方法将其缩放为单位向量:

在这里插入图片描述

例如,向量X = [3,4],L1范数的计算公式为:
在这里插入图片描述

L2正则:

是最流行的规范,也称为欧几里得规范。 这是从一个点到另一个点的最短距离。同样的例子,L2 的算法如下:
在这里插入图片描述

另外我们可以将L1范数实现正则化的线性回归模型称为lasso回归,将L2范数实现(平方)以正则化的线性回归模型称为岭回归。

L1和L2正则化都可以通过对系数进行缩小(施加惩罚)来防止过度拟合。 L2(Ridge)将所有系数按相同的比例缩小,但没有消除,而L1(Lasso)可以将某些系数缩小到零,执行变量选择。

Lasso

lasso回归是一种使用收缩的线性回归。收缩是数据值向中心点(如均值)收缩的地方。lasso是稀疏的模型(即参数较少的模型)。这种特殊类型的回归非常适合显示高水平线性线性关系的模型。

首字母缩写词“ LASSO”代表最小绝对收缩和选择算符。
回想lasso最小化问题可以表示为:
在这里插入图片描述
可以看成是两个项的最小值:𝑂𝐿𝑆+𝐿1

第一个OLS项可以表示为(𝑦−𝑋𝜃)𝑇(𝑦−𝑋𝜃),这会产生一个以最大似然估计器为中心的椭圆等高线图。

第二个𝐿1项是以0为中心的菱形方程(或较大尺寸的菱形)
约束优化的解位于两个函数的轮廓之间的交点,并且该交点随of的函数而变化。对于𝜆 = 0,解为MLE,对于𝜆 =∞,解为[ 0,0]
由于在菱形的顶点处,一个或多个变量的值为0,因此一个或多个系数的值恰好等于0的可能性不为零。

如下图所示:
在这里插入图片描述

岭回归

在这里插入图片描述
岭回归通过使用L2范数减少了系数的大小,从而减少了模型中的高复杂度。 它极大地帮助我们过度拟合和处理离群值。 同样考虑到L2范数的性质,它是稳定的,并给出了唯一的全局最小值。

这是减少过度拟合的正则化方法。
我们尝试使用一条过度拟合训练数据的趋势线,因此,其方差比OLS高得多。 岭回归的主要思想是要增加一条不适合训练数据的新线。 换句话说,我们将一定的“偏差bias”引入趋势线。

在这里插入图片描述

我们在实践中要做的是引入一个称为Lambda的偏差bias,惩罚函数为:lambda * slope ^ 2。
Lambda是惩罚项,此值称为Ridge回归或L2。

L2分是二次的:lambda slope ^ 2:没有一个系数(斜率)非常大。

当Lambda = 0时,惩罚也为0,因此我们只是在最小化残差平方和。
当Lambda渐近增加时,我们到达接近0的斜率:因此,LAMBDA越大,我们的预测对自变量的敏感性就越小。
Lambda是控制偏差方差的调整参数,我们通过交叉验证来估计其最佳值。

如果L1和L2对比,L2比L1要好一些,因为L2之后,精度更好且较好适应、拟合。L1的效果在处理稀疏数据时候比较棒,且有利于稀疏数据的特征。


http://chatgpt.dhexx.cn/article/UBAIIxO1.shtml

相关文章

自学网络安全的三个必经阶段(含路线图)

一、为什么选择网络安全? 这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地,网络安全行业地位、薪资随之水涨船高。 未来3-5年,是安全行业的黄金发展期,提前踏入…

网络安全学习指南:新手入门建议

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言网络安全基础知识学…

网络安全学习路线-超详细

零基础小白,到就业!入门到入土的网安学习路线! 在各大平台搜的网安学习路线都太粗略了。。。。看不下去了! 建议的学习顺序: 一、网络安全学习普法(心里有个数,要进去坐几年!&#…

如何学习网络安全?(网络安全学习笔记)

概括来说,网络安全课程的主要内容包括: 安全基本知识 应用加密学 协议层安全 Windows安全(攻击与防御) Unix/Linux安全(攻击与防御) 防火墙技术 入侵监测系统 审计和日志分析 下面分别对每部分知识介绍相应…

2023网络安全学习路线 非常详细 推荐学习

关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线 分享2套零基础、进阶学习网络安全/渗透测试教程 第一套是Web安全学习笔记,共430页12个章节。 该笔记详细介绍了计算机网络协议、信息收集、常见漏洞、内网渗透、御用技术等等&…

网络安全-自学笔记

目录 相关网站推荐 WEB(应用)安全 学习路线 推荐 书籍 网站 在线靶场 基础 XSS攻击 CSRF漏洞 劫持攻击 点击劫持 SSRF漏洞 文件包含漏洞 文件上传漏洞 XXE漏洞 WebShell 解析安全 RCE漏洞 SQL注入漏洞 反序列化漏洞 条件竞争 通信…

Emmet插件用法指南

安装Emmet插件 Emmet只是文本编辑器一个插件,要想让他发挥应用的功能,就得将其安装到你喜欢的文本编辑器中。到目前为止,很多流行的文本编辑器都支持Emmet插件,也就是说很多流行的文本编辑器都可以安装这款插件。 点击下面的链接&…

HBuilder X的安装及配置Emmet插件和使用部分快捷方式

安装HBuilder X 软件安装1 配置Emmet插件 打开软件选择自己喜欢的主题然后进入主界面按下 Alt T或者点击工具 之后按下 p或者点击安装插件 选择第一个插件emmet 点击安装即可 注意: 按装完之后要重启HBuilder X ,要不然自己使用Emmet功能快捷键按下Tab无法触发 …

Emmet插件的使用教程

/**本文为转载 很多快捷键真的都很相似,这些语法都是很相似了,今天遇到一个比较不错的教程,收藏一下。 Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生。它使用仿CSS选择器的语…

Emmet插件详解

http://www.ithao123.cn/content-10512551.html (webstorm的css编写插件)Emmet:HTML/CSS代码快速编写神器 [摘要:Emmet的前身是默默无闻的Zen coding,若是您处置Web前端开辟的话,对该插件肯定没有会目生。它…

Sublime text3 emmet插件安装

Emmet插件作为Sublime text3 的热门插件,首先解决如何添加安装才是使用的基础 在添加Emmet插件的时候,我也遇到了若干问题,只能卸载Sublime text3再安装,终于安装成功,现分享下经验(2017/9/20) …

Emmet 插件使用教程

1)使用 Emmet 生成 HTML 的语法详解 生成 HTML 文档初始结构 HTML 文档的初始结构,就是包括 doctype、html、head、body 以及 meta 等内容。你只需要输入一个 “!” 就可以生成一个 HTML5 的标准文档初始结构,你没有看错,输入一个…

Emmet插件的常用语法

本人使用的代码编辑工具是SublimeText,Emmet是一个代码的缩写插件,使用代码缩写快速完成代码编写,前提条件需要安装emmet插件,如下图,打开SublimeText 使用快捷键 Ctrl Shift P,显示 Package Control功能…

Intellij中Emmet插件的使用技巧

Emmet简述 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具. 在前端开发的过程中,一大部分的工作是写 HTML、CSS 代码。特别是手动编写 HTML 代码的时候,效率会特别低下,因为需要敲打很多尖括号,而且很多标签…

【精品】Intellij中Emmet插件的使用技巧

Emmet简述 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具. 在前端开发的过程中,一大部分的工作是写 HTML、CSS 代码。特别是手动编写 HTML 代码的时候,效率会特别低下,因为需要敲打很多尖括号,而且很多标…

sublime Emmet插件使用方法总结

Emmet(前身是Zen Coding),它可以极大的提高代码编写的效率,它提供了一种非常简练的语法规则,然后立刻生成对应的 HTML 结构或者 CSS 代码,同时还有多种实用的功能帮助进行前端开发,例如快速生成html5头部就靠它了。。 一、安装em…

为Notepad++安装Emmet插件

文章目录 为Notepad安装Emmet安装32-bit64-bit 完毕 为Notepad安装Emmet 安装 Notepad下载链接(GitHub) Npp的默认安装目录 32位:C:\Program Files (x86)\Notepad 64位:C:\Program Files\Notepad 32-bit Emmet插件下载链接 64-bit 由于官方插件多年没更新,只支持32位,只能…

eclipse快速下载Emmet插件

所需链接: http://download.emmet.io/eclipse/updates/ eclipse 中的 help -> install new software… 注意:如果链接放进去,发现是打叉状态那么 回车一下就会发现 出现Emmet 选择,然后进行下一步安装 如果安装成功会在菜单…

Sublime Text3安装Emmet插件

使用场景: 使用Sublime Text3进行前端开发,使用Emmet可以有效提高编码效率! 安装步骤: 1、菜单栏设置(或者首选项)->package control,或者用快捷键 shiftctrlp; 2、选择并点击…

Emmet插件使用方法以VS code为例

Emmet 的前身就是 Zen Coding。 专门用来写 HTML 和 CSS 代码来提高编码速度的,提供包括VS code、hbuilderX、Sublime Text、Notepad等插件。 输入 ! tab自动生成初始结构 div>ul>li tab .类名#id名 tab li*3 tab li3>div.box tab 或者 li3>.b…