zoukankan      html  css  js  c++  java
  • l1 和l2正则详解

    最近有在面试一些公司,有被问题关于lr的一些问题,还有包括L1和L2正则的一些问题,回答的不是很好,发现有时候自己明白了,过了一阵子又会忘记,现在整理整理,写成博客防止以后再次忘记

    我们基于lr模型来讲正则,首先y=sigmiod(wx+b)这是基本的lr模型。损失函数为0,1交叉熵,

    L1正则:

    l2 正则: 

    使用等高线图来表示原目标函数的图像为(假定只有两个参数):

     也就是说,当参数 w1w2w1与w2 取值为图像中最里面那个紫色圆圈上的值时,可以使得原目标函数最小。   当加上L1正则项之后,目标函数图像为:

      当加上L2正则项之后,目标函数图像为:

      第一个图中菱形即为 2j=1|wj|=F∑j=12|wj|=F ,而第二个图中圆形即为 2j=1w2j=F∑j=12wj2=F 。代表这个菱形(圆形)上的点算出来的 2j=1|wj|2j=1w2j∑j=12|wj|或∑j=12wj2 都等于某个值 FF 。此时若要使得目标函数最小,就需要满足两个条件:(1)参数值在等高线上的圆圈越来越接近中心的紫色圆圈,(2)菱形越小越好( FF 越小越好)。   那么如何取得一个恰好的值,能够满足以上两个条件呢?我们先来看下下面这个图(以L1正则化为例):

    讨论为什么l1正则之后的特征参数是稀疏的?

    因为观察发现**几乎对于很多原函数等高曲线,和某个菱形相交的时候及其容易相交在坐标轴(比如上图): 

    另外一考虑正则项导数的情况,l1正则的倒数不是-1就是1,所以会很容易收敛到0;然而l2正则的倒数是线性函数,w越靠近0的话导数就越小,这会让w无限趋近于0,但不会收敛到0;

    l1正则不可导怎么处理?

    坐标轴下降法

    参考链接: https://www.cnblogs.com/lliuye/p/9354972.html

  • 相关阅读:
    在ubuntu下递归追索一个包的所有必要依赖项apt_dep.sh
    龙芯系统下,GTK与OPENGL共舞
    Linux应用程序自行开启Core Dump生成功能
    Daliy Algorithm -- day 102
    Daliy Algorithm -- day 101
    Daliy Algorithm -- day 100
    Daliy Algorithm -- day 99
    Daliy Algorithm -- day 98
    Daliy Algorithm -- day 97
    使用R语言进行简单的线性回归
  • 原文地址:https://www.cnblogs.com/hit-joseph/p/14759175.html
Copyright © 2011-2022 走看看