矩阵的秩与过拟合

改编自豆包

前置知识点1:矩阵的秩

矩阵的秩rank,就是这个矩阵里「不重复、不冗余的有效信息的数量」。

比如一个矩阵里所有行都是第一行的倍数,那所有信息都能从第一行推出来,它的秩就是1;如果有2行完全独立、没法互相推导,剩下的行都能从这2行推出来,秩就是2。

公式定义:

对任意矩阵 \(A \in \mathbb{R}^{m \times n}\),做SVD奇异值分解,得到 \(A = U\Sigma V^T\),其中 \(\Sigma\) 是对角矩阵,对角线上的元素是按从大到小排序的奇异值 \(\sigma_1 \ge \sigma_2 \ge \dots \ge \sigma_{\min(m,n)} \ge 0\)
那么矩阵A的秩rand(A)有:

$\text{rank}(A) = $矩阵A的非零奇异值的个数


前置知识点2:凸问题 vs 非凸问题

  • 凸优化问题:就像在一个完美的碗里找最低点,整个碗只有一个全局最低坑,不管从哪个位置往下走,最终都能走到这个最低点,有成熟解法,算得又快又准。

  • 非凸优化问题:就像在坑坑洼洼的山地里找最低点,到处都是小土坑(局部最优解),很容易掉进去就以为到了底,其实根本不是全局最低。没有通用的高效解法,很容易算崩,结果也不稳定。

判断凸函数的公式:

一个函数 \(f(x)\) 是凸函数,当且仅当对任意 \(0 \le \lambda \le 1\)、任意两个自变量 \(x_1,x_2\),都满足:

\[f(\lambda x_1 + (1-\lambda)x_2) \le \lambda f(x_1) + (1-\lambda)f(x_2) \]

也就是说函数上任意两点连的直线,永远在函数图像的上方,也就是这个函数没有凹陷,不会有小坑。


问题1:直接最小化矩阵的秩,到底是不是非凸问题?

结论:是,而且还是个NP-hard的非凸问题

把“直接最小化矩阵的秩”写成标准优化问题:

\[\min_{A} \ \text{rank}(A) \quad \text{s.t.} \ A \in \text{可行域} \]

这里用一个反例,证明 \(\text{rank}(A)\) 不是凸函数:

取两个2阶矩阵:

\[A_1 = \begin{bmatrix}1 & 0 \\ 0 & 0\end{bmatrix}, \quad A_2 = \begin{bmatrix}0 & 0 \\ 0 & 1\end{bmatrix} \]

很明显,\(\text{rank}(A_1)=1\)\(\text{rank}(A_2)=1\)

\(\lambda=0.5\),计算两个矩阵的加权平均:

\[\lambda A_1 + (1-\lambda)A_2 = 0.5A_1 + 0.5A_2 = \begin{bmatrix}0.5 & 0 \\ 0 & 0.5\end{bmatrix} \]

这个矩阵的秩是2

代入凸函数的定义公式\(f(\lambda x_1 + (1-\lambda)x_2) \le \lambda f(x_1) + (1-\lambda)f(x_2)\)
左边:\(f(\lambda A_1 + (1-\lambda)A_2) = \text{rank}(0.5A_1+0.5A_2) = 2\)
右边:\(\lambda f(A_1) + (1-\lambda)f(A_2) = 0.5*1 + 0.5*1 = 1\)

左边2 > 右边1,不满足凸函数的要求!因此 \(\text{rank}(A)\) 不是凸函数,最小化它的问题自然就是非凸问题。

额外补充:这个问题不仅非凸,还是NP-hard问题——矩阵稍微大一点,计算量就会爆炸式增长,根本没有多项式时间的精确解法,离线求解都极难,更别说在线训练了。


问题2:那这个问题,是不是在在线训练里根本没法求解?

结论:不是理论上100%完全解不出来,但在工业界、学术界的实际在线训练场景里,根本没人会直接这么干,因为没有高效、稳定、可用的实用解法

为啥直接最小化秩在在线训练里没法用?核心3个原因:

  1. 没有梯度,没法用在线训练的标配——梯度下降更新

在线训练的场景大多都用随机梯度下降(SGD)类方法更新模型,而SGD的核心要求,就是目标函数连续、可微

\(\text{rank}(A)\) 是离散的整数(1、2、3...),根本不连续,更别说可微了,连梯度都算不出来,自然没法用SGD做实时更新。

  1. NP-hard的非凸问题,在线场景扛不住计算量

前面说了,直接最小化秩是NP-hard问题,离线场景下数据全给你,都得算半天,还很容易陷入局部最优。

而在线场景要求低延迟,不可能每次来一点数据,就去解一个NP-hard的非凸问题,计算量直接爆炸,实时性完全满足不了。

  1. 流式数据下,非凸问题的结果完全不稳定

在线训练的数据是流式的,每次更新只有一小部分数据,非凸问题本来就极易掉到局部最优的小坑里,用少量流式数据更新,更是会东倒西歪,每次更新的结果波动极大,模型根本没法收敛,训练出来的东西完全不可用。


那实际场景里大家怎么干?用「凸松弛」或者「低秩分解」绕开这个问题:

  • 凸松弛:用核范数(迹范数) \(\|A\|_* = \sum_{i=1}^{\min(m,n)} \sigma_i\)(所有奇异值的和)代替 \(\text{rank}(A)\),核范数是 \(\text{rank}(A)\) 的凸松弛,是凸函数,可用凸优化方法求解,离线、在线都有对应的成熟解法。

  • 低秩分解:把矩阵拆成两个小矩阵相乘 \(A = UV^T\),其中 \(U \in \mathbb{R}^{m \times r}, V \in \mathbb{R}^{n \times r}\)\(r\) 是预设的秩,这样 \(\text{rank}(A) \le r\),优化目标从最小化秩,变成了优化 \(U\)\(V\) 来拟合任务目标。这个问题虽也是非凸的,但它连续可微,能用SGD在线更新。


问题3:机器学习里,模型/矩阵有高秩特性,为啥特别容易在下游任务里过拟合?

结论:高秩矩阵/模型,天生就比低秩的更容易过拟合,泛化能力更差

为啥高秩就容易过拟合?核心3个原因:

  1. 高秩=模型容量爆炸,能装下所有噪音

前面说了,秩是矩阵里不重复的有效信息的数量,秩越高,这个矩阵能表达的线性变换就越复杂,能拟合的函数模式就越多。

举个例子:一个秩为1的矩阵,只能拟合一条直线,根本没法拟合弯弯绕绕的噪音;但一个满秩的矩阵,能把所有维度的信息都用上。

  1. 高秩=几乎没有约束,模型根本不会去学核心规律

低秩本质上是给模型加了一个极强的约束:「你只能用r个线性无关的核心模式来拟合数据」。这个约束会逼着模型放弃乱七八糟的细节,只能去学数据里最通用、最本质的规律——而这些规律,才是能用到下游任务里的真东西。

但高秩相当于给模型撤掉了所有约束,它想怎么拟合就怎么拟合,很容易就学到了训练集特有的、不通用的“伪规律”,自然就过拟合了。

  1. 理论上,高秩直接拉高了模型的泛化误差上界

机器学习里有个核心理论结论:模型的泛化误差(测试集误差和训练集误差的差距),和模型的复杂度正相关——模型越复杂,泛化误差越大,越容易过拟合。

而矩阵的秩,就是衡量线性模型复杂度的核心指标之一。

公式结论:

对于线性模型的权重矩阵 \(W\),它的Rademacher复杂度(衡量模型复杂度的标准指标),和 \(\text{rank}(W)\) 正相关,秩越高,Rademacher复杂度越高,模型的泛化误差上界就越松。说白了就是泛化能力差的概率越大,越容易过拟合。


问题4:如果要降秩,秩取多少才合适?

信息保留率,就是用低秩近似时,原矩阵里被你保留下来的有效信息占比

它通过奇异值分解(SVD)计算:只保留前 (r) 个最大的奇异值,用它们的和除以所有奇异值的总和,得到:

\[\text{信息保留率} = \frac{\sum_{i=1}^r \sigma_i}{\sum_{i=1}^{\min(m,n)} \sigma_i} \]

数值越接近1,说明保留的核心信息越多、近似越准;选 (r) 时一般保证它在 90%~99%,既能大幅降秩、减少参数、抑制过拟合,又不会因为丢太多信息而欠拟合。


问题5:实战中怎么降秩合适?

方法一:全程防控

在模型的损失函数里,直接加入核范数(所有奇异值的和,也就是信息保留率公式里的分母)惩罚项,训练全程生效:

\[\text{总损失} = \text{任务原生损失} + \lambda \cdot \|W\|_* \]

其中\(\|W\|_* = \sum_{i=1}^n \sigma_i\)是核范数,\(\lambda\)是正则强度。这个惩罚项会逼着模型在训练中,把对应噪音的小奇异值不断往0压缩,训练结束后,大部分奇异值都接近0,只需按目标信息保留率做极轻量的截断即可,甚至不用截断就已经是低秩矩阵。

方法二:前置锁死

这是大规模场景(推荐系统、大模型压缩)的首选,提前用信息保留率定好最优秩,全程用低秩结构训练,根本不会出现满秩矩阵。

  1. 训练开始前,先对任务的基准数据(比如训练集特征矩阵、预训练权重)做SVD分解,按目标信息保留率计算出最优秩\(r\)

  2. 直接把模型的权重矩阵,拆成两个低秩小矩阵的乘积\(W = UV^T\)\(U\)列数、\(V\)行数固定为\(r\)),从模型初始化开始,就把矩阵的最大秩锁死为\(r\)

  3. 全程只训练\(U\)\(V\),矩阵的秩永远不会超过\(r\),天然满足信息保留率的要求。

posted @ 2026-03-17 17:24  wljss  阅读(1)  评论(0)    收藏  举报