try ai
科普
编辑
分享
反馈
  • 广义奇异值分解

广义奇异值分解

SciencePedia玻尔百科
核心要点
  • GSVD 通过提供一个能同时简化两个线性变换的共同基,揭示了它们作用之间的关系,从而推广了 SVD。
  • 广义奇异值表示两个矩阵作用强度的比率,从而可以根据哪个变换占主导地位来对输入空间进行分类。
  • GSVD 是解决 Tikhonov 正则化问题的基本数学工具,它通过将复杂问题转化为一系列由滤波器因子控制的、简单的、独立的标量问题。
  • 该框架的应用超越了正则化,延伸到判别分析和约束优化等不同领域,通常通过求解一个广义瑞利商来实现。

引言

许多科学和工程挑战涉及的不是一个,而是两个相互竞争的线性变换。虽然标准奇异值分解(SVD)为理解单个矩阵提供了强有力的视角,但当我们需要分析两个矩阵之间的关系时,例如在拟合数据的同时强制施加平滑约束,SVD 就显得力不从心了。本文旨在通过介绍广义奇异值分解(GSVD)来弥补这一不足,GSVD 是 SVD 的一个强大扩展,专为处理成对矩阵而设计。读者将踏上一段探索这一优雅数学框架核心概念的旅程。首先,“原理与机制”一章将通过把 GSVD 与我们熟悉的 SVD 联系起来,建立直观理解,揭示它如何建立一个共享坐标系来平衡两个变换。接下来,“应用与跨学科联系”一章将展示 GSVD 如何为复杂问题提供实际解决方案,从对地球物理学中的不适定反问题进行正则化,到在金融领域进行判别分析。

原理与机制

要真正理解科学中任何一个强大的思想,我们必须剥开形式主义的层层外衣,凝视赋予其生命的核心原理。广义奇异值分解(GSVD)亦是如此。它不仅仅是数值线性代数教科书中一个复杂的算法,更是关于两种不同变换方式之间关系的深刻陈述。

以熟悉的世界为向导

让我们从熟悉的基础开始。我们中许多人都接触过标准奇异值分解(SVD)。SVD 就像一副可以透视单个矩阵(比如 AAA)的X光眼镜。矩阵 AAA 将向量从一个空间移动到另一个空间。这个作用可能是一系列复杂的旋转、反射和拉伸。SVD 告诉我们,我们总可以在输入空间中找到一组特殊的垂直(正交)基向量,并在输出空间中找到另一组,使得矩阵 AAA 沿着这些特殊方向的作用简化为纯粹的“拉伸”或“收缩”。它将一个复杂的作用分解为一系列简单、独立的作用。

但是,如果我们对作用于同一输入空间的两个变换 AAA 和 BBB 感兴趣,该怎么办?想象一位医生试图解读同一位患者的两种不同类型的医学扫描(比如 X 射线和 MRI)。这两种扫描由矩阵 AAA 和 BBB 表示,测量的是同一底层解剖结构 xxx 的不同属性。我们能否找到一个单一的“解剖学基”,使得它对于 X 射线和 MRI 来说都足够简单?

这正是 GSVD 回答的问题。为了建立直观理解,让我们考虑一个简单的情况。如果我们的第二个变换 BBB 是可以想象的最基本的一种:单位矩阵,L=IL=IL=I?单位矩阵什么也不做;它让每个向量保持不变。在这种情况下,我们是在将 AAA 的作用与“无”作用进行比较。GSVD 在此场景下理应简化。事实确实如此!可以证明,矩阵对 (A,I)(A, I)(A,I) 的 GSVD 直接简化为 AAA 的标准 SVD。我们稍后会见到的“广义”奇异值,在这种情况下就变成了 AAA 的普通奇异值。这是一个至关重要的线索。GSVD 并非一个陌生的概念;它是我们熟悉的朋友一个自然、优美的延伸。

共享坐标系

GSVD 的真正力量在于它提供了一个共同的基础,一个共享的坐标系,能够优雅地描述两个矩阵 AAA 和 BBB 的作用。它告诉我们,我们总可以为输入空间找到一个特殊的基(我们称基向量为 x1,x2,…,xnx_1, x_2, \dots, x_nx1​,x2​,…,xn​,它们构成一个可逆矩阵 XXX 的列),并为输出空间找到两组正交基向量(AAA 对应 uiu_iui​,BBB 对应 viv_ivi​),使得这两个变换被极大地简化。完整的分解形式写作:

A=UCX−1和B=VSX−1A = U C X^{-1} \quad \text{和} \quad B = V S X^{-1}A=UCX−1和B=VSX−1

在这里,UUU 和 VVV 是正交矩阵,其列是特殊的输出基,CCC 和 SSS 是包含缩放因子的对角矩阵。这看起来很复杂,但其含义却既简单又深刻。它表明,如果你取我们特殊输入向量中的一个 xix_ixi​,应用 AAA 的结果仅仅是特殊输出向量 uiu_iui​ 乘以一个数 cic_ici​。类似地,将 BBB 应用于同一个 xix_ixi​ 会得到输出向量 viv_ivi​ 乘以 sis_isi​。所有复杂的扭曲和旋转都消失了,只剩下简单的缩放。

但最美妙的部分是这些缩放因子之间隐藏的关系。对于每个方向 xix_ixi​,标量 cic_ici​ 和 sis_isi​ 由一个简单而优雅的规则联系在一起:

ci2+si2=1c_i^2 + s_i^2 = 1ci2​+si2​=1

这让人联想到勾股定理!它意味着对于任何给定的方向 xix_ixi​,“作用强度”在 AAA 和 BBB 之间被分配。如果 AAA 强烈地作用于 xix_ixi​(因此 cic_ici​ 接近 1),那么 BBB 必定弱地作用于它(sis_isi​ 必定接近 0),反之亦然。就好像每个基向量都拥有有限的“被作用潜能”,而 AAA 和 BBB 必须共享这份潜能。这一个方程就是 GSVD 所揭示的统一性的核心。

强度之比:广义奇异值

有了这个共享坐标系,我们现在可以定义主角:​​广义奇异值​​,用 γi\gamma_iγi​ 表示。它们就是缩放因子的比率:

γi=cisi\gamma_i = \frac{c_i}{s_i}γi​=si​ci​​

这个比率有一个非常直观的含义:γi\gamma_iγi​ 衡量了在特殊方向 xix_ixi​ 上,AAA 的作用相对于 BBB 的作用的强度。如果 γi\gamma_iγi​ 很大,则方向 xix_ixi​ 由 AAA “主导”。如果 γi\gamma_iγi​ 很小,则它由 BBB 主导。

这个简单的比率让我们能够完全理解这两个变换的结构。在极端情况下会发生什么?

  • ​​无限的 γi\gamma_iγi​​​:假设我们找到一个方向 xix_ixi​,它被 BBB 完全消除(即 Bxi=0B x_i = 0Bxi​=0),但未被 AAA 消除。用我们的新语言来说,这意味着 si=0s_i = 0si​=0 且 ci=1c_i = 1ci​=1。比率 γi=1/0\gamma_i = 1/0γi​=1/0 变为无限大。这不是一个错误;这是一个极其重要的信息。它告诉我们,这个方向 xix_ixi​ 完全存在于 AAA 的世界中,对 BBB 是不可见的。GSVD 能为我们找到这些方向。
  • ​​零 γi\gamma_iγi​​​:相反,如果一个方向 xix_ixi​ 被 AAA 消除但未被 BBB 消除,那么 ci=0c_i=0ci​=0,si=1s_i=1si​=1,且 γi=0\gamma_i = 0γi​=0。这个方向对于 BBB 的重要性无限大于对 AAA 的重要性。
  • ​​未定义的 γi\gamma_iγi​​​:如果一个方向 xix_ixi​ 被 AAA 和 BBB 同时消除呢?这意味着 xix_ixi​ 位于两个变换的公共零空间中。在这种情况下,ci=0c_i=0ci​=0 且 si=0s_i=0si​=0,比率是未定义的。这些是我们的两个测量过程都无法“看见”的方向。

因此,GSVD 根据输入空间如何被 AAA 和 BBB “看见”,提供了一个完整而优雅的分类,将其划分为四个基本子空间。它找到了由 AAA 主导的方向,由 BBB 主导的方向,两者都不可见的方向,以及它们相互竞争的方向。这种结构性洞见在实践中通常通过求解一个相关的​​广义特征值问题​​来获得,即寻找向量 xxx 和标量 μ\muμ 满足 A⊤Ax=μB⊤BxA^\top A x = \mu B^\top B xA⊤Ax=μB⊤Bx。结果得到的特征值 μi\mu_iμi​ 正好是我们广义奇异值的平方,即 μi=γi2\mu_i = \gamma_i^2μi​=γi2​。

正则化的引擎

这个优美的数学结构不仅仅是学术上的好奇心。它为解决科学和工程领域最普遍的问题之一——不适定反问题——提供了完美的引擎。

再次想象我们的医生试图从含有噪声的测量数据 bbb 中重建图像 xxx,它们之间的关系是 Ax=bA x = bAx=b。如果测量过程 AAA 是病态的,这意味着图像中的某些方向被测量得非常微弱。当我们试图重建图像时,测量数据中的任何噪声都会在这些微弱方向上被极度放大,产生一个剧烈振荡、毫无意义的结果。

为了解决这个问题,我们使用​​Tikhonov 正则化​​。我们寻找一个解 xxx,它不仅要拟合数据(使 ∥Ax−b∥2\|Ax-b\|^2∥Ax−b∥2 尽可能小),而且还要“表现良好”(使一个额外的惩罚项 λ2∥Lx∥2\lambda^2 \|Lx\|^2λ2∥Lx∥2 尽可能小)。矩阵 LLL 编码了我们对于一个“好”解应该是什么样子的先验信念。例如,如果我们选择 LLL 为一个微分算子,我们就是在说我们偏爱没有剧烈振荡的平滑解。我们现在面临一个经典的两难境地:我们想满足两个相互竞争的目标,一个由 AAA 定义,一个由 LLL 定义。

这正是矩阵对 (A,L)(A, L)(A,L) 的 GSVD 生来要解决的问题。通过变换到 GSVD 提供的共享坐标系,这个复杂的优化问题解耦成一系列简单、独立的标量问题。解 xλx_\lambdaxλ​ 可以写成在特殊基向量 ziz_izi​ 上的和:

xλ=∑i=1ncici2+λ2si2⏟滤波器因子×ci(ui⊤b)zix_{\lambda} = \sum_{i=1}^{n} \underbrace{\frac{c_i}{c_i^{2} + \lambda^{2}s_i^{2}}}_{\text{滤波器因子} \times c_i} (u_i^{\top} b) z_ixλ​=i=1∑n​滤波器因子×ci​ci2​+λ2si2​ci​​​​(ui⊤​b)zi​

让我们仔细看看这个公式。项 (ui⊤b)(u_i^\top b)(ui⊤​b) 表示我们测量数据中对应于第 iii 个基方向的分量。神奇之处在于​​滤波器因子​​,它可以用我们的广义奇异值 γi=ci/si\gamma_i = c_i/s_iγi​=ci​/si​ 优美地表达:

ϕi(λ2)=ci2ci2+λ2si2=γi2γi2+λ2\phi_i(\lambda^2) = \frac{c_i^2}{c_i^2 + \lambda^2 s_i^2} = \frac{\gamma_i^2}{\gamma_i^2 + \lambda^2}ϕi​(λ2)=ci2​+λ2si2​ci2​​=γi2​+λ2γi2​​

这个小小的因子是控制解的旋钮。

  • 如果 γi\gamma_iγi​ 很大(该方向对 AAA 很重要,且不被 LLL 严重惩罚),则滤波器因子 ϕi\phi_iϕi​ 接近 1。我们信任这个分量,让它通过进入我们的解中。
  • 如果 γi\gamma_iγi​ 很小(该方向被 AAA 测量得很弱,或者对应于 LLL 认为“不期望”的东西,如高频噪声),则滤波器因子 ϕi\phi_iϕi​ 接近 0。我们抑制这个分量,将其从我们的解中过滤掉。

正则化参数 λ\lambdaλ 设定了我们认为“小”的阈值。GSVD 给了我们一把“谱解剖刀”,让我们能够根据我们的测量矩阵 AAA 和正则化矩阵 LLL 的综合属性,精确地切除那些被噪声污染的解的分量。这比仅仅使用 AAA 的 SVD 是一种远为复杂和有针对性的方法。它允许我们基于问题的物理特性(在 AAA 中)和我们对解的先验知识(在 LLL 中)来设计我们的滤波器。

当然,要在有限精度的计算机现实世界中释放这种力量,需要非常小心。幼稚的算法可能导致分解赖以发挥作用的特性(如正交性)的丧失。现代数值方法依赖于稳定的技术,如 Householder 变换和仔细的问题预缩放,以确保数学之美能转化为可靠的答案。

总而言之,广义奇异值分解提供了一个深刻的框架,用于理解和操控两个线性变换之间的相互作用。它揭示了一种隐藏的统一性,一种共享的结构,一旦被理解,就为我们提供了完美的语言和工具来解决冲突、寻求平衡——无论是在抽象的向量空间中,还是在透过测量噪声清晰视物的实际探索中。

应用与跨学科联系

我们已经探索了广义奇异值分解的抽象架构。诚然,它是一件优雅的数学机械。但它究竟有何用处?只有当我们看到一个美丽的工具在工作中将原材料塑造成有价值的东西时,才能真正欣赏它。GSVD 的真正魔力不在于其形式化的定义,而在于它能够为横跨科学、工程乃至金融领域的众多问题提供清晰的洞见和解决方案。事实证明,许多复杂的问题,一旦你从正确的角度看待它们,本质上都是关于平衡两个相互竞争的标准或比较两种不同视角的问题。而对于这类问题,GSVD 正是完美的语言。

看见不可见之物的艺术:正则化与反问题

科学中许多最引人入胜的问题都是“反问题”。我们无法直接看到地核、病人体内或过去的气候。相反,我们测量一些间接效应——地震波的传播时间、X射线的衰减、冰芯的化学成分——然后试图反向推断其原因。我们有一个模型,称之为 AAA,它告诉我们世界的一种状态 xxx 如何产生数据 bbb。我们的任务是在给定一些带噪声的 bbb 的测量值的情况下,找出 xxx。

麻烦的是,这些问题通常是“不适定的”。我们测量中的一点点噪声都可能导致对 xxx 的重建结果产生巨大差异、毫无意义。为了驯服这种不确定性,我们必须引入一个“正则化”惩罚。我们寻找一个解 xxx,它不仅要拟合数据(即最小化 ∥Ax−b∥2\|Ax - b\|^2∥Ax−b∥2),还要满足我们对世界所持有的某种先验信念。例如,我们可能认为解应该是“平滑”或“简单”的。我们可以用另一个算子 LLL 来编码这种信念,并设法使 ∥Lx∥2\|Lx\|^2∥Lx∥2 保持较小。这导致了一个经典的平衡行为,在 Tikhonov 正则化中被形式化,我们最小化一个组合代价函数:

J(x)=∥Ax−b∥2+λ2∥Lx∥2J(x) = \|A x - b\|^2 + \lambda^2 \|L x\|^2J(x)=∥Ax−b∥2+λ2∥Lx∥2

参数 λ\lambdaλ 是我们的调节旋钮,控制着权衡。但我们如何理解这个过程实际上对我们的解做了什么?这正是矩阵对 (A,L)(A, L)(A,L) 的 GSVD 发挥作用的地方。

对于这些基向量中的每一个,GSVD 提供了成对的缩放因子 cic_ici​ 和 sis_isi​,它们是分解的核心。值 cic_ici​ 告诉我们数据生成算子 AAA “看到”该分量的强度,而 sis_isi​ 告诉我们正则化算子 LLL “惩罚”它的强度。

当在这个特殊基中观察时,Tikhonov 问题的解变得异常简单。 “朴素”的非正则化解的每个分量都简单地乘以一个“滤波器因子”:

ϕi=ci2ci2+λ2si2\phi_i = \frac{c_i^2}{c_i^2 + \lambda^2 s_i^2}ϕi​=ci2​+λ2si2​ci2​​

看这个优美的表达式!它讲述了整个故事。每个模式对最终解的贡献取决于其数据敏感度(与 cic_ici​ 相关)与惩罚(与 sis_isi​ 相关)的比率。如果一个模式对数据非常敏感但受到的惩罚很弱(大的 cic_ici​,小的 sis_isi​),它的滤波器因子 ϕi\phi_iϕi​ 就接近 1。信息被传递过去。如果一个模式受到强烈惩罚且在数据中表现微弱(小的 cic_ici​,大的 sis_isi​),它的滤波器因子就接近 0,它被抑制。这就是正则化如何滤除解中易受噪声影响的分量。

例如,在计算地球物理学中,我们可能试图从地表测量(bbb)中重建地下岩石属性图(xxx)。我们的算子 AAA 代表波传播的物理过程。为了确保物理上合理、平滑的重建,我们可以选择 LLL 为一个差分算子,它惩罚我们图中相邻点之间的急剧跳变。(A,L)(A, L)(A,L) 的 GSVD 随之揭示了地质结构的模式。具有高 γi=ci/si\gamma_i = c_i / s_iγi​=ci​/si​ 的模式代表了那些既能在数据中强烈反映又符合我们平滑先验的特征;这些是我们的反演能够很好解析的特征。增加正则化参数 λ\lambdaλ 会逐步抑制“更粗糙”的模式,给我们一幅更平滑但可能细节更少的图像。

这个框架甚至强大到可以编码硬性的物理约束。如果我们的状态 xxx 必须遵守一个守恒定律,例如流体流动是无散的,我们可以定义一个算子 LLL(例如,离散散度),使得该定律为 Lx=0Lx = 0Lx=0。GSVD 随后将识别出那些位于 LLL 的零空间中(即 si=0s_i = 0si​=0)的模式。对于这些模式,无论 λ\lambdaλ 如何取值,滤波器因子都恰好为 1。正则化智能地让这些物理上必需的分量完全不受影响,而只作用于那些可能违反该定律的模式。

Tikhonov 的这种“软”滤波并非唯一选择。另一种方法是“截断 GSVD”,在这种方法中,我们不是进行平滑衰减,而是做出一个硬性决定:任何信号与惩罚之比 γi\gamma_iγi​ 低于某个阈值的模式都将被完全丢弃(ϕi=0\phi_i = 0ϕi​=0),而任何高于该阈值的模式则被完全保留(ϕi=1\phi_i = 1ϕi​=1)。这对应于一个尖锐的阶跃函数形式的滤波器,而不是 Tikhonov 的平滑滚降。GSVD 提供了一个共同的基础,我们可以在此基础上理解和比较这些处理正则化的不同哲学方法。

两种度量的故事:比较与判别

GSVD 的力量远不止于正则化。其核心是比较两种不同“视角”的工具。正则化是一个例子:我们比较数据失配的“透镜”和先验惩罚的“透镜”。但这个思想更为普适。

想象一个情景,我们想要解决一个最小二乘问题,但我们不相信我们所有的测量都同等可靠。我们可能用一个权重矩阵 WWW 来编码这一点。此外,我们可能对解的不同分量的可能尺度有先验知识,这可以编码在一个解度量 MMM 中。标准 SVD 是为简单的欧几里得范数量身定做的,但 GSVD 正是为具有由 WWW 定义的广义数据范数和由 MMM 定义的广义解范数的问题寻找最优基的工具。它允许我们将关于数据和解结构的复杂先验知识直接整合到分解中。

这种比较能力可以应用于两个不同的数据集。假设我们有两组数据,XXX(“信号”)和 YYY(“冗余”或“噪声”),它们在相同的特征空间中测量。我们如何在该空间中找到在信号中突出而在噪声中安静的方向?这是判别分析中的一个基本任务。我们可以将其表述为寻找一个方向向量 vvv,以最大化方差之比:

R(v)=X 沿 v 的方差Y 沿 v 的方差=vTXTXvvTYTYvR(v) = \frac{\text{X 沿 v 的方差}}{\text{Y 沿 v 的方差}} = \frac{v^T X^T X v}{v^T Y^T Y v}R(v)=Y 沿 v 的方差X 沿 v 的方差​=vTYTYvvTXTXv​

这是一个广义瑞利商,其解由矩阵对 (X,Y)(X, Y)(X,Y) 的 GSVD 给出。(X,Y)(X, Y)(X,Y) 的广义奇异向量提供了一个有序的基,从相对于 YYY 最能表征 XXX 的方向,到相对于 XXX 最能表征 YYY 的方向。

这具有直接且引人注目的应用。

  • 在​​金融​​领域,我们可能有来自一个新兴市场(XXX)和一个发达市场(YYY)的回报数据。是否存在一些投资策略(投资组合,即方向向量 vvv)能够捕捉两个市场共有的风险因素?是否存在新兴市场独有的因素?两个数据矩阵的 GSVD 可以解开这些效应,识别出共同的变化模式与市场特有的模式。我们甚至可以从广义奇异值中定义一个“共性得分”来为每个模式量化这一点。
  • 在​​网络科学​​中,我们可以使用 GSVD 来比较同一组节点上两个图的结构——例如,一个社交网络在两个不同时间点的状态。图拉普拉斯算子 L1L_1L1​ 和 L2L_2L2​ 编码了图的连通性。(L1,L2)(L_1, L_2)(L1​,L2​) 的主导广义奇异向量对应于节点上的一个模式,该模式在第一个图中具有高“能量”(即边上的差异大),而在第二个图中能量低。它确切地指出了两个网络之间最显著的结构变化。

统一原理:广义瑞利商

当我们拉开帷幕,一个统一的主题浮现出来。许多这些看似迥异的应用——从约束拟合到判别分析——都可以表示为优化两个二次型之比,即广义瑞利商。GSVD 本质上是解决这一整类问题的主钥匙。

甚至考虑一个表面上看起来很不同的问题:约束总体最小二乘。我们有一个不相容的方程组 Ax≈bAx \approx bAx≈b,想要找到对 AAA 和 bbb 的最小可能扰动,使系统变得相容,同时附加约束条件,即解 xxx 必须位于某个子空间中(例如 Lx=0Lx=0Lx=0)。经过一些代数重排,这个复杂的问题可以转化为在约束空间上寻找一个最小化瑞利商 ∥Mz∥2∥z∥2\frac{\|Mz\|_2}{\|z\|_2}∥z∥2​∥Mz∥2​​ 的向量。而那个问题的解可以直接从 GSVD 中找到。

这就是广义奇异值分解的终极之美。它将平衡、比较和约束的复杂问题,转化为一个简单的对角坐标系。在这个坐标系中,解被清晰地揭示出来。它揭示了问题的基本模式,并精确地告诉我们每个模式如何对整体做出贡献。它不仅是一个用于计算的工具,更是一个用于深刻理解的工具。