上一篇 NMF 展示了非负约束如何将分解从”全局叠加”变为”局部部件”。本篇换一个约束条件:矩阵大部分元素缺失,而我们的目标不是重建整个矩阵,而是预测缺失位置的值。这正是推荐系统中协同过滤的核心问题,也是 Matrix Factorization(MF)和 Factorization Machines(FM)的数学根基。
本文聚焦矩阵分解视角——MF 和 FM 的数学结构如何从 SVD 自然生长出来。关于 FM 的完整理论推导(方程解剖、O(kn) 计算技巧、稀疏推断机制)和在 LLM 路由中的应用,请参阅 因子分解机与 LLM 路由。
协同过滤 = 评分矩阵的分解
问题设定
m 个用户对 n 个物品的评分构成一个矩阵 R∈Rm×n。现实中,绝大多数元素缺失——Netflix 数据集仅 1.2% 的元素被观测。设 Ω⊂{1,…,m}×{1,…,n} 为已观测位置的集合。
协同过滤(collaborative filtering)的假设是:评分矩阵近似低秩。即用户的偏好由少数潜在因素(genre, quality, mood…)驱动,评分矩阵的内在秩 k≪min(m,n)。
在 Art. 8 矩阵补全 中,我们从凸优化角度(nuclear 范数松弛)研究了这个问题的理论保证。MF 走了另一条路——直接参数化低秩结构,用梯度下降求解。
从 SVD 出发
回忆 Art. 3 SVD 的 Eckart-Young 定理:对完整矩阵 R,最优秩-k 近似是截断 SVD:
Rk=UkΣkVkT
如果 R 是完整的,故事到此结束。但评分矩阵 98% 以上是缺失值——直接做 SVD 没有意义,因为你不知道缺失位置该填什么。
MF 模型:有约束的 SVD
核心模型
MF 的思路是:既然截断 SVD 把 R 写成 UkΣkVkT,不如直接参数化两个低秩因子矩阵,只在已观测位置拟合:
r^ui=puTqi
其中 pu∈Rk 是用户 u 的隐因子向量(latent factor vector),qi∈Rk 是物品 i 的隐因子向量。向量 pu 编码用户偏好,qi 编码物品属性,内积衡量匹配程度。
用矩阵语言表达:R^=PQT,其中 P∈Rm×k,Q∈Rn×k。这和截断 SVD 的形式 UkΣkVkT 完全对应——Σk 被吸收进了 P 和 Q。
下图展示了 MF 模型的矩阵结构:稀疏的评分矩阵 R 被近似为两个”瘦高”因子矩阵的乘积,损失只在已观测位置(蓝色格子)计算。
MF:稀疏观测下的低秩参数化
只在已观测位置(蓝色格子)拟合,缺失位置(灰色)由低秩结构预测
带偏置的完整模型
实践中,评分受系统性偏差影响:有的用户天生慷慨(平均给 4 分),有的电影天生高分。Koren, Bell & Volinsky(2009)的标准模型加入偏置项:
r^ui=μ+bu+bi+puTqi
其中:
- μ:全局平均评分
- bu:用户偏置(Alice 比平均高 0.3 分)
- bi:物品偏置(Titanic 比平均高 0.8 分)
- puTqi:用户-物品交互(Alice 特别喜欢浪漫片)
优化目标
仅在已观测位置最小化正则化平方误差:
minP,Q,b∑(u,i)∈Ω(rui−μ−bu−bi−puTqi)2+λ(∥pu∥2+∥qi∥2+bu2+bi2)
正则化项 λ(⋅) 防止过拟合——对仅有少量评分的用户/物品尤为关键。
MF 与 SVD 的精确关系
MF 常被称为 “SVD” 模型(Netflix Prize 时期的惯例),但它与数学上的 SVD 不是同一回事。区别在三个层面:
| 经典 SVD | 推荐系统 MF |
|---|
| 输入 | 完整矩阵 | 稀疏观测 Ω |
| 正交约束 | UTU=I,VTV=I | 无正交约束 |
| 求解 | 封闭解(特征分解) | 迭代优化(SGD / ALS) |
联系也是清晰的:如果 Ω 包含所有元素且 λ=0,MF 的全局最优解就是截断 SVD。MF 可以理解为”在不完整观测下、带正则化的 SVD”。
求解方法
两种主流算法:
SGD(随机梯度下降):对每个观测 (u,i,rui),计算误差 eui=rui−r^ui,更新:
pu←pu+η(euiqi−λpu)
qi←qi+η(euipu−λqi)
ALS(交替最小二乘):固定 Q 解 P(变成线性最小二乘),再固定 P 解 Q,交替进行。每步都有封闭解,且天然可并行。
从 MF 到 FM:交互权重矩阵的低秩分解
MF 的局限
MF 的特征空间只有两组:用户 ID 和物品 ID。所有关于用户的额外信息(年龄、历史行为)和物品的额外信息(类型、导演)都无法直接利用。如果要加入新特征,模型结构需要重新设计。
FM 的统一视角
Rendle(2010)提出 Factorization Machines(FM),将 MF 推广为对任意特征向量的交互建模。FM 的二阶模型:
y^(x)=w0+∑j=1pwjxj+∑i=1p∑j=i+1p⟨vi,vj⟩xixj
其中 vi∈Rk 是特征 i 的隐因子向量。
矩阵视角:定义交互权重矩阵 W∈Rp×p,其中 Wij 表示特征 i 和 j 的交互强度。如果每个 Wij 都是独立参数,需要 O(p2) 个参数——在高维稀疏特征下不可行。FM 的核心约束是交互矩阵低秩:
Wij=⟨vi,vj⟩⟺W=VVT
其中 V∈Rp×k。这把 O(p2) 个交互参数压缩到 O(pk) 个——正是矩阵分解的思想。交互矩阵 W 的秩被约束为 ≤k,与 MF 对评分矩阵施加的秩约束完全同构。
FM:交互权重矩阵的低秩分解
O(p²) 个独立参数 → O(pk) 个参数,k ≪ p
MF 是 FM 的特例
当特征向量 x 仅包含用户和物品的 one-hot 编码时,FM 退化为 MF。具体地:设 x=[eu;ei](用户 one-hot 拼接物品 one-hot),则:
- 线性项 wjxj 对应偏置 bu 和 bi
- 交互项 ⟨vu,vi⟩ 对应 puTqi
FM 的威力在于特征向量可以包含任意信息:用户属性、物品属性、上下文、时间——所有二阶交互自动被低秩因子化建模,无需手工设计。
方法谱系中的位置
回到 分解概述 建立的方法谱系,MF/FM 的坐标如下:
| 方法 | 约束 | 与 SVD 的关系 |
|---|
| PCA(Art. 6 PCA) | 正交 + 完整观测 | SVD 的直接应用 |
| 矩阵补全(Art. 8 矩阵补全) | 稀疏观测 + 凸松弛 | Nuclear 范数 → SVD 奇异值之和 |
| NMF(Art. 9 NMF) | 非负 + 完整观测 | SVD 去正交加非负 |
| MF | 稀疏观测 + 正则化 | 不完整观测下的”参数化 SVD” |
| FM | 低秩交互 + 任意特征 | 交互权重矩阵的低秩分解 |
核心脉络:SVD 给出无约束最优解 → 矩阵补全用凸松弛处理缺失值 → MF 用参数化 + SGD 做同一件事但更实用 → FM 把低秩约束从”评分矩阵”推广到”任意特征的交互矩阵”。
总结
三个要点:
-
MF 是不完整观测下的参数化 SVD。如果观测完整且无正则化,MF 的最优解就是截断 SVD。偏置项捕获系统性偏差,正则化防止稀疏数据下的过拟合。
-
FM 的本质是交互权重矩阵的低秩分解。W=VVT 把 O(p2) 个交互参数压缩到 O(pk),与 MF 对评分矩阵施加的秩约束是同一数学思想。
-
MF 是 FM 的特例。当特征仅包含用户/物品 one-hot 时,FM 退化为 MF。FM 的推广在于允许任意特征参与交互——关于 FM 如何在 LLM 路由中发挥作用,见 因子分解机与 LLM 路由。
下一篇我们将看到一个惊人的联系:Word2Vec 的 skip-gram 训练,本质上是对一个从未显式构造过的词-上下文 PMI 矩阵做低秩分解——“隐式矩阵分解”这一概念,将矩阵视角推广到看似完全不同的 NLP 领域。