zoukankan      html  css  js  c++  java
  • 正则化

    转自:https://2018august.github.io/2.%20lr%E6%AD%A3%E5%88%99%E5%8C%96%E7%9A%84%E7%9B%B4%E8%A7%82%E7%90%86%E8%A7%A3/

    三种优化问题

    通常我们求解的最优化问题可以分为以下三类:

    • 无约束的优化问题:

      minf(X)minf(X)

      这是最简单的情况,解决方法通常是 f(X)的导数 f(X) ,然后令 f(X)=0,可以求得极值点,再将这些极值点带入原函数验证即可;如果是凸函数,极值点即为最优解。

      其几何含义是:

    • 有等式约束的优化问题

      minf(X)

      s.t.g(X)=0

      注:s.t.表示约束条件。

      常常使用的方法就是拉格朗日乘子法(Lagrange Multiplier ) ,即写成 L(λ,X)=f(X)+λg(X),称为拉格朗日函数,系数 λ称为拉格朗日乘子。通过 L(λ,X)对各个变量 (X,λ)求偏导,令其为零,可以求得极值点集合,然后验证求得最优值。

      • 其几何含义是:

      • 等式和不等式约束的优化问题

        minf(X)

        s.t.g(X)=0

        ​ h(X)0

      注: s.t. 表示约束条件。

      常常使用的方法就是 KKT 条件。L(μ,λ,X)=f(X)+λg(X)+μh(X),利用最优值的必要条件 (KKT条件):

      • L(μ,λ,X)对变量的导数为 0
      • g(X)=0
      • μh(X)=0

      求取这些等式之后就能得到候选最优值。其中第三个式子非常有趣,因为 h(X)0,如果要满足这个等式,必须 μ=0或者 h(X)=0

      那么 KTT 的几何含义是什么呢?

    • L1 正则化和 L2 正则化的几何含义

      L1 正则化通常称为 Lasso 正则化:

      J(θ)=i=1m(y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i))))+λmj=1n|θj|

      L2 正则化通常称为 Ridge 正则化:

      J(θ)=i=1m(y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i))))+λ2mj=1nθ2j

      我们可以写成统一的形式:

      J(θ,μ)=f(θ)+μh(θ)J(θ,μ)=f(θ)+μ(h(θ)η)

      其中 η为常数,不影响最优解的求解。

      可以还原为:

      minf(θ)

      s.t.h(θ)η0

      那么他们的几何含义是:

      对于 L1 正则化 ( Lasso 正则化):h(θ)=j=1n|θj|h(θ)=∑j=1n|θj|

      对于 L2 正则化 ( Ridge 正则化):h(θ)=j=1nθ2jh(θ)=∑j=1nθj2

      Q:以下哪个图形是 L1 正则化, 哪个图形是 L2 正则化 ?

      左边的图为 L1 正则化,右图为 L2 正则化。

      因为 对于 L1 正则化而言 h(θ)=|w1|+|w2|ηh(θ)=|w1|+|w2|≤η ,在图中表示一个菱形区域。

      对于 L2 正则化而言 h(θ)=w21+w22ηh(θ)=w12+w22≤η ,在图中表示一个圆形区域。

      Q1:为什么L1 正则化可以获得稀疏特征?

      不同的维度系数一般都是不一样的,因此常见的损失函数图像是一个椭圆形,调整参数λ 的值,椭圆形和菱形的交接处很大可能性会落在坐标轴附近;实际使用的特征维度是高维的,正常情况下就是在某些维度上不会交于坐标轴上,在某些维度上交于坐标轴或坐标轴附近,所以才有稀疏解;与L2正则化相比,L1正则化更容易得到稀疏解,而不是一定会得到稀疏解,毕竟还是有特例的(比如恰好椭圆与坐标原点相交)。

      Q2:λ变大,菱形和圆形怎么变化?

      λ 越大,菱形和圆形越小,求得的模型参数越小。

      Q3:为什么 L2 正则化比 L1 正则化应用更加广泛?

      因为 L2 正则化的约束边界光滑且可导,便于采用梯度下降法,而L1正则化不可导,只能采用坐标轴下降法或最小角回归法,计算量大。而且,L1 正则化的效果并不会比 L2 正则化好(自己的见解)。

      L1 正则化和 L2 正则化正则化的推广

      逻辑回归正则化可以写成统一的形式 LqLq 正则化:

      J(θ)=i=1m(y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i))))+λ2mj=1n|θj|q

      其中 q0。不同的 q 值对应着不同的约束边界,如下图所示:

      从上图可以看出,

      • q=1 对应着 L1 正则化, q=2对应着 L2 正则化。

      • 而当 q<1时,约束边界为非凸函数,求解最优值非常困难。 q=1是满足约束边界为凸的最小值。

      • 当 q1时,约束边界在坐标轴上不可导,为非光滑函数,不能用梯度下降法进行求解。

      • 对于 q(1,2)的情况是 L1 正则化和 L2 正则化的折中,同时具有两者的优点。此时的约束边界为凸边界,既具有 L2 正则化的光滑可导性,同时具有 L1 正则化获得稀疏特征的优点。

      • 实践表明,对于 q>2 的情况,效果并不会比 q[1,2]好,没必要进行讨论。

      • Zou 和 Hastie (2005) 引入了 Elastic Net 正则化,可以通过参数 αα 调节L1正则化和L2正则化的权重

        即:

        λ2mj=1n(αθ2+(1α)|θj|)

        如下图为 q=1.2时的 Lq正则化 和 α=0.2时的 Elastic Net 正则化,两种不同的方式对 L1 正则化和 L2 正则化进行了折中。这两种方法均继承了 L1 正则化获得稀疏矩阵的优点。至于光滑可导性,乍一看二者没什么区别,实际上 LqLq 正则化在坐标处是可导的,而 Elastic Net 正则化在坐标处是不可导的。

  • 相关阅读:
    几种简单排序算法
    【转】虚拟机下CentOS7开启SSH连接
    【转】SignalR来做实时Web聊天
    加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用
    C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)
    【C#公共帮助类】给大家分享一些加密算法 (DES、HashCode、RSA、AES等)
    对称加密与非对称加密
    PowerDesigner概念模型与物理模型相互转换及导出数据字典
    SQO2008配置管理工具服务显示远程过程调用失败
    MongoDB学习笔记-数据格式及数据类型
  • 原文地址:https://www.cnblogs.com/liyun1/p/9428967.html
Copyright © 2011-2022 走看看