ML/DL

【转】Lasso 稀疏约束 + Group Lasso 分组最小角回归算法

背景

Lasso(least absolute shrinkage and selection operator,又译最小绝对值收敛和选择算子、套索算法)是一种同时进行特征选择和正则化(数学)的回归分析方法,旨在增强统计模型的预测准确性和可解释性,最初由斯坦福大学统计学教授Robert Tibshirani于1996年基于Leo Breiman的非负参数推断(Nonnegative Garrote, NNG)提出。Lasso算法最初用于计算最小二乘法模型,这个简单的算法揭示了很多估计量的重要性质,如估计量与岭回归(Ridge regression,也叫Tikhonov regularization)和最佳子集选择的关系,Lasso系数估计值(estimate)和软阈值(soft thresholding)之间的联系。它也揭示了当协变量共线时,Lasso系数估计值不一定唯一(类似标准线性回归)。

范数(norm)定义

首先需要了解一下几种向量范式的定义:
0-范数:即向量中非零元素的个数

w0=i1(wi0)‖w‖0=∑i1(wi≠0)

Ridge Regression 岭回归

在这里先简单地引入一些Ridge Regression岭回归
在线性回归中,我们需要对代价函数Cost Function J 最小化拟合训练集:

J=1mi=1m(yif(xi))2=1myXw2J=1m∑i=1m(yi−f(xi))2=1m‖y−Xw‖2

上面两种优化形式是等价的,我们可以找到相对应的λ和θ。

The Least Absolute Shrinkage and Selection Operator(Lasso) 稀疏约束

在前面的ridge regression中,对w做2范数约束,就是把解约束在一个l2-ball里面,放缩是对球的半径放缩,因此w的每一个维度都在以同一个系数放缩(如下图),通过放缩不会产生稀疏的解——即某些w的维度是0。在实际应用中,数据的维度中是存在噪音和冗余的,稀疏的解可以找到有用的维度并且减少冗余,提高回归预测的准确性和鲁棒性(减少了overfitting)。在压缩感知、稀疏编码等非常多的机器学习模型中都需要用到LASSO稀疏约束。

稀疏约束最直观的形式应该是范数0,如上面的范数介绍,w的0范数是求w中非零元素的个数。如果约束∥w∥0≤k,就是约束非零元素个数不大于k。不过很明显,0范式是不连续的且非凸的,如果在线性回归中加上0范式的约束,就变成了一个组合优化问题:挑出≤k个系数然后做回归,找到目标函数的最小值对应的系数组合,是一个NP问题。

不过l1-norm(1范数)也可以达到稀疏的效果,是0范数的最优凸近似,更重要的是1范式容易求解,并且是凸的,所以几乎看得到稀疏约束的地方都是用的1范式,从而可以引出The Least Absolute Shrinkage and Selection Operator(Lasso) 稀疏约束。

LASSO是另一种缩减方法,将回归系数收缩在一定的区域内。LASSO的主要思想是构造一个一阶惩罚函数获得一个精炼的模型, 通过最终确定一些变量的系数为0进行特征筛选。

minw12yXw2,s.t.w1<θminw12‖y−Xw‖2,s.t.‖w‖1<θ

椭圆和蓝色的区域(惩罚函数)的切点就是目标函数的最优解,我们可以看到,如果蓝色区域是圆,则很容易切到圆周的任意一点,但是很难切到坐标轴上,这样就得不出稀疏的借,冗余数据就会相对较多;但是如果蓝色区域是菱形或者多边形,则很容易切到坐标轴上,因此很容易产生稀疏的结果。这也说明了为什么1范式会是稀疏的。

虽然惩罚函数只是做了细微的变化,但是相比岭回归可以直接通过矩阵运算得到回归系数相比,LASSO的计算变得相对复杂。由于惩罚项中含有绝对值,此函数的导数是连续不光滑的,所以无法进行求导并使用梯度下降优化。这个时候需要使用subgradient次梯度….论证过程….最终可以得出

w¯j=sgn(wj)(|wj|λ)+w¯j=sgn(w∗j)(|w∗j|−λ)+

从图上可以看出岭回归实际上就是做了一个放缩,而lasso实际是做了一个soft thresholding,把很多权重项置0了,所以就得到了稀疏的结果。

Group Lasso 分组最小角回归算法

Yuan在2006年将lasso方法推广到group上面,诞生了group lasso。我们可以将所有变量分组,然后在目标函数中惩罚每一组的L2范数,这样达到的效果就是可以将一整组的系数同时消成零,即抹掉一整组的变量,这种手法叫做Group Lasso 分组最小角回归算法。其目标函数为:

minβ(||YXβ||22+λg=1G||ql−−√βIg||2)minβ(||Y−Xβ||22+λ∑g=1G||qlβIg||2)

在group lasso中,将p个特征分成G组,其中i的取值为1,2..g.. G。IgIg是每一组的加权,可以按需调节。不同于Lasso 方法将每个特征的系数项的绝对值加总, 这里所加总的是每个组系数的 L2 范数,在优化的过程中,该结构尽量选出更少的组(组间稀疏),而组内是L2范数,稀疏约束没那么强。

容易看出,group lasso是对lasso的一种推广,即将特征分组后的lasso。显然,如果每个组的特征个数都是1,则group lasso就回归到原始的lasso。为了求解group lasso, 可以首先假设组内特征是正交的,针对这种情形可以利用分块坐标下降法求解,对于非正交的情形,可以首先对组内特征施加正交化。

参考文献

  1. http://statweb.stanford.edu/~tibs/ftp/sparse-grlasso.pdf
  2. ftp://ess.r-project.org/Teaching/buhlmann/advanced-comput-statist/slides1.pdf
  3. http://blog.csdn.net/xbinworld/article/details/44276389
  4. http://freemind.pluskid.org/machine-learning/sparsity-and-some-basics-of-l1-regularization/
  5. http://blog.csdn.net/infskyline/article/details/47296701
  6. https://www.zhihu.com/question/38121173/answer/166238142#showWechatShareTip
  7. https://ask.hellobi.com/blog/mlanddlanddm/7198
  8. 周志华,机器学习, Chapter 11 P252
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值