L1正则和L2正则的比较分析详解

2023-10-27

感受

上次有个面试官问我l1正则和l2正则有什么区别,当时把我给问傻了,于是就回来找了资料写了这篇博客,我参照的是英文博客,吸取别人的长处,希望能帮助大家,如有错误或者需要补充的,欢迎指正,咱们共同进步

 

范数(norm)

数学上,范数是一个向量空间或矩阵上所有向量的长度和大小的求和。简单一点,我们可以说范数越大,矩阵或者向量就越大。范数有许多种形式和名字,包括最常见的:欧几里得距离(Euclideandistance),最小均方误差(Mean-squared Error)等等。

大多数时间,你会在等式中看见范数像下面那样:
||x||,x可以是一个向量或者矩阵。
例如一个向量

其欧几里得范数为:

即向量a的模的大小。上面的例子展示了怎样计算欧几里得范数,或者叫做l2-norm.

X的Lp-norm的规范定义如下:

有趣的是,lp-norm看起来非常相似,但是他们的数学特性非常不同,结果应用场景也不一样。因此,这里详细介绍了几种范式。

 

L0-norm

我们需要讨论一下l0-norm,l0-norm的定义是:

严格的说,L0-norm不是一个真正的范数。它是一个基数函数(cardinalityfunction),有lp-norm的定义形式,这个式子有点特别,因为式子中有0的幂(zeroth-power)和0个根号(zeroth-root),显然,任何x>0,将会变为1.但是0的幂和0的开根号的定义很混乱。所以实际上,大多数数学家和工程师使用下面的l0-norm的定义:

即向量中非零元素的总个数。

由于它是非零元素的总数,因此有很多应用使用l0-norm。随后,由于压缩传感计划(Compressive Sensing scheme)的发展,变得越来越重要。压缩传感计划试图找到欠定线性系统(under-determinedlinear system)最稀疏的解(sparsest solution)。最稀疏的解意味着解有最少的非零元素。即最少的l0-norm。这个问题通常被当做一个l0-norm优化问题

或者l0优化(optimisation)。

 

L0-optimisation

许多应用,包括压缩感知,试图最小化一个向量的l0-norm,这个向量有一些限制条件。因此叫做l0-minimisation.一个标准的最小化问题的定义为:

 

可是,优化上式不是一件容易的事。因为缺乏l0-norm的数学表示,l0-minimisation被计算机科学家认为是一个NP难问题(NP-hard problem),简单的说,它太复杂了,目前数学上没有求解办法。

在多数情况下,l0-minimisation问题都转换为高阶范数问题(higher-order norm problem),例如l1-minimisation和l2-minimisation.

 

 

 

L1-norm

 

 

 

X的l1-norm的定义为:

 

 

 

这个范数在范数家族中相当常见,它有很多名字和许多种形式,它的昵称是曼哈顿范数(Manhattannorm)。两个向量或矩阵的l1-norm为

 

 

 

在计算机视觉科学家眼中,它叫做绝对偏差和(Sum of AbsoluteDifference,SAD)。

在一般情况下,它可以用于一个单元的偏差计算:

 

 

 

它叫做平均绝对误差(Mean-Absolute Error,MAE).

L2-norm

 

所有范数中最流行的是l2-norm。总体上,它用于工程和科学领域的方方面面。基本定义如下,l2-norm:

它的平方形式,在计算机视觉领域为平方差的和(Sumof Squared Difference,SSD)

 

它最出名的应用是在信号处理领域,为均方误差(Mean-SquaredError,MSE),它被用来计算两个信号的相似度,质量(quality)和关系。MSE为:

 

 

 

 

L2-optimisation

 

和l0-optimisation一样,最小化l2-norm的问题格式化定义为

 

 

 

假设限制矩阵A是全秩的,这个问题现在就是有无穷解的欠定系统(underderterminedsystem)。我们的目标是求出最优解,例如,求有最小l2-norm的解,如果直接计算的话,这会很麻烦。幸运的是它有一个数学技巧可以帮助我们求解。通过使用拉格朗日乘数(Lagrangemultipliers),我们可以定义一个拉格朗日乘子。

 

λ是引入的拉格朗日乘数。求导,然后等式等于0,我们可以找到一个最优解,因此得到

 

 

把解带入限定式中得到

 

 

 

最终

 

 

 

通过使用这个式子,我们可以立即求出l2-optimisation问题的最优解。这个等式因Moore-Penrose Pseudoinverse(读者自行百度,我也不知道,对不住了)而闻名,这个问题通常称为最小均方问题,最小均方回归或者最小均方优化。

可是,即使最小均方的方法很容易计算,但是计算的往往不是最好的解,这是因为l2-norm本身的平滑(曲线,处处可导)性质,很难找倒单个,适应问题的最佳解。

 

 

 

相反,l1-optimisation可以提供比这个解更好的结果。

 

 

L1-optimisation

 

 

 

L1-optimisation问题的格式化定义为

 

由于l1-norm不像l2-norm那样光滑,问题的解就会比l2-optimisation更好更唯一.

 

可是,尽管l1-minimisation的问题几乎和l2-minimisation有相同的形式,但是也很难求解,因为问题没有一个平滑(有些地方不可导)的函数,我们用来解决l2-problem就不再适用

 

了。留下来的唯一方式是直接搜索,寻找解意味着我们的计算每一个我们找到的可能解,以找到找到最佳的那个解。

 

因为在数学上我们不能找到一个解决方法,l1-optimisation的实用性在过去几十年里是相当有限的。直到最近,具有高效计算能力的电脑可以使得我们找到每一个解。通过使用许多实用的算法,称为凸优化(ConvexOptimisation)算法,例如线性规划(linear programming)或者非线性规划(non-linear programming)等等。

 

现在有许多关于l1-optimisation的toolboxes,这些toolboxes通常视同不同的方法或算法来解决同一个问题,toolboxes的样例为l1-magic,SparseLab,ISAL1.

 

 

 

L-infinity norm

 

 

l∞-norm的定义为

 

 

 

考虑向量x,如果xj是向量x中最高的条目,因为其无穷的属性,我们可以说

 

 

现在我们可以简单的说l∞-norm

这是向量最大条目的刻度。这显然不满足l∞-norm的意义

 

 

比较分析

 

当我们在做机器学习实践的时候,我们会迷茫是选择L1正则还是选择L2正则,因此我做了一下比较分析。

L1-norm(范数),也叫作最小绝对偏差(leastabsolute deviations, LAD),最小绝对误差(least absolute errors,LAE).它是最小化目标值yi和估计值f(xi)绝对差值的求和:

L2-norm(范数)也称为最小均方(least squares),它是最小化目标值yi和估计值f(xi)平方和。
L1-norm和L2-norm的区别如下表格

 

 

鲁棒性(Robustness):最小绝对值偏差的方法应用领域很广,相比最小均方的方法,它的鲁棒性更好,LAD能对数据中的异常点有很好的抗干扰能力,异常点可以安全的和高效的忽略,这对研究帮助很大。如果异常值对研究很重要,最小均方误差则是更好的选择。

对于L2-norm,由于是均方误差,如果误差>1的话,那么平方后,相比L-norm而言,误差就会被放大很多。因此模型会对样例更敏感。如果样例是一个异常值,模型会调整最小化异常值的情况,以牺牲其它更一般样例为代价,因为相比单个异常样例,那些一般的样例会得到更小的损失误差。

稳定性:LAD方法的不稳定属性意思是,对于一个书评调整的数据集,回归线可能会跳跃很大。这个方法对一些数据配置有连续的解决方法;可是,通过把数据集变小,LAD可以跳过一个有多个求解拓展区域的布局(one could “jump past” a configurationwhich has multiple solutions that span a region,这句翻译挺麻烦的,大家自己领会吧,我尽力了),再通过这个解决方案的区域后,LAD线有一个斜坡,可能和之前的线完全不同。相比较之下,最小均方解决方法是稳定的,对于任何晓得数据点的调整,回归线仅仅只稍微移动一下,回归参数就是数据的连续函数(continuousfunctions of the data)。

 

 

 

上图的上面代表的是L1-norm,底部代表的是L2-norm。第一列代表一个回归线怎样适应这三个点的。

假设我们把绿色的点视屏享有移动一点,L2-norm维持了和原回归线一样的形状,但是形成了更陡的抛物线(steeper parabolic curve)。可是在L1-norm的样例中,回归线的斜率更陡了,并且影响到了其它点的预测值,因此,与L2-norm相比,所有的未来的预测都会都会受到影响。

假设我们把绿色的点水平向右移动得更远,L2-norm变化了一点,但是L1-norm变化更大了,l1-norm的斜率完全改变了。这种变化会使得所有以前的结果都不再合法(invalidate all previous results)。

数据点的稍稍调整,回归线就会变化很多,这就是L1-norm的不稳定性的表现之处。

解决方案唯一性:这需要一点想象力。首先,看下图:

 

绿色的点(L2-norm)是唯一的最短路径。而红色,绿色,黄色(L1-norm)的线都是长度相同的路径。我们把它泛化到n维中,结果跟这里的二维一样。
内置的特征选择(Built-in feature selection):这是L1-norm经常被提及的一个优点,而L2-norm没有。这实际上是L1-norm的一个结果,L1-norm往往会使系数变得稀疏(sparse coefficients)。假设模型有100个系数,但是有10个非零的系数,这就是说,其它90个预测器在预测目标值上是没有用的。L2-norm往往会有非稀疏的系数(non-sparse coefficients),没有这个特点。
稀疏性(Sparsity):这主要是一个向量或矩阵中只有很少的非零(non-zero)条目(entries)。L1-norm有能产生许多零值或非常小的值的系数的属性,很少有大的系数。
计算效率(Computational efficiency):L1-norm没有一个解析解(analytical solution),但是L2-nom有,这使得L2-norm可以被高效的计算。可是,L1-norm的解有稀疏的属性,它可以和稀疏算法一起用,这可以是计算更加高效。

 

 

参考文献

 

[1]. Differences between the L1-norm andthe L2-norm (Least Absolute Deviations and Least Squares). http://www.chioka.in/differences-between-the-l1-norm-and-the-l2-norm-least-absolute-deviations-and-least-squares/

[2]. l0-Norm, l1-Norm, l2-Norm, … ,l-infinity Norm.

https://rorasa.wordpress.com/2012/05/13/l0-norm-l1-norm-l2-norm-l-infinity-norm/

 

 

 

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

L1正则和L2正则的比较分析详解 的相关文章

随机推荐

  • PID调参过程详解(包括增量式和位移式)

    转载于https blog csdn net wangweijundeqq article details 76389770 位置闭环控制就是根据编码器的脉冲累加测量电机的位置信息 并与目标预设值做比较 得到控制偏差 然后通过对偏差的P比例
  • 容器查看与删除

    lcc lcc docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ad424be7a46b mysql docker entrypoint s About an
  • 部分手机拍照屏幕旋转, 导致imageview不能显示的问题???

    在项目开发的过程中 碰见了一个非常诡异的事情 拍照之后的imageview不能正常显示图片 从而导致十行代码中间的几句代码不执行 不执行 不执行 代码中包括imageview setImageBitmap bitmap 一度认为这个bitm
  • Leetcode_146. LRU 缓存

    C语言纯暴力解法 能AC我没想到 typedef struct int key int val int time LRUCache int g cap 全局变量记录缓存容量 int g time 利用全局变量更新put和get操作时关键值的
  • 常见的服务器部署SSL证书的安装方法介绍

    很多网络管理员对于SSL证书安装还是处于一个比较懵懂的状态 不同的服务器部署SSL证书方法也不一样 但是步骤确是类似的 生成证书请求文件 CRS 向CA机构申请SSL证书 下载证书 然后根据不同的系统安装部署SSL证书 最后测试证书 下面根
  • Windows下 flex + bison 小例子

    下载flex和bison 网址是http gnuwin32 sourceforge net packages flex htm 和http gnuwin32 sourceforge net packages bison htm 如果这两个链
  • MySQL数据库的安装、创建库、创建表、向数据库添加测试数据及连接取数、遍历输出数据库查询结果ResultSet、使用“Class.forName(JDBC_DRIVER);”来注册加载驱动的原因

    MySQL数据库的安装 创建库 创建表 向数据库添加测试数据及连接取数 MySQL数据库简介 Java对于数据库常用操作的封装 安装MySQL数据库 下载MySQL安装包 Linux MySQL在ubuntu Linux下的多版本选择 DE
  • linux学习笔记7(PHP安装)

    49 安装PHP PHP PHP Hypertext Preprocessor 即 超文本预处理器 是在服务器端执行的脚本语言 尤其适用于Web开发并可嵌入HTML中 PHP语法学习了C语言 吸纳Java和Perl多个语言的特色发展出自己的
  • kettle使用常见问题解决-01

    kettle常见问题解决 1 kettle界面connect消失 第一步 检查IE浏览器 不能低于10 第二步 在数据资源仓库的database里描述写中文 导致repositories xml出现乱码 解决方法 1 找到 kettle目录
  • ant design pro 一个页面两个表单,提交会相互影响,需将表单写为自定义组件

    描述 在页面 组件 中 只能有一个 Form create 意味着this props form唯一 如果一个页面有两个表单 提交其中一个 另一个也会提交 然而你只想提交一个 解决方法 1 如果表单多且复杂 请单独自定义一个页面 组件 我这
  • 了解Hadoop输入输出系统

    与任何I O子系统不同 Hadoop还带有一组原语 这些原始的考虑因素虽然本质上是通用的 但与Hadoop IO系统一起也具有一些特殊的含义 Hadoop处理数TB的数据集 对这些原语的特殊考虑将使你了解Hadoop如何处理数据输入和输出
  • 华为、腾讯、阿里、网易员工下班时间大曝光,靠加班,你是赢不了他们的

    这年头 不加班都不好意思说自己是上班族的 但有一种行业的疯狂加班程度 已经逐渐成为加班领域的一颗新星 那就是 互联网行业从事者 也许你对华为 阿里的加班水平早有耳闻 但你是否见过他们疯狂加班的样子呢 首先出场的阿里巴巴 19 55 00 0
  • 生成10个随机数保存于数组中,并找出其最大值和最小值

    上代码吧 bin bash 生成19个随机数保存于数组中 并找出其最大值和最小值 declare a rand declare i max min for i in 0 9 do rand i RANDOM echo rand i if i
  • CTFHUB-WEB

    HTTP协议 题目 请求方式 思路一 我们知道http请求方式中没有CTFB方式 就想到CTFHUB 使用BP抓包 将原来的数据包请求方式GET改成CTFHUB 点击Forward 放包 得到flag 积累 HTTP协议的八种请求方式 1
  • 典型案例 3:十分钟搭建弹性可扩展的 Web API

    作者 萧起 阿里云云原生团队 导读 本节课程主要分为三个部分 基本概念中介绍基于函数计算的 WebAPI 与普通的 WebAPI 的区别及优势 开发流程中介绍如何在函数计算的控制台进行 WebAPI 的开发 操作演示中会实例演示函数计算 W
  • mysql-索引_MySQL-索引

    mysql 索引 MySQL 索引 MySQL INDEXES A database index is a data structure that improves the speed of operations in a table In
  • 基于MATLAB的图像复原视图分析技术

    基于MATLAB的图像复原视图分析技术 摘要 图像质量的好与坏受很多方面因素的影响 其中运动模糊以及失真是较为主要的因素 这些因素贯穿在图像获取 传输以及储存的全过程中 本次设计用到的是MATLAB软件然后进行仿真 对模糊图像建立退化模型
  • Spring系列文章:Spring事务

    一 事务简述 1 什么是事务 Transaction tx 在 个业务流程当中 通常需要多条DML insert delete update 语句共同联合才能完成 这 多条DML语句必须同时成功 或者同时失败 这样才能保证数据的安全 多条D
  • 单机redis和redisCluster集群获取所有key

    对于单机redis keys 对于redis cluster集群 redis cli c a CLUSTER AUTH cluster call CLUSTER IP CLUSTER POPRT keys 如 redis cli c clu
  • L1正则和L2正则的比较分析详解

    感受 上次有个面试官问我l1正则和l2正则有什么区别 当时把我给问傻了 于是就回来找了资料写了这篇博客 我参照的是英文博客 吸取别人的长处 希望能帮助大家 如有错误或者需要补充的 欢迎指正 咱们共同进步 范数 norm 数学上 范数是一个向