zoukankan      html  css  js  c++  java
  • 岭回归(Ridge Regression)、OLS和吉洪诺夫正则化(Тихонов regularization)

    岭回归(Ridge Regression)、普通最小二乘(OLS)和吉洪诺夫正则化(Тихонов regularization)

    线性模型和线性回归在机器学习相关教材上提到的比较少,一般在矩阵统计优化等数学理论相关的材料中才会介绍。本文简明介绍一下岭回归和普通最小二乘法(OLS)的关系,从而引出吉洪诺夫正则化的相关介绍。

    常规的线性模型,Ax = b,对x进行求解,使得A中的数据的的某个变换和b的标签拟合的较好。求解的原则就是minimize quadratic cost,所以也叫least square 方法,如下即为损失函数:


    这里写图片描述

    可以看成是求解一个矩阵方程Ax = b,希望通过min l2范数的方法来使得矩阵方程成立。

    即 min_x | Ax - b |_2^2


    这里写图片描述

    上面的theorem表示,这个问题有显式解,这个解是由 (A’A) 求逆矩阵再乘上A’b得到的。这里可以发现一个问题,就是if rank(A) = n。那么如果rank(A)不等于n呢?即这个矩阵不满秩。何时会出现这种情况呢?我们知道,矩阵相乘的结果的秩不会大于两个乘数中小的那个,即 rank(MN) <= min{ rank(M), rank(N) }。所以,如果A是一个扁扁的矩阵的话,记为 p×q ,其中 p << q,那么乘积A’A的大小为q×q,但是rank小于等于p,所以不满秩。这个时候我们需要通过加一个东西,放在inv( * ) 里面,使得求逆矩阵可以操作,比如,把 A’A 变成 A’A + c I ,其中c是一个系数,而I是单位阵。这个操作改变了我们的求解的目标函数,使得x的解析表示变成了 x = ( A’A + c I ) A’ b,这对于处理病态回归问题是一个较好的方法。这种回归算法就叫做岭回归(Ridge Regression)

    所以由上面的角度来看,岭回归是解决病态回归问题的一种数学的方法,所谓病态问题就是,A’A不满秩,也就是说数据中的变量,或者特征,的数目特别多,而数据量又相对较少。可以理解为,特征数目多,从而问题复杂,数据不足以建模,因此常规的OLS(Ordinary Linear Regression)不足以解决,所以用了岭回归。

    以上的解释基本都是基于矩阵计算的想法,实际上岭回归还有更简单也是更好理解的解释角度,那就是,岭回归实际上就是对OLS施加了一个吉洪诺夫正则化的惩罚项。也就是说,岭回归实际上是用来优化这样的一个问题:


    这里写图片描述

    当然通常我们看到的是这种形式:


    这里写图片描述

    所谓吉洪诺夫正则化就是对权重的l2-norm的惩罚项。

    这样看来就很明显了,实际上由于数据不足或者特征相关性强,我们对学习的系数施加了一定条件的约束,使得其l2-norm不会过大。这样实际上是通过牺牲bias降低了模型的variance,从而提高泛化能力。


    这里写图片描述

    吉洪诺夫正则化的求解就是上面的方法。Gamma看成是sqrt(lambda)乘以单位阵I,那么就成了lambda为权重的对w的l2-norm正则项。所谓岭回归中的岭ridge,就是将这个解的表达式看成lambda的函数,做出来的关于lambda的变化曲线图的形状得名的,这个曲线叫做岭迹

    reference:

    Lili “selected applications of convex optimization”

    Max Welling’s note “Kernel ridge Regression”

    2018年03月07日22:47:34

    我当然不会试图摘月,我要月亮奔我而来。—— 演员,奥黛丽赫本

  • 相关阅读:
    设计模式-观察者模式
    ps一寸照的编辑
    ps剪切蒙版的使用
    ps扣头发
    mysql索引优化
    ES6 $ ES5
    sping-mybatis集成
    多线程--volatile
    eclipse.exe打开是报错
    Spring Aop 详解二
  • 原文地址:https://www.cnblogs.com/morikokyuro/p/13256787.html
Copyright © 2011-2022 走看看