L0/L1/L2/无穷范数

L0范数:向量中非零元素的个数L1范数:向量中各个元素绝对值的和L2范数:向量中元素平方的和,再开方;即向量的模长无穷范数:向量中各个元素绝对值的最大值 关于范数,有个好文章:http://blog.csdn.net/zouxy09/article/details/24971995重要部分贴过来(感谢作者): 好了,这里兑现上面的承诺,来直观的聊聊L1和L2的差别,…

大家好,又见面了,我是你们的朋友全栈君。

L0范数:向量中非零元素的个数

L1范数:向量中各个元素绝对值的和

L2范数:向量中元素平方的和,再开方;即向量的模长

无穷范数:向量中各个元素绝对值的最大值

 

关于范数,有个好文章:http://blog.csdn.net/zouxy09/article/details/24971995

重要部分贴过来(感谢作者):

 

好了,这里兑现上面的承诺,来直观的聊聊L1和L2的差别,为什么一个让绝对值最小,一个让平方最小,会有那么大的差别呢?我看到的有两种几何上直观的解析:

1)下降速度:

       我们知道,L1和L2都是规则化的方式,我们将权值参数以L1或者L2的方式放到代价函数里面去。然后模型就会尝试去最小化这些权值参数。而这个最小化就像一个下坡的过程,L1和L2的差别就在于这个“坡”不同,如下图:L1就是按绝对值函数的“坡”下降的,而L2是按二次函数的“坡”下降。所以实际上在0附近,L1的下降速度比L2的下降速度要快。所以会非常快得降到0。不过我觉得这里解释的不太中肯,当然了也不知道是不是自己理解的问题。

L0/L1/L2/无穷范数

       L1在江湖上人称Lasso,L2人称Ridge。不过这两个名字还挺让人迷糊的,看上面的图片,Lasso的图看起来就像ridge,而ridge的图看起来就像lasso。

2)模型空间的限制:

       实际上,对于L1和L2规则化的代价函数来说,我们可以写成以下形式:

L0/L1/L2/无穷范数

       也就是说,我们将模型空间限制在w的一个L1-ball 中。为了便于可视化,我们考虑两维的情况,在(w1, w2)平面上可以画出目标函数的等高线,而约束条件则成为平面上半径为C的一个 norm ball 。等高线与 norm ball 首次相交的地方就是最优解:

L0/L1/L2/无穷范数

       可以看到,L1-ball 与L2-ball 的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有w1=0,而更高维的时候(想象一下三维的L1-ball 是什么样的?)除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。

       相比之下,L2-ball 就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么L1-regularization 能产生稀疏性,而L2-regularization 不行的原因了。

       因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126291.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎么将pdf转换成image_php从入门到精通 pdf

    怎么将pdf转换成image_php从入门到精通 pdf上次找到fpdf发现文档支持不足。而且含有php5.4不能用了的过期函数,图片进去也显示不了等问题。特意找到这个tcpdf。下载的地址搞一个试试中文字体包下载%20Sans%20Fallback%20-%20PHP.zip/download下载后,将它解压放在droidsansfallback.php、droidsansfallback.z以及droidsansfallback.ctg.z这三个文…

    2025年9月23日
    4
  • 使用navicat创建Oracle数据库[通俗易懂]

    使用navicat创建Oracle数据库[通俗易懂]navicat11.0.7Oracle11.20.第一次登陆,同plsql,用管理员登陆图0.1图0.2注意,这里需要是sysdba1.navicat连接数据库(本地的或者服务器上的都一样,本次截图演示的为本地数据库)navicat连接Oracle可能会有报错情况,另一篇里面写了这么配置连接成功后,打开图1:2.其他——目录——创建…

    2022年9月22日
    4
  • pytest运行_ios怎么清理应用缓存在哪里

    pytest运行_ios怎么清理应用缓存在哪里前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。方便我们在运行用例的时候加上–lf和–ff参数,快速运行上一

    2022年7月31日
    4
  • zabbix监控多实例的mysql_zabbix监控MySQL多实例实践[通俗易懂]

    zabbix监控多实例的mysql_zabbix监控MySQL多实例实践[通俗易懂]zabbix监控MySQL多实例实践发布时间:2020-07-2120:50:01来源:51CTO阅读:494作者:zxdave一、实践背景:一台机器上部署了多个MySQL实例,每个实例使用不同的端口,需要通过zabbix将其都纳入监控中。二、实践方法及原理说明:1.在Zabbix上创建监控MySQL数据库使用的模版,导入案例模版:链接:https://pan.baidu.com/s/1nXo…

    2022年5月4日
    65
  • 他们做了个艰难的决定

    他们做了个艰难的决定
    可口可乐做了个艰难的决定,如果监测到用户胃里有百事可乐,将自动释放农药和汞。
    中石化做了个艰难的决定,如果监测到用户汽车油箱里有中石油,将自动释放电火花。
    肯德基做了个艰难的决定,如果监测到用户吃过有麦当劳,将自动释放牛屎。
    百度做了个艰难的决定,如果监测到用户浏览Google,将自动封禁百度ID。。。
    联通做了个艰难的决定,如果方圆百米内检测到有移动用户将使这些用户不间断自动拨打110
    郭小四做了一个艰难的决定,如果发现读者的脑袋里

    2022年7月15日
    15
  • python 入门学习—模块导入三种方式及中文凝视

    python 入门学习—模块导入三种方式及中文凝视

    2022年1月20日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号