低维向量如何替代海量组合参数?

假设有 100 万用户和 10 万物品,每个用户、物品都用 32 维向量表示。

直接学习每组用户与物品的权重
1,000 亿
学习用户向量和物品向量
3,520 万

后者的参数数量约为前者的 0.0352%,约减少 2,841 倍。这是模型参数规模的示例计算。

W
m × n
=
P
m × k
×
Qᵀ
k × n

矩阵分解:W ≈ P Qᵀ,每个组合权重用两个向量的内积近似表示。

交互演示:选用户、选物品、算分数

下方使用便于手算的二维向量,展示内积和 Sigmoid 如何计算;向量数值为教学示例。

Sigmoid 转换后的数值
全部用户与物品组合的内积分数
物品 1物品 2物品 3
用户 A
用户 B

选择其他用户或物品,观察共享向量如何为所有组合产生分数。示例中的 Sigmoid 数值只有经过真实数据训练及检验,才能用作点击概率预测。