
在统计建模和机器学习的广阔领域中,构建一个既准确又可解释的模型所面临的挑战至关重要。这一挑战的一个关键部分是变量选择:选择哪些特征纳入模型,以最大化预测能力,同时避免过拟合的陷阱。虽然标准 LASSO(最小绝对收缩和选择算子)因其通过将不重要的单个系数归零来产生稀疏模型的能力而成为一种备受赞誉的工具,但其方法存在一个关键限制。它将每个变量都视为独立的候选者,然而在许多现实世界的问题中,变量并非个体,而是只有在集体中才有意义的团队成员。
本文旨在通过深入探讨组 LASSO 来弥补这一不足。组 LASSO 是一种强大的扩展方法,它尊重并利用了数据中预定义的组结构。它回答了这样一个问题:我们如何能以“全有或全无”的方式选择或舍弃整组变量?首先,在“原理与机制”一章中,我们将探索组 LASSO 优雅的数学公式,将其混合范数惩罚与标准 LASSO 的惩罚进行对比,并揭示驱动其组级别选择的块软阈值机制。然后,在“应用与跨学科联系”一章中,我们将穿越不同的科学领域,见证该方法如何提供一种将结构性知识嵌入模型的语言,从而解决从遗传学、神经科学到深度学习等领域的问题。
要真正领会组 LASSO 的精妙之处,我们必须从一个更简单、更熟悉的概念开始。想象你是一位科学家,试图建立一个模型来预测某种现象——比如,一个学生的期末考试成绩。你拥有海量的潜在解释变量:学习时长、以往成绩、出勤率,甚至可能包括学生的专业。构建一个好模型的艺术不仅在于使用数据,还在于选择正确的变量。包含不相关的变量,即“噪声”,可能会降低模型在预测新结果时的准确性,我们称此问题为过拟合。
自动化变量选择的经典工具是 LASSO,即最小绝对收缩和选择算子。其精妙之处在于在模型拟合过程中增加了一个惩罚项。它不仅仅最小化预测误差,还试图最小化所有系数绝对值之和,这个量被称为 范数。这个惩罚项 就像一个预算。为了使一个系数非零,模型必须“花费”其部分预算。由于 惩罚项的几何形状呈尖锐的菱形,最具成本效益的解常常涉及将许多系数精确地设为零。本质上,LASSO 举行了一场选举,每个候选变量都必须证明其个体价值才能被纳入最终模型。
但是,当某些变量不是个体,而是团队成员时,会发生什么呢?思考我们学生分数示例中的“专业”变量。一个学生可以是“理工科”、“人文学科”或“商科”。要将此变量纳入线性模型,我们需创建哑变量。例如,我们可能有一个变量,当专业为“人文学科”时取值为 1,否则为 0;另一个变量则对应“商科”。“理工科”专业则成为基线。现在我们有两个系数, 和 ,它们共同代表学生专业的影响。
如果在这里应用标准 LASSO,它可能会认为 不重要并将其设为零,但保留 。这样模型区分的就是“商科”与一个“理工科/人文学科”的混合组。这可能不是我们的初衷。我们最初的问题更简单:“学生的专业到底重不重要?”我们希望将代表“专业”的哑变量视为一个不可分割的整体。我们希望它们要么一起进入模型,要么一起被排除在模型之外。这正是 LASSO 的民主化、个体化方法的不足之处。我们需要一个新的原则,一个能够识别并强制执行团队合作的原则。
这就是组 LASSO 背后的核心思想。它修改了惩罚项,以尊重我们数据中预定义的结构。我们不再单独惩罚每个系数,而是将它们分组,并惩罚每个组的集体强度。我们寻求最小化的目标函数呈现出一种新形式:
让我们来剖析这个优美的数学公式。向量 包含所有属于特定组 的系数。项 是欧几里得范数(或 范数),它衡量该组中系数的整体大小——可以将其想象为该组的“体量”或“能量”。外部的和 是一种 风格的惩罚,但它不作用于单个系数,而是作用于这些组的强度。 是我们可以赋给每个组的权重,我们稍后会回到这一点。
这种“混合范数”惩罚具有深远的影响。内部的 范数就像一根绳子,将一个组的系数捆绑在一起。它不关心单个值,只关心它们的集体大小。而外部的 范数则在组的层面上产生稀疏性。它迫使模型为每个组做出选择:要么该组作为一个整体具有足够的预测能力,值得付出其惩罚的代价;要么其整个系数向量 被设为零。这正是赋予组 LASSO 力量的“全有或全无”的赌注。
从几何上看,标准 LASSO 的约束区域在每个变量的坐标轴上都有尖点,而组 LASSO 的约束区域仅在每个组的子空间的原点处有尖点。对于一个包含两个系数的组,其单位球不是菱形,而是一个圆形。对于一个三系数的组,它是一个球体。优化过程很容易将整个组设为零(一个锥形体的顶点),但一旦一个组被激活,球体内部就没有特殊的“角点”会迫使组内任何单个系数归零。
这种分组策略异常强大,其用途远不止处理哑变量。想象你是一名天体物理学家,拥有一组望远镜,都对准同一颗遥远的恒星,每台望远镜都在测量其亮度。由于大气干扰,任何单个望远镜的信号可能都微弱且充满噪声。标准 LASSO 单独评估每台望远镜的数据,可能会得出结论,认为它们都无用并全部舍弃。
然而,组 LASSO 可以被告知这些望远镜构成一个组。通过使用 范数,它聚合了该组中所有望远镜的信息。即使每个独立仪器的信号都隐藏在噪声中,当汇集在一起时,集体信号也可能变得强大而清晰。在标准 LASSO 只听到一群窃窃私语的地方,组 LASSO 听到了一个合唱团。
在问题 的一个思想实验中,就捕捉到了这种现象。如果我们有几个高度相关的特征(就像我们的望远镜),它们各自与结果的相关性可能低于 LASSO 的选择阈值 。然而,它们联合相关向量的范数 可以轻易超过该阈值,从而使组 LASSO 正确地识别出该组的重要性。组的统一性赋予了它任何单个成员都不具备的力量。当组 LASSO 激活这样一组相同的特征时,它会通过将系数的大小平均分配给它们,完美地解决了这种模糊性,反映了它们的共同贡献 [@problem_id:3449712, statement D]。
数学上究竟是如何实现这种优雅的选择的?其机制可以通过近端算子(proximal operator)的概念来理解,这是现代优化算法中的一个核心构件。你可以把它想象成一个专门的“收缩”或“去噪”机器。在算法的每一步,我们取一个临时的解,并将其通过这个算子,算子会将其推向更满足惩罚项结构要求的方向。
对于组 LASSO,这台机器执行一种称为块软阈值(block soft-thresholding)的操作。对于每组系数 ,该算子执行以下计算:
这里, 表示 。让我们来分解这个优雅的公式:
这个单一而优美的方程完美地概括了“全有或全无”的行为。它正是驱动组 LASSO 的引擎。这一机制是基本的 Karush-Kuhn-Tucker (KKT) 最优性条件的直接结果,该条件指出,对于一个未被激活的组,损失函数关于该组的梯度大小必须低于阈值,即 。
组 LASSO 的基本原理是通向更复杂、更强大思想的跳板。
公平性与加权:如果组的大小不同怎么办?一个有 20 个成员的组自然比一个只有 2 个成员的组有优势,因为仅仅由于偶然性,其 范数就可能更大。这不公平。为了创造公平的竞争环境,我们可以使用权重 。一个常见且有原则的选择是设 ,其中 是组 的大小。这种调整确保在“无效应”的零假设模型下,每个组,无论其大小如何,都有相同的概率被偶然选中。这为选择过程恢复了一种公平感。
重叠组:大自然很少为我们提供整齐、不相交的类别。在遗传学中,一个基因可能参与多个生物学通路。这就引出了重叠组 LASSO 的思想,即一个变量可以同时属于多个组。惩罚项仍然是各组 范数的和,但由于问题不再是可分的,其底层数学变得更加复杂。现在的目标是找到一个稀疏的组集合,这个集合能够共同解释重要的变量。
组内稀疏性:组 LASSO 强制进行二元选择:要么整个组被选中,要么整个组被剔除。但如果我们相信在一个重要的组内,只有少数成员是真正必不可少的,该怎么办?为此,我们可以求助于稀疏组 LASSO。它的惩罚项是一个优美的综合体,是标准 LASSO 和组 LASSO 惩罚项的加权平均:
参数 就像一个调节旋钮。当 时,我们得到纯粹的 LASSO。当 时,我们得到纯粹的组 LASSO。对于介于两者之间的值,我们能兼得两者的优点:组之间的稀疏性和组内部的稀疏性。它使我们能够选择重要的团队,然后再从这些团队中选出明星球员。这种非凡的灵活性展示了核心思想的深远统一性和可扩展性:通过设计惩罚项,我们可以塑造我们的模型,使其尊重我们试图理解的世界的内在结构。
在前面的讨论中,我们熟悉了组 LASSO 的机制。我们了解了它是如何工作的——如何将系数捆绑在一起并决定它们的集体命运。但一台机器的趣味性取决于它能解决的问题。现在,我们将踏上一段更激动人心的旅程。我们将进入科学和工程的广阔领域,去看看这个巧妙的工具在何处真正大放异彩。我们会发现,组 LASSO 不仅仅是一种实现稀疏性的统计技巧;它是一种语言,一种让我们能够将关于问题的直觉和结构性知识直接嵌入模型中的强大方式。它是我们对世界的理解与我们用以描述世界的数学之间的桥梁。
组 LASSO 的威力始于一个简单而优雅的观察:有时,变量不是特立独行的个体,而是团队的成员。它们的重要性是集体性的。
想象一下,你正在建立一个预测房价的模型,其中一个预测变量是房屋所在的区域,比如“东”、“南”、“西”、“北”。要将这个变量输入回归模型,你通常会创建几个“哑”变量。你可能会有一个变量,当区域为“北”时取值为 1,否则为 0;另一个变量对应“南”,以此类推。关键的洞察在于,这些变量不是独立的实体。得出结论说“北”的哑变量重要,而“南”的不重要,这毫无意义。这个特征是区域,作为一个整体。这是一个全有或全无的命题:要么区域重要,要么不重要。组 LASSO 正是解决这个问题的完美工具。通过将单个分类特征的所有哑变量的系数放入一个组中,它确保了它们要么全部保留在模型中,要么全部一起被移除,从而尊重了特征本身的逻辑。
这种“团队成员”的概念远不止应用于哑变量。设想一位生物学家试图预测作物产量。可用数据可能可以被划分为自然类别:一组关于土壤成分的测量数据(pH 值、氮、磷)和另一组关于天气的数据(温度、降雨量)。一个完全合理的假设是,所有土壤测量数据共同重要,或者可能整套天气数据才是真正驱动产量的因素。组 LASSO 让我们能够形式化这个假设。通过将土壤变量和天气变量的系数分别分组,我们让模型来决定是“土壤团队”还是“天气团队”(或两者皆是,或两者皆非)应该上场。
当我们转向更复杂的模型时,这个想法的真正灵活性就显现出来了。假设我们认为一个变量的影响不是一条简单的直线。我们可以给模型一个灵活的“绘图工具”,比如一组样条基函数,来描绘出复杂的非线性关系。这个绘图工具有几个“旋钮”——即基函数的系数。同样,这些旋钮只有作为一个整体才有意义。组 LASSO 让我们能够将单个变量的样条展开式的所有系数捆绑到一个组中。然后,模型可以执行一种更强大的变量选择形式:它可以决定一个变量是否重要到需要用一条复杂的曲线关系来表示,或者它根本没有影响。如果该组的范数被收缩到零,整个灵活的函数就会从模型中消失,这实际上告诉我们相应的预测变量是无关紧要的。
“组”的概念具有极好的可塑性。只要有一点创造力,我们就可以用它来编码更为复杂的科学原理。
一个绝佳的例子来自统计遗传学。在为受许多基因影响的性状建模时,我们可能不仅考虑每个基因的主效应,还考虑它们之间的相互作用。这里一个基本概念是层次性原则:人们普遍认为,除非两个基因的主效应也存在于模型中,否则不应包含它们之间的相互作用。我们如何能鼓励模型尊重这一点?使用重叠组!对于每个基因,我们可以创建一个组,包含其主效应系数以及所有涉及该基因的相互作用系数。如果组 LASSO 剔除了这个组,它会同时移除该基因的主效应及其所有相关的相互作用。这优雅地强制实施了层次性原则的一个版本,防止模型在组成部分不显著的情况下声称一个相互作用是显著的。
世界充满了并非以简单列表形式存在,而是存在于网络上的数据。想想在不同大脑区域测量的脑活动、散布在景观中的温度传感器,或社区中的社交联系。数据点之间的关系——它们的连通性——是数据本身的一部分。我们可以利用这种图结构来定义我们的组。例如,我们可以为每个节点形成一个由其自身及其直接邻居组成的组。将组 LASSO 应用于这些基于邻域的组,会鼓励产生“集群化”的解——即活动集中在图的连通区域。这使我们能够在网络数据中发现局部模式和热点,这是从神经科学到地理学等领域的核心任务。
一旦我们掌握了核心思想——强制执行共同命运——我们就会开始看到处处都有应用它的机会。它成为一个统一的视角,用来审视那些表面上看起来非常不同的问题。
一个强大的范式是多任务或*多模态学习*。想象一下,你正试图同时解决几个相关的问题,例如,基于同一组准备因素来预测一个学生在数学、物理和化学上的考试成绩。你可能相信,对这三门科目来说,重要因素的核心集合是相同的。我们可以通过将每个因素在三个回归模型中的系数分组来强制执行这一信念。组 LASSO 随后将倾向于为所有三门科目选择某个因素,或者完全不选,从而鼓励一个共享的、稀疏的重要预测因子集合。
这一原理在计算系统生物学中有着惊人的应用。假设我们拥有细胞中 RNA 转录本和蛋白质的时间序列数据,并且我们想要发现支配它们动态变化的底层微分方程。这是描述同一生物系统的两种不同“模态”。我们可以假设,支配规律的结构形式对两者来说是相同的,即使具体的速率常数(系数)不同。对于候选方程中的每一个可能项(例如,, , ),我们可以将其在 RNA 模型中的系数与在蛋白质模型中的系数分为一组。组 LASSO 随后将联合地为两种模态选择或剔除这些项,从而揭示出一种共享的调控架构,而这种架构如果分开分析数据是无法看到的。
这种结构化建模的精神也出现在许多其他领域:
深度学习:在压缩大型神经网络时,我们不仅仅想消除随机的权重。我们希望移除整个结构组件,比如卷积神经网络中的滤波器。每个滤波器都是权重的集合。通过将每个滤波器视为一个组,组 LASSO 可以执行*结构化剪枝*,将整个滤波器归零,从而得到明显更小更快的模型。
逆问题:在地球物理学或医学成像等领域,我们常常试图从少量、稀疏的测量数据中重建系统的高分辨率图像。这被称为数据同化。我们可以将物理模型(我们的“先验信念”)与传感器数据结合起来。如果我们相信对模型所需的校正不是随机的,而是结构化的——比如说,整个参数区域需要一起调整——我们可以将这些参数分组,并使用组 LASSO 让数据来识别我们模型的哪些结构块需要更新。
也许组 LASSO 最深刻的应用揭示了数学本身一种深刻而出人意料的统一性。从一个列表中选择重要的基因,与为推荐系统在用户电影评分中找到最简单的潜在模式,这两件事还能有什么比这更不相同的呢?
后一个问题通常被表述为寻找海量、稀疏的用户评分矩阵的“低秩”近似。矩阵的秩是其“复杂度”的一种度量。一个低秩矩阵意味着只有少数几个潜在因素或“品味”可以解释所有的评分。寻找低秩矩阵的主力方法是最小化核范数,它就是矩阵奇异值的总和。
现在,奇迹发生了。让我们不从标准坐标系看待矩阵,而是从其奇异值分解(SVD)定义的特殊坐标系来看。在这个基底下,矩阵变成对角矩阵,其对角线上的元素是奇异值。如果我们对奇异值向量应用组 LASSO 惩罚,其中每个奇异值都是其自己的、大小为一的微小组,会发生什么?惩罚项变成了奇异值绝对值之和:。这恰好是核范数的定义!
这意味着通过最小化核范数来寻找低秩矩阵,在数学上等同于对其奇异值应用组 LASSO。矩阵的秩就是非零组的数量。我们熟悉的用于在向量中强制实施结构化稀疏性的工具,从另一个角度看,正是用于在矩阵中强制实施结构化简单性(低秩)的同一个工具。同一个优美的原理支配着这两个世界。
因此,组 LASSO 远不止是一种统计方法。它是一种用以编码我们对问题结构假设的语言。它使我们能够构建不仅具有预测性,而且可解释、紧凑并与我们的科学理解相一致的模型。它寻找简单的解释,但它明白“简单性”的本质完全取决于手头问题的结构。