一、问题背景
Mermaid · 渲染中(下方为源码)
graph LR A[用户/物品] --> B[向量化] B --> C[相似度计算] C --> D[Top-K 推荐]
音乐 App 如何"猜你喜欢"?电商如何"为你推荐"?
推荐系统的核心思路只有两句话:
- 找到跟你口味相似的用户,把他们喜欢的推荐给你
- 找出跟你喜爱的物品特征相似的物品,推荐给你
这两种思路的底层数学工具都是:向量空间 + 距离计算。
二、用户行为的向量化
2.1 构建评分矩阵
将用户对物品的喜爱程度量化为分数:
| 行为 | 得分 |
|---|---|
| 收藏/购买 | 5 |
| 完整播放/阅读 | 4 |
| 点赞 | 3 |
| 部分浏览 | 2 |
| 点击即走 | 1 |
每个用户对应一个向量,维度 = 物品数量:
用户A: [5, 3, 0, 4, 2]
用户B: [4, 4, 1, 3, 0]
用户C: [1, 0, 5, 2, 4]