低维向量如何替代海量组合参数?
假设有 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 数值只有经过真实数据训练及检验,才能用作点击概率预测。