try ai
科普
编辑
分享
反馈
  • 最小角回归 (LARS) 算法

最小角回归 (LARS) 算法

SciencePedia玻尔百科
核心要点
  • LARS 算法通过增加预测变量来构建模型,然后沿着与模型中所有现有变量等角的方向前进。
  • LARS 算法的一个修改版本可以计算 LASSO 的整个分段线性解路径,揭示了系数如何随着惩罚项的变化而演变。
  • LARS 的路径跟踪特性使其在模型选择任务(如路径交叉验证)中极为高效。
  • LARS 是一个灵活的框架,可以扩展以处理分组变量和稳健回归,并在压缩感知和计算物理学等领域有广泛应用。

引言

在大数据时代,我们经常面临高维问题的挑战,即潜在的解释变量数量远超观测样本数量。这种情况在从基因组学到金融等领域都很常见,使得传统建模技术力不从心。核心问题在于选择:我们如何能高效可靠地从众多变量中识别出真正驱动结果的小子集,而不在噪声中迷失?像前向逐步选择这样的简单贪心方法可能过于决断,过早地锁定选择,可能错失最优模型。

本文介绍了一种更精妙、更强大的方法:最小角回归 (LARS) 算法。LARS 通过在模型空间中绘制一条完整的路径,而不是仅仅选择单一终点,为变量选择问题提供了一个优雅的解决方案。本文将引导您了解 LARS 的精巧之处,从其核心机制到其广泛影响。首先,在“原理与机制”部分,我们将剖析该算法如何通过其独特的等角路径进行工作,并揭示其与现代统计学基石 LASSO 的深层联系。接着,“应用与跨学科联系”部分将展示这种路径跟踪视角如何成为实用模型选择的强大工具,并成为不同科学和工程学科中的关键赋能技术。

原理与机制

要真正领会​​最小角回归 (LARS)​​ 的精妙之处,我们必须首先思考它旨在解决的问题。想象一下,你是一名侦探,面对一桩罪案有大量的潜在嫌疑人(预测变量或变量),但只有少数几条线索(数据点)。这就是高维数据的世界,我们可能有数千个基因,但只有一百个患者样本。我们如何从中识别出真正起作用的少数几个“罪魁祸首”?

一个直接的想法是采用贪心方法,比如​​前向逐步选择​​。你会找到与证据最相关的单个嫌疑人,将其加入你的“活动集”,然后调整证据以解释其影响。接着,你会找到与剩余证据最相关的下一个嫌疑人,将其加入,以此类推。这种方法的问题在于它有点过于决断。一旦一个预测变量进入模型,它就会使用最小二乘法进行完全拟合,这可能是一种过度投入,可能会掩盖其他相关预测变量的微妙贡献。这就像将所有注意力都集中在第一个看似合理的嫌疑人身上,而忽略了可能参与更大阴谋的其他人。

LARS 提供了一种更细致,而且正如我们将看到的,更深刻的策略。

最小角路径

LARS 算法的起始步骤与前向逐步选择类似,即识别与响应最相关的预测变量。我们将响应记为 yyy,将标准化的预测变量记为 X1,X2,…,XpX_1, X_2, \dots, X_pX1​,X2​,…,Xp​。开始时,我们的模型为空(所有系数均为零),因此​​残差​​——数据的未解释部分——就是 yyy 本身。我们找到某个预测变量,比如 XjX_jXj​,它具有最高的绝对相关性 ∣XjTy∣|X_j^T y|∣XjT​y∣。

LARS 在此处的处理方式截然不同,且非常巧妙。它并不完全采纳 XjX_jXj​,而是谨慎地迈出一步。它开始从零增加系数 βj\beta_jβj​,使模型的预测值 μ^\hat{\mu}μ^​ 沿着 XjX_jXj​ 的方向移动。当我们这样做时,残差 r=y−μ^r = y - \hat{\mu}r=y−μ^​ 开始变化。因此,所有预测变量与这个不断变化的残差的相关性也在改变。我们活动预测变量的相关性 ∣XjTr∣|X_j^T r|∣XjT​r∣ 将从其最大值开始下降。与此同时,其他非活动预测变量的相关性则会上下波动。

LARS 沿着这条路径前进,直到一个神奇的时刻:另一个预测变量,比如 XkX_kXk​,与当前残差的相关性变得与我们的第一个预测变量完全相同。也就是说,我们恰好在 ∣XkTr∣=∣XjTr∣|X_k^T r| = |X_j^T r|∣XkT​r∣=∣XjT​r∣ 时停止。从几何上看,我们沿着第一个预测变量的方向移动了恰当的距离,到达了一个点,使得当前残差在前两个预测变量之间完美地“等角”。

沿等角线前行

现在,我们的​​活动集​​中有两个预测变量,LARS 拒绝偏袒任何一方。如果继续只沿着 XjX_jXj​ 的方向移动,那将是不公平的。该算法的优雅解决方案是定义一条新路径:一个单一的​​等角方向​​,该方向在活动集中的所有预测变量之间精确平衡。这个方向,我们称之为 uAu_AuA​,是活动预测变量的特定线性组合 uA=XAwAu_A = X_A w_AuA​=XA​wA​,其计算方式使得当我们沿其移动时,每个活动预测变量与不断演变的残差的绝对相关性都以完全相同的速率下降。

算法现在同时更新所有活动预测变量的系数,使它们沿着这条精心设计的路径移动。这是一场走钢丝表演,维持了所选变量之间完美的民主平衡。这个过程一直持续到第三个预测变量的相关性赶上活动集的共同值为止。此时,这个新预测变量加入活动集,一个新的(三向)等角方向被计算出来,然后旅程继续。活动集发生变化的这些点被称为​​节点​​,在节点之间,系数路径是完全线性的。

与 LASSO 的惊人联系

这种相关性的几何舞蹈本身就很优美,但其真正的意义在于它与一种看似不同的方法——​​LASSO (最小绝对值收缩和选择算子)​​——的深层联系。

LASSO 不是一个算法,而是一个优化问题。它旨在寻找能够最小化残差平方和的系数 β\betaβ,但增加了一个关键的惩罚项:该惩罚项与系数绝对值之和成正比,表示为 λ∥β∥1\lambda \|\beta\|_1λ∥β∥1​。

min⁡β12∥y−Xβ∥22+λ∥β∥1\min_{\beta} \frac{1}{2}\|y - X\beta\|_{2}^{2} + \lambda \|\beta\|_{1}βmin​21​∥y−Xβ∥22​+λ∥β∥1​

这个 ℓ1\ell_1ℓ1​ 惩罚是 LASSO 强大功能的秘密所在;它迫使许多系数不仅仅是小,而是恰好为零,从而实现变量选择。

LASSO 问题的最优性条件,即 Karush-Kuhn-Tucker (KKT) 条件,揭示了一个非凡的结论。对于给定的惩罚水平 λ\lambdaλ,最优解 β^\hat{\beta}β^​ 必须满足以下条件:

  1. 对于任何具有非零系数(β^j≠0\hat{\beta}_j \neq 0β^​j​=0)的预测变量 XjX_jXj​,其与残差的绝对相关性必须恰好等于惩罚参数:∣XjT(y−Xβ^)∣=λ|X_j^T (y - X\hat{\beta})| = \lambda∣XjT​(y−Xβ^​)∣=λ。
  2. 对于任何具有零系数(β^k=0\hat{\beta}_k = 0β^​k​=0)的预测变量 XkX_kXk​,其与残差的绝对相关性必须小于或等于 λ\lambdaλ:∣XkT(y−Xβ^)∣≤λ|X_k^T (y - X\hat{\beta})| \le \lambda∣XkT​(y−Xβ^​)∣≤λ。

这就是“顿悟”的时刻。LARS 算法通过其维持活动预测变量间相关性相等的设计,恰恰生成了一条满足 LASSO 的 KKT 条件的解路径!随着 LARS 的进行,活动集的共同相关性值稳步下降。这个共同相关性值就是 LASSO 的 λ\lambdaλ。因此,LARS 不仅给出一个解;它计算了对于所有可能的 λ\lambdaλ 值,从所有系数为零到最终的最小二乘拟合,LASSO 解的整个​**​分段线性​**​路径。

一个微小的调整:剔除预测变量

原始 LARS 算法与 LASSO 所追踪的路径之间存在一个微妙但关键的区别。纯粹的 LARS 算法是纯增量的;一旦一个变量进入活动集,它就永远不会离开。然而,LASSO 路径并非总是单调的。一个变量可以进入模型,然后随着 λ\lambdaλ 的持续减小,其系数可能会收缩回零并被移除。

这种情况发生在 LARS 定义的路径会导致某个系数穿过零点并改变其符号时。然而,KKT 条件将相关性与系数的符号联系起来:XjTr=λ⋅sign(βj)X_j^T r = \lambda \cdot \text{sign}(\beta_j)XjT​r=λ⋅sign(βj​)。如果 βj\beta_jβj​ 的符号发生翻转,该条件将被违反。因此,在系数恰好达到零的瞬间,LASSO 路径要求将该变量从活动集中剔除。

对 LARS 进行一个简单的修改就可以完美处理这个问题。在每一步,我们计算两件事:到下一个“进入”事件的距离 γin\gamma_{\text{in}}γin​(当一个新变量加入时),以及到下一个“剔除”事件的距离 γdrop\gamma_{\text{drop}}γdrop​(当一个活动系数达到零时)。算法只需前进 min⁡(γin,γdrop)\min(\gamma_{\text{in}}, \gamma_{\text{drop}})min(γin​,γdrop​) 的距离,并相应地更新活动集。这种 LARS-LASSO 变体精确地追踪了 LASSO 路径。

贪心程度的光谱

我们现在可以将 LARS 置于一个更广泛的算法家族中。想象一个“贪心程度”的光谱。

  • ​​前向逐步选择​​是高度贪心的,采取大而决断的步骤。
  • ​​前向分段回归​​则在另一个极端,是无限谨慎的。在每一步,它找到最相关的预测变量,并将其系数微调一个极小的固定量 δ\deltaδ,然后重新评估一切。它通过大量微小的曲折更新来构建一个解。

LARS 处在一个优美的中间地带。它“在不失公平的前提下尽可能地贪心”。它采取了维持优雅的等角属性所允许的最大步长。一个统一的洞见是,随着前向分段回归中步长 δ\deltaδ 趋近于零,其曲折的路径完美地收敛于 LARS 的平滑、分段线性的路径。这揭示了这些看似迥异的算法思想之间惊人的一致性。

这个框架也阐明了实际问题。如果在最开始时有多个预测变量并列具有最高相关性怎么办?LARS 的定义很明确:将它们全部同时加入活动集。然而,不同的软件实现可能会使用任意的平局打破规则,可能导致不同的解路径。这突出表明,尽管底层理论是纯粹的,但其实际实现需要仔细考虑,以确保可复现的科学结果。

应用与跨学科联系

在理解了最小角回归的精妙机制之后,我们现在可以提出任何科学思想最重要的问题:它有什么用? 事实证明,LARS 不仅仅是一个巧妙的算法,更是一种深刻的视角——一种看待从数据构建模型问题的新方式。LARS 不仅给我们一个单一的答案,它还绘制了一条完整的路线,一条“解路径”,揭示了所有可能模型的全貌。正是这种路径跟踪的特性,开启了其在统计学、机器学习乃至物理科学领域的广泛应用。

模型构建的艺术:追踪 LASSO 路径

想象一下,你是一位在一个广阔高维世界中的探险家,那里有成千上万甚至数百万个潜在的解释变量(ppp),但只有少数几个观测值(nnn)。这就是从基因组学到金融等现代数据的现实。你如何构建一个简单而有意义的模型而不迷失方向?LARS 提供了一个指南针。它从最有希望的方向——与你的结果最相关的变量——开始,并迈出一步。但这是小心翼翼、有分寸的一步。它只前进到另一个变量变得同样有希望时为止。然后,以一种展现民主公平的优美方式,它沿着一个与这个新的活动变量集“等角”的方向移动,确保没有一个变量比其他变量更受青待。

这种逐步构建模型的方式本身就很有趣,但其真正的力量通过它与现代统计学另一巨头——LASSO(最小绝对值收缩和选择算子)——的深层联系而显现。LASSO 是一种在进行回归的同时将某些系数精确地收缩到零的方法,从而有效地选择了一个更简单的变量子集。它由给定正则化惩罚 λ\lambdaλ 的单个优化问题的解定义:

min⁡β12∥y−Xβ∥22+λ∥β∥1\min_{\beta} \frac{1}{2} \|y - X\beta\|_2^2 + \lambda \|\beta\|_1βmin​21​∥y−Xβ∥22​+λ∥β∥1​

这似乎是一个静态问题。你选择一个 λ\lambdaλ,你得到一个模型。但正确的 λ\lambdaλ 是什么?模型又如何随着 λ\lambdaλ 的变化而改变?这正是 LARS 发挥其魔力的地方。LARS 算法所追踪的路径,恰好是当 λ\lambdaλ 从无穷大扫描到零时 LASSO 系数的解路径(只需稍作修改以处理系数必须从模型中剔除的情况)。

对于不相关预测变量的简单情况,LARS-LASSO 的联系异常清晰:一个变量进入模型的时机,恰好是惩罚 λ\lambdaλ 降至其与响应相关性绝对值以下的时候。本质上,λ\lambdaλ 充当了重要性的阈值。当你降低标准(减小 λ\lambdaλ)时,更多的变量被邀请加入模型。对于存在相关预测变量的一般情况,这个过程更加复杂,涉及复杂的等角方向计算,但原理保持不变:LARS 提供了一部完整、连续的影片,展示了 LASSO 模型如何从最简单的模型演变到最复杂的模型。它将 LASSO 的静态快照转变为模型创建的动态叙事。

导航路径:实用的模型选择

LARS 路径为我们提供了过于丰富的选择:一个连续的模型谱系,每个模型对应于路径上的一个不同点。我们应该选择哪一个?路径本身就为这项关键的模型选择任务提供了工具。

在最基本的层面上,我们可以简单地决定在哪里停止。如果我们对模型的复杂性有预算——比如说,我们最终模型中只能使用五个变量——LARS 会精确地告诉我们这五个变量是什么以及它们的系数应该是多少。如果我们心中有特定的正则化水平 λ\lambdaλ 或期望的系数总大小(一个 ℓ1\ell_1ℓ1​ 范数预算),路径可以让我们找到完全满足这些规格的模型。

更强大的是,我们可以让路径本身告诉我们哪个模型是“最佳”的。Mallows' CpC_pCp​ 是一个经典的统计工具,用于估计模型在未见数据上的预测误差。计算 CpC_pCp​ 需要知道模型的“自由度”,这是其复杂性的度量。在一个纯粹数学优雅的时刻,事实证明,对于 LARS 路径上的任何模型,其自由度就是该步骤中活动变量的数量!。这使我们能够计算路径上每个模型的泛化误差估计,并选择最小化该误差的模型。

Cp=1σ2∥y−Xβ^(λ)∥22−n+2∣A(λ)∣C_p = \frac{1}{\sigma^2} \|y - X \hat{\beta}(\lambda)\|_2^2 - n + 2 |A(\lambda)|Cp​=σ21​∥y−Xβ^​(λ)∥22​−n+2∣A(λ)∣

在这里,∣A(λ)∣|A(\lambda)|∣A(λ)∣ 就是给定 λ\lambdaλ 下活动变量的数量。这个简单而优美的公式将 LARS 路径变成了一个强大的自动化模型选择工具。

为了获得更稳健的性能估计,我们转向交叉验证。这项技术在计算上可能非常耗时,需要模型被重新拟合多次。然而,LARS 的路径跟踪特性使得一种名为“路径交叉验证”的巧妙捷径成为可能。我们不是为每个折(fold)和每个候选 λ\lambdaλ 值从头重新解决问题,而是在每个折上一次性计算整个 LARS 路径。这样,我们手头就有了所有 λ\lambdaλ 值对应的所有模型,并且可以极其高效地评估在留出数据上的预测误差。这使得一项曾经令人望而却步的计算任务变得完全可行。对于真正海量的数据集,这可以与“安全筛选”规则相结合,这些规则能巧妙地识别并丢弃那些不可能成为最终解一部分的变量,从而进一步加速这一过程。

两种策略的故事:压缩感知中的路径与点

LARS 的路径跟踪方法是一种强大的策略,但并非唯一。为了解决 LASSO 问题,另一种流行的方法是坐标下降法,它在保持其他系数固定的情况下,一次迭代优化一个系数。这引出了计算策略上的一个根本选择:你是想要整张地图,还是想直接空降到一个目的地?

将 LARS 与坐标下降法进行比较,可以阐明两者之间的权衡。如果你的目标是为一个单一、预定的 λ\lambdaλ 值找到 LASSO 解,坐标下降法通常更快、更高效。它直接针对那一个解,没有计算所有中间模型的“开销”。然而,如果你需要理解在一系列正则化水平上的行为——这对于通过交叉验证进行模型选择或对于像稳定性选择这样的技术至关重要——LARS 的路径跟踪方法就显得无比宝贵。它在一个统一的过程中计算出所有 λ\lambdaλ 值的解。

这种权衡在​​压缩感知​​领域尤为重要。该领域的目标是从数量惊人的少量测量中重建稀疏信号(如医学图像)。LASSO 和 LARS 是完成这项任务的主力算法。LARS 路径展示了当我们改变对其稀疏性的假设时,重建信号是如何变化的,这提供了一个比单点估计更丰富的理解。

LARS 的扩展宇宙:延伸与适应

LARS 核心的等角性几何原理具有非凡的灵活性。它可以被扩展和调整以解决远超标准线性模型的一大类问题。

  • ​​组 LARS (Group LARS):​​ 如果你的变量自然地成簇出现怎么办?例如,在遗传学中,你可能希望选择或剔除一整个基因的生物学通路,而不仅仅是单个基因。LARS 框架可以推广为一种“组 LARS”过程,它根据变量组与残差的集体相关性来选择整个预定义的变量组。它不是寻找与单个预测变量等角的方向,而是寻找与各组所张成的子空间等角的方向,从而优美地扩展了核心几何思想。

  • ​​稳健 LARS (Robust LARS):​​ 基于最小二乘法的标准 LARS 对数据中的离群值很敏感。少数几个损坏的测量值就可能让整个路径偏离轨道。但我们可以通过用一个受大误差影响较小的函数(如 Huber 损失)替换平方误差损失,来使算法变得稳健。这需要将等角方向巧妙地推广到一个加权空间,其中权重会降低离群点的影响。几何结构随之调整以保护路径免受污染,从而产生一个稳健的特征选择过程。

这些例子表明,LARS 不是一个僵化的配方,而是一个灵活的框架,一种思考模型构建的方式,可以根据手头问题的具体结构和挑战进行定制。

超越统计学:LARS 在科学与工程中的应用

也许 LARS 最激动人心的应用是在它跨越学科界限,为科学和工程问题提供统计解决方案时。一个典型的例子来自​​不确定性量化 (UQ)​​ 领域。

工程师和科学家构建极其复杂的计算机模拟,以模拟从气候到飞机机翼结构完整性的一切。这些模型依赖于许多输入参数(材料属性、边界条件等),而这些参数通常无法被精确知晓。UQ 的一个核心挑战是理解这些输入中的不确定性如何传播到模拟的输出。为了探索不确定性空间而多次运行完整模拟,在计算上通常是不可行的。

解决方案是构建一个廉价的“代理模型”来近似昂贵的模拟。一种强大的技术是多项式混沌展开 (PCE),它将输出表示为不确定输入的多元多项式之和。问题于是变成了:哪些多项式项最重要?在可能无限的基函数集合中,我们需要选择一个小的、稀疏的集合,以准确捕捉模型的行为。

这正是 LARS 设计用来解决的那种稀疏回归问题!LARS 可用于自适应地、贪心地选择最重要的多项式基函数,一步步构建准确的代理模型。它允许将领域知识,例如知道某些输入参数比其他参数更具影响力(各向异性),优雅地融入选择过程。在这里,一个来自统计学的算法成为了计算物理学不可或缺的工具,使得对原本难以处理的复杂系统进行分析成为可能。

不可表示性与美

这段穿越 LARS 应用的旅程揭示了它的实用性和灵活性。但它给我们留下了一个最终、更深层次的问题。当我们沿着这条路径前行时,我们能相信它会引导我们走向“真相”吗?如果存在一个生成我们数据的真实的、稀疏的变量集,LARS 能保证找到它吗?

答案在于一个深刻的理论结果,即​​不可表示条件​​。直观地说,这个条件与我们预测变量的几何形状有关。它指出,不在真实模型中的变量,不能被在真实模型中的变量的线性组合过好地表示。如果这个条件成立,

∥XScTXS(XSTXS)−1sign⁡(βS⋆)∥∞1\|X_{S^c}^T X_S (X_S^T X_S)^{-1} \operatorname{sign}(\beta_S^\star)\|_\infty 1∥XScT​XS​(XST​XS​)−1sign(βS⋆​)∥∞​1

那么就可以保证,对于某个范围的惩罚参数 λ\lambdaλ,LASSO 解的支撑集将恰好是真实的支撑集 SSS。由于 LARS 算法追踪了整个 LASSO 路径,这就确保了发现之路在某个点上会包含正确的模型。

这为我们的故事提供了一个优美的结局。LARS 算法的实际成功并非偶然。它背后有坚实的理论基础,将数据的几何特性与寻找真相的统计目标联系起来。从一个简单的算法出发,我们揭示了一个用于构建、选择和理解统计模型的丰富框架,其影响范围从统计理论的基础延伸到科学计算的前沿。