try ai
科普
编辑
分享
反馈
  • Lasso 罚项

Lasso 罚项

SciencePedia玻尔百科
核心要点
  • Lasso 罚项在回归目标函数中增加了一个与模型系数绝对值之和(L1 范数)成正比的项。
  • 与其他正则化方法不同,L1 罚项可以将不重要特征的系数收缩到恰好为零,从而执行自动特征选择。
  • 通过创建稀疏模型,Lasso 有效地对抗过拟合,提高模型的可解释性,并能够解决特征数量多于观测值的回归问题。
  • Lasso 的核心概念启发了一系列相关方法,例如 Elastic Net 和 Group Lasso,这些方法解决了更细微的问题,如相关预测变量和分组变量。

引言

在从数据构建预测模型的探索中,一个核心挑战是在准确性与复杂性之间进行权衡。虽然我们希望模型能很好地拟合数据,但过于复杂的模型往往会“记住”噪声而非学习潜在模式,导致在新数据上表现不佳——这个问题被称为过拟合。我们如何在众多潜在预测变量中识别出必要的变量,而不迷失在噪声之中呢?Lasso(最小绝对收缩和选择算子)罚项为这个问题提供了一个强大而优雅的解决方案。本文将探讨现代统计学和机器学习中的这一基本技术。首先,在“原理与机制”部分,我们将剖析 Lasso 的数学和几何基础,理解它如何通过将不重要的系数收缩到零来独特地强制实现模型的简洁性。然后,在“应用与跨学科联系”部分,我们将遍历其从基因组学到经济学等多样化的现实世界应用,并探索其富有影响力的相关方法族。

原理与机制

想象你是一位雕塑家。你的任务不是添加黏土,而是从一个巨大的、未成形的石块开始,凿去所有不属于你最终杰作的部分。这种小心移除、在多余中发现隐藏的本质形态的行为,正是 Lasso 罚项的精神所在。在统计学中,我们的“石块”是一个充满了潜在特征的模型,其中许多只是噪声,而我们的“凿子”则是一个优美而简单的数学思想。

一种平衡之术:等式的两面

几乎所有建模任务的核心都存在一种基本的张力。一方面,我们希望模型尽可能地拟合我们拥有的数据。我们希望预测值与实际结果之间的差异最小。在线性回归领域,这通常用​​残差平方和(RSS)​​——即平方误差之和——来衡量。如果这便是全部,我们只需使用标准的线性回归即可。

但过于激进地追求完美拟合是危险的。一个模型在解释其训练数据方面可能变得过于出色。它开始记住该特定数据集的随机噪声和怪癖,这种现象被称为​​过拟合​​。这样的模型在纸面上可能看起来很出色,但当面对新的、未见过的数据时,它会惨败。它学会了数据的“字面”,却没有领会潜在模式的“精神”。

这时,Lasso 方法,即​​最小绝对收缩和选择算子​​,便登场了。它提出了一个折衷方案,一种体现在单一目标函数中的优美平衡。为了找到我们模型的最佳系数(βj\beta_jβj​),我们不只是最小化误差。我们最小化误差加上一个对复杂度的罚项。

J(β0,β)=∑i=1N(yi−β0−∑j=1pxijβj)2⏟Fit Term (RSS)+λ∑j=1p∣βj∣⏟Penalty Term (L1 Norm)J(\beta_0, \beta) = \underbrace{\sum_{i=1}^{N} \left(y_i - \beta_0 - \sum_{j=1}^{p} x_{ij} \beta_j\right)^2}_{\text{Fit Term (RSS)}} + \underbrace{\lambda \sum_{j=1}^{p} |\beta_j|}_{\text{Penalty Term ($L_1$ Norm)}}J(β0​,β)=Fit Term (RSS)i=1∑N​(yi​−β0​−j=1∑p​xij​βj​)2​​+Penalty Term (L1​ Norm)λj=1∑p​∣βj​∣​​

让我们看看这两个部分。第一项是我们熟悉的老朋友,RSS,它促使模型去拟合数据。第二项是 Lasso 罚项。它是所有特征系数绝对值之和,由一个调节参数 λ\lambdaλ 进行缩放。这也被称为系数向量的 ​​L1L_1L1​ 范数​​。请注意,截距项 β0\beta_0β0​ 通常不包括在罚项中;我们惩罚的是特征的影响,而不是我们预测的基线水平。

参数 λ\lambdaλ 就像一个我们可以转动的旋钮。如果 λ=0\lambda = 0λ=0,罚项消失,我们就回到了标准的、可能过拟合的线性回归。随着我们调高 λ\lambdaλ,我们告诉模型我们越来越在意保持系数的微小,即使这会以对训练数据的拟合稍差为代价。这种权衡是所有正则化方法的核心机制。但正如我们将看到的,L1L_1L1​ 罚项的特定形式带来了一个近乎神奇的结果。

稀疏性的艺术:少即是多

Lasso 的真正天才之处不仅在于它将系数“收缩”至零,更在于它能迫使其中一些系数恰好为零。当一个系数 βj\beta_jβj​ 变为零时,其对应的特征 xjx_jxj​ 就被有效地从模型中移除了。无论 xijx_{ij}xij​ 的值是多少,项 xijβjx_{ij}\beta_jxij​βj​ 始终为零。

这产生了一种所谓的​​稀疏模型​​——一个仅由原始特征的稀疏子集构建的模型。想象一下,你正在构建一个模型,用数百个特征来预测房价:房屋面积、房间数量、房龄、当地犯罪率、到最近 20 种商店的距离等等。你怀疑其中许多特征是多余的或根本不相关。Lasso 会自动为你执行​​特征选择​​。通过调高 λ\lambdaλ,你可以迫使最不重要特征的系数逐渐减小至零,最终留下一个更简单、更优雅、只包含最有效预测变量的模型。

这是一个深远的优势。在一个数据泛滥的世界里,我们对理解哪些因素是重要的,其关心程度往往不亚于预测本身。经济学家可能想知道驱动 GDP 增长的几个关键指标,而不仅仅是一个黑箱预测。通过产生稀疏模型,Lasso 不仅提供了预测,还带来了洞察力和可解释性。

选择的几何学:钻石与圆的故事

为什么 L1L_1L1​ 罚项能产生这些精确的零,而其他罚项却不能?最直观的解释是几何学上的。让我们将 Lasso 与其近亲​​岭回归 (Ridge Regression)​​ 进行比较,后者使用 L2L_2L2​ 罚项 λ∑βj2\lambda \sum \beta_j^2λ∑βj2​。

找到最佳系数等价于找到 RSS 的扩展等高线(即椭圆)首次接触“惩罚区域”边界的点。对于岭回归,惩罚约束 β12+β22≤t\beta_1^2 + \beta_2^2 \le tβ12​+β22​≤t 定义了一个圆形区域(在二维空间中)。对于 Lasso,约束 ∣β1∣+∣β2∣≤t|\beta_1| + |\beta_2| \le t∣β1​∣+∣β2​∣≤t 定义了一个旋转 45 度的菱形,其尖角位于坐标轴上。

现在,想象一下以标准最小二乘解为中心的 RSS 椭圆,不断扩大,直到刚好触碰到这些区域之一的边界。

  • ​​对于岭回归的圆:​​ 边界处处光滑。这就像试图在一个球上平衡另一个球。接触点几乎可能在圆周上的任何地方,而恰好在坐标轴上(即某个系数为零)的可能性极小。因此,岭回归会将系数收缩至零,但会保留模型中的所有系数。

  • ​​对于 Lasso 的菱形:​​ 尖角很锐利且直接位于坐标轴上。这些尖角是“关注点”。随着 RSS 椭圆的扩大,它很有可能在其一个尖角处与菱形接触。而在尖角处会发生什么?例如,在尖角 (0,t)(0, t)(0,t) 处,系数 β1\beta_1β1​ 恰好为零!

这就是 Lasso 的几何秘密。L1L_1L1​ 惩罚区域的尖角充当了解的“吸引子”,为将系数设为零并执行特征选择提供了一个自然的机制。

拐点的微积分:向零的恒定推动

这个优美的几何图像在微积分的语言中有着精确的对应。让我们思考一下让一个系数稍微变大的“成本”。

对于岭回归,单个系数的罚项是 λβj2\lambda \beta_j^2λβj2​。其导数(边际成本)是 2λβj2\lambda\beta_j2λβj​。随着 βj\beta_jβj​ 越来越接近零,这个边际成本也越来越小,最终消失。当接近终点线时,向零的“推力”会减弱。

对于 Lasso,罚项是 λ∣βj∣\lambda|\beta_j|λ∣βj​∣。对于任何非零的 βj\beta_jβj​,其导数的大小是恒定的:要么是 +λ+\lambda+λ,要么是 −λ-\lambda−λ。这意味着,无论一个系数离零有多近,Lasso 都会持续施加一个恒定不变的推力来进一步收缩它。

但最有趣的部分恰好发生在零点。绝对值函数在零点有一个尖锐的“拐点”;它在该点不可微。在优化术语中,这个拐点创造了一个特殊条件。如果来自数据的“拉力”(由 RSS 的梯度衡量)不够强,无法克服固定的罚项 λ\lambdaλ,那么系数的解就可以变为恰好为零。如果一个特征的重要性不足以证明 λ\lambdaλ 的成本是合理的,它的系数就会干脆地变为零并保持不变。这就是几何角点背后的数学引擎。

实践效益:驯服复杂性与解决不可解问题

这种优雅的收缩和选择机制具有强大的实践意义。

首先,它是我们对抗过拟合的主要武器。随着我们增加罚项 λ\lambdaλ,我们系统地收缩我们的系数。这在我们的估计中引入了少量的​​偏差 (bias)​​——我们将它们从简单最小二乘拟合中的值拉开,因此可能离它们的真实值更远。但这是一个战略性的退让!作为增加少量偏差的交换,我们通常能极大地减少模型的​​方差 (variance)​​。一个更简单、更稀疏的模型对训练数据中的噪声不那么敏感,因此能更好地泛化到新数据,从而在测试集上获得更低的总预测误差。

其次,Lasso 让我们能够做普通最小二乘法(OLS)无法做到的事情:在特征多于观测值(p>np > np>n)时找到一个合理的解。在这种高维场景中,OLS 存在无限多个“完美”解,并且标准方法因一个关键的矩阵计算(XTXX^T XXTX)变得不可逆而失效。Lasso 通过增加罚项来对问题进行正则化。它强加了一种结构,迫使在无限可能性中做出选择,通常会产生一个唯一的、稀疏的且有用的解。这在基因组学等领域改变了游戏规则,在这些领域我们可能有数万个基因(特征),但只有几百名患者(观测值)。

经验法则:公平竞争环境的重要性

最后,一个至关重要的实践智慧。Lasso 罚项 λ∑∣βj∣\lambda \sum |\beta_j|λ∑∣βj​∣ 对所有系数一视同仁。它对 β1\beta_1β1​ 和 β2\beta_2β2​ 施加相同的惩罚。但如果特征 x1x_1x1​ 是房屋的面积(以平方英尺为单位,例如值在 1,000 到 5,000 之间),而 x2x_2x2​ 是卧室数量(例如值在 1 到 5 之间)呢?

为了在预测上达到相同的效果,房屋面积的系数必须远小于卧室数量的系数。因为 Lasso 惩罚的是系数的原始大小,它会不公平地惩罚在较大尺度上测量的特征。单位的选择将决定哪些特征被剔除,这显然不是我们想要的。

解决方法简单但至关重要:在应用 Lasso 之前​​标准化你的特征​​。这通常意味着转换每个特征,使其均值为零,标准差为一。这将所有特征置于一个公平的竞争环境中。现在,一个系数的大小反映了该特征在标准化尺度上的重要性,Lasso 罚项可以公平而有意义地发挥其作用。这就像在比赛开始前确保每个雕塑家的凿子都同样锋利。

应用与跨学科联系

理解了允许 Lasso 将系数精确设置为零的优雅几何和代数机制后,我们可能会倾向于将其视为一个巧妙的数学技巧。但它真正的美,如同任何伟大的物理定律一样,不在于其抽象的公式,而在于其惊人的效用和揭示我们周围世界隐藏结构的力量。Lasso 罚项不仅仅是一个算法;它是一个镜头,一种提出问题的新方式,其影响力辐射到人类探究的各个领域,令人眼花缭乱。

简约的艺术:从房价到电网

让我们从一个简单而熟悉的问题开始。什么决定了房屋的价格?一个热切的房地产分析师可能会将所有东西都扔进模型:房屋面积、房龄、位置、卧室数量,以及可能数十个其他特征,甚至细致到前门的颜色。一个传统的回归模型可能会尽职地为每个特征赋予一些微小的、非零的重要性。它会尽力利用一切,导致一个复杂而笨重的公式。

但如果我们怀疑自然——或者在这种情况下,是房地产市场——本质上更简单呢?如果前门的颜色只是噪声呢?这就是 Lasso 发挥作用的地方。通过施加其罚项,我们实际上是在对简单性进行一种哲学上的押注。我们告诉算法:“为我找到最简单的合理解释。如果你能在不使用前门颜色的情况下很好地解释房价,那么我宁愿你完全忽略它。”

当一个 Lasso 模型在训练后报告,“浴室数量”的系数是一个健康的正常数,而“门颜色”的系数恰好为零时,它正在做出一个深刻的陈述。它不是说门的颜色与价格完全没有关系;它是在说,它可能拥有的任何微小预测能力,都不值得为我们的模型增加另一个活动部件的“成本”。Lasso 充当了自动的奥卡姆剃刀,剔除了琐碎,揭示了本质。

这个原理不仅限于线性关系或预测房价。想象一下预测国家电网故障的高风险任务。工程师们从无数实时传感器收集数据:电压、电流、温度、湿度等等。我们可以将此问题构建为使用逻辑回归预测二元结果——故障或无故障。通过向逻辑回归目标函数添加 Lasso 罚项,我们可以再次要求模型识别出那一小撮关键的传感器读数,它们是停电的真正预兆,而忽略那些仅仅随着系统噪声波动的读数。同样的逻辑也适用于制造过程,我们可能使用泊松回归来模拟半导体批次中的缺陷数量。Lasso 可以帮助确定哪些环境因素,如温度偏差,是真正导致缺陷的原因,哪些是无关紧要的。在每种情况下,Lasso 罚项都是一个通用工具,一个可以“插入”不同统计引擎以强制实现稀疏性和清晰度的模块化组件。

驯服九头蛇:高维世界中的特征选择

当我们要面对的不是几十个,而是成千上万甚至数百万个潜在特征时,Lasso 的真正威力就显现出来了。这就是所谓的“维度灾难”,一个变量数量 ppp 远超观测数量 nnn 的世界。在这里,传统方法完全失效,但 Lasso 却能大显身手。

考虑构建一个允许变量间交互作用的复杂模型。如果我们从仅仅 d=10d=10d=10 个基本预测变量开始,并希望考虑它们所有最高到 3 次的组合(如 x13x_1^3x13​、x1x2x_1x_2x1​x2​ 或 x1x2x3x_1x_2x_3x1​x2​x3​),潜在特征的数量会从 10 个爆炸性增长到 286 个!。这些复杂的交互作用中的大多数将是无关紧要的。Lasso 提供了一种自动化的方法来筛选这个组合的草堆,识别出少数真正重要的交互项,并丢弃其余的。有趣的是,标准的 Lasso 将这些项中的每一项都视为一个独立的候选者。这可能导致模型发现交互项 x1x2x_1 x_2x1​x2​ 很重要,同时却判定主效应 x1x_1x1​ 和 x2x_2x2​ 本身不重要——这一特性催生了强制执行这种层次结构的 Lasso 特殊变体。

在现代生物学中,这一挑战尤为明显,且风险更高。想象一位遗传学家正在寻找一种疾病的根本原因。数据可能来自 100 名患者的 RNA 测序矩阵,包含 20,000 个不同基因的表达水平。遗传学的核心信念通常是稀疏性:一种特定的疾病是由少数基因的功能失常驱动的,而不是所有基因的微小变化。这正是 Lasso 的完美战场。它可以在 20,000 个基因中进行扫描,并提名一小部分可管理的候选基因进行进一步研究。它将一个不可能的搜索问题转变为一个有希望的科学线索。

然而,同样的生物学背景也教会我们关于 Lasso 的特性——它的优点和缺点。当真实信号稀疏且不强相关时,Lasso 表现最佳。如果一种疾病是高度多基因的,由数千个基因引起,每个基因效应微乎其微,那么 Lasso 对稀疏性的偏好将成为一个缺点。同样,如果致病基因都属于单一的生物通路,并且它们的表达水平高度相关,标准的 Lasso 可能会任意地从该组中选择一个基因并丢弃其他基因。理解这些局限性促成了一个建立在 Lasso 基础之上的更丰富的工具生态系统。

Lasso 家族:一套解决细微问题的工具包

简单的 L1 罚项是一个庞大且不断增长的正则化技术家族的鼻祖,每个技术都旨在解决一个更细微的问题。

  • ​​Elastic Net:​​ 如果我们遇到高度相关的预测变量,而 Lasso 在此情况下表现不佳,该怎么办?Elastic Net 是一个优美的折衷方案。它将 Lasso 的 L1 罚项与其近亲 Ridge 回归的 L2 罚项相结合。Ridge 罚项在处理相关特征方面非常出色——它倾向于将它们的系数一同收缩——但它从不将它们设置为零。Elastic Net 则兼得两家之长:它能像 Lasso 一样进行特征选择,但在处理成组的相关特征时更加稳定和有效。

  • ​​Group Lasso:​​ 有时特征具有自然的分组。一个像“地区”这样的分类变量可能会被编码成几个“虚拟”变量(例如,‘是北方’,‘是南方’,‘是西方’)。我们不希望独立地决定‘是北方’是否重要,而不考虑‘是南方’。我们想问的问题是:“地区作为一个整体,是否重要?” Group Lasso 通过修改罚项来回答这个问题。它将虚拟变量的系数捆绑在一起,并对这个捆绑包的欧几里得范数施加惩罚。结果是,整组系数要么被同时保留,要么被同时设置为零,从而尊重了数据的内在结构。

  • ​​Robust Lasso:​​ 如果我们的数据很乱,包含奇怪的离群值该怎么办?标准的 Lasso 最小化平方误差,可能会被一个极端不正确的数据点所干扰。但 Lasso 罚项本身只是目标函数的一部分。我们可以将平方误差损失换成更稳健的东西,比如 Huber 损失,它对离群值不那么敏感。由此产生的“稳健 Lasso”可以同时选择重要特征并保护自己免受数据污染,从而在现实世界中为我们提供一个更可靠的模型。

  • ​​Multi-Task Lasso:​​ 也许最优雅的扩展是用于多任务学习。想象一下,试图利用患者的遗传信息来预测他们对一种药物的反应。现在,想象你有几种不同药物的数据。这些是相关的任务。很可能同一组基因对所有这些药物都很重要。我们能否同时学习所有模型,共享信息并强制它们选择相同的特征?答案是肯定的。通过将所有任务的系数组织成一个矩阵,并应用混合范数惩罚(各行 L2 范数之和),我们可以鼓励这个矩阵的整行变为零。这意味着,一个给定的基因要么被认为对所有任务都无关紧要,要么被包含进来以供所有任务潜在使用。这个非凡的想法展示了 L1 正则化原理深远的统一力量。

超越预测:Lasso 在可操作洞见中的应用

最后,Lasso 的旅程将其从被动预测的领域带到了主动决策的世界。考虑一家公司试图决定哪些客户应该收到广告。目标不仅仅是预测谁会购买产品,而是识别那些广告会促使他们购买的客户——那些摇摆不定的人。

这是一个估计异质性处理效应的问题:即“处理”(广告)的效果如何因人而异?通过进行随机实验和使用巧妙的模型设定,我们可以使用 Lasso 找到一个近似这种因果效应的稀疏线性规则。模型可能会发现,广告对具有特征 x1x_1x1​ 和 x5x_5x5​ 的客户最有效,但对其他人则不然。这为公司提供了一个简单、可解释且有利可图的定向策略:“只向符合此特征的客户投放广告”。在这里,Lasso 不仅仅是在描述世界;它还在为如何在这个世界中行动提供处方。

从寻找房价的关键驱动因素到发现致病基因,再到设计利润最大化的商业策略,Lasso 罚项已被证明是现代数据分析中最重要的思想之一。它证明了一个简单的数学原理如何能为一个复杂且数据丰富的世界带来清晰性、可解释性和可操作的洞见。