在统计和机器学习中,Lasso(最小绝对收缩和选择算子)是一种回归分析方法,执行变量选择和正则化 ,以提高预测精度和结果统计模型的可解释性。它最初是在地球物理学中引入的,后来Robert Tibshirani提出这一术语。

Lasso最初是为线性回归模型而推导的。这个简单的情形揭示了关于估计量的很多信息,包括它与岭回归和最佳子集选择的关系,以及Lasso回归系数和所谓的软阈值之间的联系。它还揭示了(像标准线性回归),如果协变量共线,那么系数估计可能不唯一。

虽然最初定义为线性回归,但Lasso很容易扩展到其他统计模型,包括广义线性模型、广义估计方程、比例风险模型和lasso回归 最优参数 python lasso回归有解析解吗_人工智能

历史

为了提高回归模型的预测精度和可解释性,引入了Lasso。它选择一个已知协变量的简化集用于模型。

Lasso是1986年在地球物理文献中被独立发现的,基于之前的工作,使用lasso回归 最优参数 python lasso回归有解析解吗_机器学习_02惩罚函数来拟合和惩罚系数。1996年,统计学家Robert Tibshirani根据Breiman的非负绞喉理论,独立地重新发现并推广了这一理论。

在Lasso之前,最广泛使用的协变量选择方法是逐步选择(stepwise selection) 。这种方法只在某些情况下提高了预测的准确性,比如只有少数协变量与结果有很强的关系。然而,在其他情况下,它会增加预测误差。

当时,岭回归 是最常用的提高预测精度的技术。岭回归通过将回归系数的平方和缩小到小于固定值来改善预测误差,以减少过拟合,但它不进行协变量选择,因此无助于使模型更具可解释性。

Lasso通过迫使回归系数绝对值的总和小于固定值来实现这两个目标,这迫使某些系数为零,排除他们影响预测。这一想法类似于岭回归,它也缩小了系数的大小,然而岭回归倾向于设置更少的系数为零。

基本形式

最小二乘

lasso回归 最优参数 python lasso回归有解析解吗_机器学习_03

Here lasso回归 最优参数 python lasso回归有解析解吗_回归_04 is the constant coefficient, lasso回归 最优参数 python lasso回归有解析解吗_Lasso_05 is the coefficient vector, and lasso回归 最优参数 python lasso回归有解析解吗_Lasso_06 is a prespecified free parameter that determines the degree of regularization. Note that
lasso回归 最优参数 python lasso回归有解析解吗_人工智能_07

and therefore it is standard to work with variables that have been made zero-mean. Additionally, the covariates are typically standardized (lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_08

It can be helpful to rewrite
lasso回归 最优参数 python lasso回归有解析解吗_人工智能_09
in the so-called Lagrangian form
lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_10
where the exact relationship between lasso回归 最优参数 python lasso回归有解析解吗_Lasso_06 and lasso回归 最优参数 python lasso回归有解析解吗_Lasso_12

正交协变量

Assuming first that the covariates are orthonormalso that lasso回归 最优参数 python lasso回归有解析解吗_Lasso_13, or, equivalently, lasso回归 最优参数 python lasso回归有解析解吗_机器学习_14 , then using subgradient methods it can be shown that
lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_15

lasso回归 最优参数 python lasso回归有解析解吗_人工智能_16 is referred to as the soft thresholding operator, since it translates values towards zero (making them exactly zero if they are small enough), instead of setting smaller values to zero and leaving larger ones untouched as the hard thresholding operator, often denoted lasso回归 最优参数 python lasso回归有解析解吗_回归_17, would.

下面对比岭回归和最佳子集选择回归。

  • In ridge regression , the objective is to minimize
    lasso回归 最优参数 python lasso回归有解析解吗_Lasso_18
    yielding
    lasso回归 最优参数 python lasso回归有解析解吗_回归_19
    Ridge regression shrinks all coefficients by a uniform factor of lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_20
    lasso回归 最优参数 python lasso回归有解析解吗_Lasso_21
  • In best subset selection , the goal is to minimize
    lasso回归 最优参数 python lasso回归有解析解吗_回归_22
    where lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_23 is the " lasso回归 最优参数 python lasso回归有解析解吗_人工智能_24 norm", which is defined as lasso回归 最优参数 python lasso回归有解析解吗_Lasso_25 if exactly m components of z are nonzero. I n this case, it can be shown that
    lasso回归 最优参数 python lasso回归有解析解吗_Lasso_26
    where lasso回归 最优参数 python lasso回归有解析解吗_机器学习_27 is the so-called hard thresholding function and lasso回归 最优参数 python lasso回归有解析解吗_人工智能_28
    因此,Lasso估计集中了岭回归和最佳子集选择回归的优点。比如,岭回归中的缩小所有系数的大小;最佳子集选择回归中的设置一些系数为0。此外,岭回归所有系数的范围由一个常量因子控制,Lasso则转换系数为零通过一个常量值,并设置他们为零,如果他们达到它。

相关协变量

i
In one special case two covariates, say j and k, are identical for each observation, so that lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_29, where lasso回归 最优参数 python lasso回归有解析解吗_回归_30. Then the values of lasso回归 最优参数 python lasso回归有解析解吗_回归_31 and lasso回归 最优参数 python lasso回归有解析解吗_回归_32 that minimize the lasso objective function are not uniquely determined.
In fact, if some lasso回归 最优参数 python lasso回归有解析解吗_回归_33 in which lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_34, then if lasso回归 最优参数 python lasso回归有解析解吗_Lasso_35 replacing lasso回归 最优参数 python lasso回归有解析解吗_Lasso_36 by lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_37 and lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_38 by lasso回归 最优参数 python lasso回归有解析解吗_机器学习_39 , while keeping all the other lasso回归 最优参数 python lasso回归有解析解吗_Lasso_40

Several variants of the lasso, including the Elastic net regularization, have been designed to address this shortcoming.

广义形式

Lasso正则化可以拓展到其他目标函数中,比如广义线性模型,广义估计模型,比例风险模型,以及M估计量。给定目标函数
lasso回归 最优参数 python lasso回归有解析解吗_Lasso_41
估计量的Lasso正则化 版本为下述表达式的解:
lasso回归 最优参数 python lasso回归有解析解吗_人工智能_42
其中lasso回归 最优参数 python lasso回归有解析解吗_机器学习_43 可以自由取值,只有lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_44 被惩罚。就像在最初情形中,lasso回归 最优参数 python lasso回归有解析解吗_人工智能_45被惩罚,lasso回归 最优参数 python lasso回归有解析解吗_回归_46自由取值一样。

解释

几何解释

Lasso可以将系数设为0,而与之表面相似的岭回归不能。这是由于两者的限制边界不同。但Lasso和岭回归都可以解释最小化相同的目标函数
lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_47
但优化的限制区域不同,Lasso是方形区域,岭回归是圆形区域。一个与边界相切的凸物体,如图中所示的线,可能会遇到超立方体的一个角(或高维等值面),其某些分量等于零。而在n维球的情况下,边界上某些分量为零的点与其他点之间没有区别,凸物体接触某些分量为零的点的可能性并不比接触一个分量为零的点的可能性大。

Bayes 解释

  • 岭回归可以解释为线性回归的系数被分配了正态先验分布。
  • Lasso可以解释为线性回归的系数有Laplace先验分布。Laplace分布在0处急剧达到峰值(它的一阶导数在0处不连续),它集中的概率质量比正态分布更接近于0。
    这也提供了一个替代解释为什么Lasso倾向于设置一些系数为零,而岭回归没有。

凸松弛解释

  • Lasso也可以看作是一个凸松弛的最佳子集选择回归问题,该问题为,对固定的lasso回归 最优参数 python lasso回归有解析解吗_人工智能_48, 发现lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_49 个协变量的子集,该子集是目标函数取得最小值,其中 lasso回归 最优参数 python lasso回归有解析解吗_回归_50
  • 0范数可以看成p范数的极限。当lasso回归 最优参数 python lasso回归有解析解吗_Lasso_51 时,p范数不是凸的,因此,lasso回归 最优参数 python lasso回归有解析解吗_人工智能_52
  • 在某种意义上,Lasso是最佳子集选择问题的最优凸逼近。因为lasso回归 最优参数 python lasso回归有解析解吗_机器学习_53 定义的区域是lasso回归 最优参数 python lasso回归有解析解吗_回归_54定义的区域的凸包。

扩展方法

Lasso的变种已经被创造出来,以弥补原始技术的限制,并使方法对特殊问题更有用。几乎所有这些重点都是尊重或利用协变量之间的依赖性。
弹性网络正则化(Elastic net regularization)增加了一个额外的岭回归惩罚。当预测数大于样本容量时,可以提高性能,允许该方法选择强相关的变量一起,并提高整体预测精度。

Group Lasso允许相关的一组协变量被选择作为一个单一的单位。更多的扩展有sparse group lassooverlap group lasso

融合 Lasso(Fused lasso)可以解释问题的空间或时间特征,从而更好地估计匹配系统结构。Lasso正则化模型可以用一些技术来拟合,比如次梯度方法,最小角回归(least-angle regression)以及近端梯度方法(proximal gradient method)。 确定正则化参数的最优值是保证模型良好运行的重要组成部分,它通常使用交叉验证(cross-validation)来选择。

Elastic net

2005年,张提出弹性网络回归。当协变量个数大于样本数时lasso回归 最优参数 python lasso回归有解析解吗_回归_55 ,lasso 只能挑选出n个协变量(即便有更多与结果相关),并且它趋向于从任一个高度相关的协变量集合中挑选一个。此外,当 lasso回归 最优参数 python lasso回归有解析解吗_Lasso_56时,对给定的强相关的协变量,岭回归可能表现更好。
The elastic net extends lasso by adding an additional lasso回归 最优参数 python lasso回归有解析解吗_人工智能_57 penalty term giving
lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_58
which is equivalent to solving
lasso回归 最优参数 python lasso回归有解析解吗_机器学习_59
This problem can be written in a simple lasso form
lasso回归 最优参数 python lasso回归有解析解吗_回归_60
letting
lasso回归 最优参数 python lasso回归有解析解吗_人工智能_61

lasso回归 最优参数 python lasso回归有解析解吗_机器学习_62

lasso回归 最优参数 python lasso回归有解析解吗_人工智能_63

Then lasso回归 最优参数 python lasso回归有解析解吗_人工智能_64 ,which,when the covariates are orthogonal to each other, gives
lasso回归 最优参数 python lasso回归有解析解吗_人工智能_65

So the result of the elastic net penalty is a combination of the effects of the lasso and ridge penalties.

Returning to the general case, the fact that the penalty function is now strictly convex means that if lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_29, lasso回归 最优参数 python lasso回归有解析解吗_Lasso_67, which is a change from lasso.(临界点)

In general, if lasso回归 最优参数 python lasso回归有解析解吗_Lasso_68
lasso回归 最优参数 python lasso回归有解析解吗_回归_69
where, lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_70

因此,高度相关往往会有相似的回归系数,相似程度依赖于lasso回归 最优参数 python lasso回归有解析解吗_回归_71lasso回归 最优参数 python lasso回归有解析解吗_回归_72 ,这一点上和lasso不同. 这种强相关协变量具有相似回归系数的现象称为分组效应(grouping effect)。

分组是可取的,因为在诸如将基因与疾病联系起来的应用中,找到所有相关的协变量是可取的,而不是像Lasso经常做的那样,从每一组相关的协变量中选择一个。此外,从每组中只选择一个通常会导致预测误差增加,因为模型的鲁棒性较差(这就是为什么岭回归往往优于Lasso)。

Group lasso

2006年,Yuan和Lin引入了组套索(group lasso),允许预定义的协变量组共同选择进入或退出一个模型。这在许多情形中都是有用的,也许最明显的是当分类变量被编码为二进制协变量的集合 时。在这种情况下,组套索可以确保所有编码分类协变量的变量被纳入或排除在一起。

另一个自然的分组的情形是生物研究。由于基因和蛋白质通常位于已知的途径中,因此,哪些途径与结果相关可能比单个基因是否相关更重要。

群Lasso的目标函数是标准Lasso目标函数的自然泛化:
lasso回归 最优参数 python lasso回归有解析解吗_人工智能_73
lasso回归 最优参数 python lasso回归有解析解吗_机器学习_74 is a collection of design matrices lasso回归 最优参数 python lasso回归有解析解吗_回归_75.

If each covariate is in its own group and lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_76, then this reduces to the standard lasso, while if there is only a single group and lasso回归 最优参数 python lasso回归有解析解吗_Lasso_77, it reduces to ridge regression.
由于惩罚减少到每组定义的子空间上的一个范数,它不能只从组中选择一些协变量,就像岭回归不能那样。然而,由于惩罚是不同子空间规范的和,如在标准Lasso中,约束有一些非微分点,这些点对应于一些同零的子空间。因此,它可以使某些子空间对应的系数向量为零,而只收缩其他子空间。

然而,可以将组套索扩展到所谓的稀疏组套索(sparse group lasso),它可以通过对每个组子空间增加额外的惩罚来选择组内的个体协变量另一个延伸,重叠的群体套索允许协变量在群体之间共享。例如,如果一个基因在两个途径中发生。

Fused lasso

在某些情况下,所研究的现象可能具有重要的空间或时间结构,在分析时必须考虑这些结构,例如时间序列或基于图像的数据。
2005年,Tibshirani和同事们引入了融合套索,将Lasso的使用扩展到这类数据。Fused Lasso的目标函数为
lasso回归 最优参数 python lasso回归有解析解吗_人工智能_78
第一个约束是Lasso约束,而第二个直接惩罚在时间或空间结构方面的大变化,这迫使系数平滑地变化,以反映系统的基本逻辑。

Clustered Lasso 是Fused lasso的推广,识别和组相关协变量基于他们的影响(系数)。基本的思想是惩罚系数之间的差异,使非零的聚在一起。这可以使用以下正则化建模:
lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_79
相反,可以将变量聚类成高度相关的组,然后从每个聚类中提取一个具有代表性的协变量。

现有的算法可以解决融合套索问题,并对其进行了推广。算法可以在有限的运算中精确地求解它。

Quasi-norms and bridge regression

Lasso、elastic net、group和fused lasso使用lasso回归 最优参数 python lasso回归有解析解吗_回归_80lasso回归 最优参数 python lasso回归有解析解吗_机器学习_81范数构造惩罚函数。Bridge回归使用一般的lasso回归 最优参数 python lasso回归有解析解吗_回归_82范数(lasso回归 最优参数 python lasso回归有解析解吗_机器学习_83)或者拟范数(lasso回归 最优参数 python lasso回归有解析解吗_回归_84).

和规范构造惩罚函数(必要时可加权重)。

比如,对于lasso回归 最优参数 python lasso回归有解析解吗_回归_85,类似于拉格朗日形式的套索目标是解决下述问题:
lasso回归 最优参数 python lasso回归有解析解吗_人工智能_86
其中
lasso回归 最优参数 python lasso回归有解析解吗_机器学习_87

lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_88

其中,lasso回归 最优参数 python lasso回归有解析解吗_Lasso_89 是任一单调递增的凹函数(比如,lasso回归 最优参数 python lasso回归有解析解吗_机器学习_90 给了Lasso惩罚,lasso回归 最优参数 python lasso回归有解析解吗_机器学习_91给了lasso回归 最优参数 python lasso回归有解析解吗_Lasso_92惩罚)。

有效的最小化算法是基于分段次二次增长的二次逼近(PQSQ)。

Adaptive lasso

自适应套索(adaptive lassuo)是邹某(2006)在线性回归中引入,Zhang和Lu(2007)用于比例风险回归

Prior lasso

Jiang等人在2016年将先验lasso引入到广义线性模型中,以纳入先验信息,如某些协变量的重要性。在先验lasso中,这些信息被总结为伪响应(称为先验响应),然后在通常的目标函数中加入一个附加的准则函数,带有lasso惩罚。

在不丧失一般性的情况下,在线性回归中,新的目标函数可以写成
lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_93
等价于
lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_94
其中 lasso回归 最优参数 python lasso回归有解析解吗_lasso回归 最优参数 python_95.

在先验Lasso中,参数lasso回归 最优参数 python lasso回归有解析解吗_人工智能_96 被称为平衡参数 ,它平衡了数据与先验信息的相对重要性。 在极端情况lasso回归 最优参数 python lasso回归有解析解吗_Lasso_97下,先验Lasso被简化为Lasso。如果lasso回归 最优参数 python lasso回归有解析解吗_人工智能_98,先验Lasso将只依赖先验信息来拟合模型。此外,平衡参数还有另一个吸引人的解释:它从贝叶斯观点控制其先验分布的方差。

计算lasso解

Lasso的损失函数是不可微的,但从凸分析和优化理论等方面发展了各种技术来计算Lasso的解的路径。这些方法包括坐标下降法、次梯度法、最小角度回归法(LARS)和近端梯度法次梯度法 是对梯度下降法和随机梯度下降法等传统方法的自然推广,使目标函数在所有点上不可微。

LARS是一种与套索模型密切相关的方法,在许多情况下,它允许它们有效地匹配,尽管它可能不是在所有情况下都表现良好。LARS生成完整的解决方案路径。近端方法因其灵活性和性能而受到欢迎,是一个积极研究的领域。总之,方法的选择将取决于特定的套索变体、数据和可用资源。通常,近端方法效果较好。

正则化参数的选择

正则化参数lasso回归 最优参数 python lasso回归有解析解吗_Lasso_12

但是,如果正则化太强,可能会忽略重要的变量,过度收缩系数,从而影响预测能力和推断能力。交叉验证 常用于寻找正则化参数。

信息准则,如贝叶斯信息准则(BIC)和赤池信息准则(AIC) 可能比交叉验证更可取,因为它们的计算速度更快,并且在小样本中性能不稳定信息准则通过最大化模型的样本内精度,同时惩罚其有效参数/自由度来选择估计器的正则化参数。

Zou等人提出通过计算偏离0的参数的个数来测量有效自由度。该方法被Kaufman和Rosset和Janson等人认为是有缺陷的,因为当它被正则化参数更难惩罚时,一个模型的自由度可能会增加。作为一种替代方法,上面定义的相对简单性度量可以用来计算参数的有效数量对于套索,这个度量如下:
lasso回归 最优参数 python lasso回归有解析解吗_回归_100
当正则化参数从无穷减到0时,它是从0到lasso回归 最优参数 python lasso回归有解析解吗_人工智能_101单调递增的。

应用

Lasso已被应用于经济和金融,并发现改善预测和选择有时被忽视的变量,例如在公司破产预测文献中,或高增长公司预测。