Lasso回归的坐标下降法推导

原创 2017年08月22日 21:38:15

目标函数

Lasso相当于带有L1正则化项的线性回归。先看下目标函数:RSS(w)+λw1=Ni=0(yiDj=0wjhj(xi))2+λDj=0|wj|
这个问题由于正则化项在零点处不可求导,所以使用非梯度下降法进行求解,如坐标下降法或最小角回归法。

坐标下降法

本文介绍坐标下降法。
坐标下降算法每次选择一个维度进行参数更新,维度的选择可以是随机的或者是按顺序。
当一轮更新结束后,更新步长的最大值少于预设阈值时,终止迭代。

下面分为两部求解

RSS偏导

wjRSS(w)=2i=1Nhj(xi)(yij=0Dwjhj(xi))=2i=1Nhj(xi)(yikjwkhk(xi)wjhj(xi))=2i=1Nhj(xi)(yikjwkhk(xi))+2wji=1Nhj(xi)2

下面做一下标记化简
ρj=Ni=1hj(xi)(yikjwkhk(xi))
zj=Ni=1hj(xi)2
上式化简为wjRSS(w)=2ρj+2wjzj

正则项偏导

次梯度方法(subgradient method)是传统的梯度下降方法的拓展,用来处理不可导的凸函数。
这里写图片描述

λwj|wj|=λ[λ,λ]λwj<0wj=0wj>0

整体偏导数

λwj[lasso cost]=2zjwj2ρj+λ[λ,λ]λwj<0wj=0wj>0=2zjwj2ρjλ[2ρjλ,2ρj+λ]2zjwj2ρj+λwj<0wj=0wj>0

要想获得最有解,令

λwj[lasso cost]=0
解得,

w^j=(ρj+λ/2)/zj0(ρjλ/2)/zjρj<λ/2ρj in [λ/2,λ/2]ρj>λ/2

这里写图片描述

伪代码

预计算zj=Ni=1hj(xi)2
初始化参数w(全0或随机)
循环直到收敛:

for j = 0,1,…D
    ρj=Ni=1hj(xi)(yikjwkhk(xi))
    update wj
选择变化幅度最大的维度进行更新

概率解释

拉普拉斯分布

随机变量XLaplace(μ,b),其中μ是位置参数,b>0是尺度参数。
概率密度函数为
f(x|μ,b)=12bexp(|xμ|b)

MAP推导

假设ϵiN(0,σ2)wiLaplace(0,1λ)

argmaxwL(w)=likelihood×prior=P(x,y|w)×P(w)=lni=1n1σ2πexp(12(yixiwTσ)2)j=1dλ2exp(λ|wj|)=lnn+lnd=nln+dln=nlnexp(12(yixiwTσ)2)nlnσ2π+dlnexp(λ|wj|)dln2λ=n12(yixiwTσ)2nlnσ2π+d(λ|wj|)dln2λ=12σ2n(yixiwT)2λd|wj|nlnσ2πdln2λ=12σ2n(yixiwT)2λd|wj|+constant

等价于
argminwf(w)=i=1n(yixiwT)2+λj=1d|wj|=||yXwT||22+λ||w||1

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012151283/article/details/77487729

坐标下降法(Coordinate descent)

首先介绍一个算法:coordinate-wise minimization 问题的描述:给定一个可微的凸函数,如果在某一点x,使得f(x)在每一个坐标轴上都是最小值,那么f(x)是不是一个全局的最小...
  • u013802188
  • u013802188
  • 2014-10-26 15:20:14
  • 15824

梯度下降法、坐标下降法、牛顿迭代法

梯度下降法 一般形式: x(t+1)=x(t)−a.grad(f(x(t))x^{(t+1)}=x^{(t)}-a.grad(f(x^{(t)}) 迭代停止条件: 各个分量的偏导数为0,即达到...
  • zkq_1986
  • zkq_1986
  • 2016-08-25 19:11:33
  • 4802

坐标下降优化算法

坐标下降优化方法是一种非梯度优化算法。为了找到一个函数的局部极小值,在每次迭代中可以在当前点处沿一个坐标方向进行一维搜索。在整个过程中循环使用不同的坐标方向。一个周期的一维搜索迭代过程相当于一个梯度迭...
  • seasermy
  • seasermy
  • 2016-01-12 17:43:06
  • 2460

坐标上升/下降算法

坐标下降(上升)法原理假设要求解下面的优化问题:在这里,我们需要求解m个变量αi,一般来说是通过梯度下降(这里是求最大值,所以应该叫上升)等算法来求解,每一次迭代对所有m个变量αi也就是α向量进行一次...
  • u010626937
  • u010626937
  • 2017-07-13 10:14:20
  • 1611

坐标下降法(坐标上升法)matlab程序

起因因为求解SVM的最牛算法SMO算法,使用的时坐标下降法的思路,所以学习一下这个算法。方法某函数包含多个自变量,需要求这个函数的最大或最小值时,可以应用此坐标下降法(最小值)或坐标上升法(最大值)。...
  • TaiJi1985
  • TaiJi1985
  • 2017-06-12 20:28:48
  • 1669

坐标下降法&梯度下降法

1.坐标上升法:坐标上升与坐标下降可以看做是一对,坐标上升是用来求解max最优化问题,坐标下降用于求min最优化问题,但是两者的执行步骤类似,执行原理相同。 例如要求接一个max_f(x1,x2,....
  • love198763
  • love198763
  • 2013-07-11 15:03:11
  • 1910

坐标下降法

 坐标下降法是一种思想简单的优化方法,常用的坐标轮换搜索是其中的一个特例。...
  • u014791046
  • u014791046
  • 2016-03-08 18:40:35
  • 535

梯度下降法,牛顿法,坐标下降法

自己简单整理了梯度下降法,牛顿法,坐标下降法的理论,为了自己以后查看方便,时间有限,因此格式还有待改进! 梯度下降法 梯度下降法化算法是常见的优梯度,现在一般使用效果应该不怎么好,但是却是非常基础...
  • LIYUAN123ZHOUHUI
  • LIYUAN123ZHOUHUI
  • 2017-10-19 10:56:49
  • 871

Coordinate Descent Optimization (坐标下降优化方法)

申明:本文非笔者原创,原文转载自:http://blog.sina.com.cn/s/blog_890c6aa30100yhqy.html 坐标下降优化方法是一种非梯度优化算法。为了...
  • carson2005
  • carson2005
  • 2014-03-13 11:55:07
  • 10321

一种适合于大数据的并行坐标下降法

在机器学习中,模型的训练是一个很重要的过程,它通常是对一个目标函数进行优化,从而获取模型的参数,比较常见的优化算法包括梯度下降法、牛顿法与拟牛顿法等。但在大数据的背景下,尤其对于并行实现来说,优化算法...
  • peghoty
  • peghoty
  • 2014-06-03 23:43:00
  • 5762
收藏助手
不良信息举报
您举报文章:Lasso回归的坐标下降法推导
举报原因:
原因补充:

(最多只允许输入30个字)