ESL-CN项目:Lasso及相关路径算法深入解析
【免费下载链接】ESL-CN 项目地址: https://gitcode.com/gh_mirrors/es/ESL-CN
引言
在统计学习领域,Lasso(Least Absolute Shrinkage and Selection Operator)是一种广泛使用的线性回归正则化方法。本文将深入探讨Lasso及其相关路径算法的核心概念、实现原理和最新发展,帮助读者全面理解这一重要技术。
Lasso基础回顾
Lasso通过在最小二乘损失函数中加入L1正则化项来实现变量选择和系数收缩:
$$ \hat{\beta}^{lasso} = \arg\min_\beta \left{ \sum_{i=1}^N (y_i - \beta_0 - \sum_{j=1}^p x_{ij}\beta_j)^2 + \lambda \sum_{j=1}^p |\beta_j| \right} $$
其中λ是控制正则化强度的参数。L1正则化使得部分系数恰好为零,实现了变量选择。
LAR算法:Lasso路径的高效计算
最小角回归(Least Angle Regression, LAR)是计算Lasso解路径的高效算法。其核心思想是:
- 从全零模型开始
- 每次选择与当前残差相关性最大的预测变量
- 沿着联合最小二乘方向移动系数
- 当另一个变量与当前残差的相关性相等时,将其加入活跃集
- 继续在所有活跃变量上进行最小二乘拟合
LAR算法能够精确计算Lasso解的整个路径,且计算复杂度与普通最小二乘回归相当。
向前逐渐回归及其变体
基本向前逐渐回归
向前逐渐回归(Forward Stagewise Regression)是一种逐步添加预测变量的方法:
- 初始化所有系数为零
- 每次选择与当前残差最相关的变量
- 将该变量的系数增加一个小量(+ε或-ε)
- 更新残差并重复
无穷小向前逐渐回归(FS₀)
当步长ε趋近于零时,向前逐渐回归的极限形式称为FS₀。有趣的是,FS₀与Lasso有着密切的联系:
- 对于单调的系数路径,FS₀和Lasso给出相同的解
- 对于非单调路径,FS₀会产生更平滑的系数曲线
- FS₀可以看作是Lasso的单调版本
LAR算法的FS₀修正
标准LAR算法需要修正才能精确实现FS₀:
- 在每一步中,求解带符号约束的最小二乘问题: $$ \min_b |r - X_A b|^2 \quad s.t. \quad b_j s_j \geq 0 $$ 其中s_j是变量与残差相关性的符号
- 这确保了系数变化方向与相关性符号一致
分段线性路径算法
Rosset和Zhu(2007)证明了当满足以下条件时,正则化问题的解路径是分段线性的:
- 损失函数R(β)是二次或分段二次的
- 惩罚函数J(β)是分段线性的
这类问题包括:
- 平方损失和L1惩罚(Lasso)
- 绝对损失和L1惩罚
- Huber损失和L1惩罚
- 支持向量机的hinge损失(分段线性)和L2惩罚(二次)
Dantzig选择器
Candes和Tao(2007)提出的Dantzig选择器通过以下优化问题实现变量选择:
$$ \min_\beta |\beta|1 \quad s.t. \quad |X^T(y-X\beta)|\infty \leq s $$
或等价形式:
$$ \min_\beta |X^T(y-X\beta)|_\infty \quad s.t. \quad |\beta|_1 \leq t $$
与Lasso相比,Dantzig选择器:
- 可以表示为线性规划问题
- 理论上具有很好的稀疏恢复性质
- 但在实际应用中表现不稳定
- 计算效率不如Lasso
Group Lasso(分组Lasso)
当预测变量存在自然分组结构时(如基因通路中的基因),可以使用Group Lasso:
$$ \min_\beta \left{ |y - \beta_0 - \sum_{\ell=1}^L X_\ell \beta_\ell|^2 + \lambda \sum_{\ell=1}^L \sqrt{p_\ell} |\beta_\ell|_2 \right} $$
特点:
- 以组为单位进行选择(整组系数同时为零或非零)
- 组内使用L2范数,组间使用L1范数
- 适用于具有层次结构的变量选择
Lasso的扩展与改进
自适应Lasso
通过权重调整惩罚项:
$$ \sum_{j=1}^p w_j |\beta_j|, \quad w_j = 1/|\hat{\beta}_j|^\nu $$
其中$\hat{\beta}_j$是最小二乘估计。这种方法:
- 保持Lasso的凸性
- 能获得更一致的参数估计
- 类似于Lq惩罚(q=1-ν)的近似
SCAD惩罚
平滑削减绝对偏差(Smoothly Clipped Absolute Deviation)惩罚:
$$ \frac{dJ_a(\beta,\lambda)}{d\beta} = \lambda \cdot sign(\beta) \left[ I(|\beta|\leq\lambda) + \frac{(a\lambda-|\beta|)_+}{(a-1)\lambda} I(|\beta|>\lambda) \right] $$
特点:
- 对大系数收缩较小
- 当a→∞时,对大系数不收缩
- 但目标函数非凸,计算较复杂
坐标下降算法
替代LARS的高效算法,核心思想:
- 固定λ值
- 对每个变量β_j依次优化,保持其他变量固定
- 更新规则: $$ \tilde{\beta}j(\lambda) \leftarrow S\left( \sum{i=1}^N x_{ij}(y_i-\tilde{y}_i^{(j)}), \lambda \right) $$ 其中S是软阈值函数
优点:
- 计算高效,尤其适合高维问题
- 可扩展到elastic net、group lasso等变体
- 可通过"warm start"策略计算λ路径
总结
Lasso及其相关算法为高维数据分析和变量选择提供了强大工具。从LAR算法到坐标下降,从Dantzig选择器到Group Lasso,这些方法各有特点,适用于不同场景。理解它们的联系与区别,有助于在实际问题中选择合适的工具。随着研究的深入,Lasso家族仍在不断发展,为统计学习领域带来新的可能性。
【免费下载链接】ESL-CN 项目地址: https://gitcode.com/gh_mirrors/es/ESL-CN
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



