# 💡 Summary
类似于「从用户视角看 她喜欢哪些 label 风格」×「从物品视角看哪些电影属于这些 label」,本质就是降维:用少量"潜在因子"来解释用户和物品,类似于[[主成分分析(PCA)]]
为什么比[[协同过滤]]好?
1. **填补空缺**:可以预测所有"?"的位置
2. **捕捉潜在特征**:自动学习"动作片爱好者"、"文艺片爱好者"这类隐含模式
3. **泛化能力强**:即使数据稀疏也能工作
4. **可以建模**:可以用机器学习优化,不只是简单计算
# 🧩 Cues
# 🪞Notes
## 分解方法
| 名词 | 说明 |
| -------------------------------- | -------------------- |
| [[SVD 奇异值分解]]([[奇异值]]分解)** | 最经典的矩阵分解方法:A = UΣV^T |
| **特征值(Eigenvalue)** | 矩阵的特征标量 |
| **特征向量(Eigenvector)** | 对应特征值的向量 |
| **低秩近似(Low-rank Approximation)** | 用低维矩阵近似高维矩阵 |
## 计算过程
矩阵分解会将它分解为:
原始评分矩阵(10000用户 × 5000电影)
↓ SVD分解
用户矩阵(10000×50) × 奇异值(50×50) × 电影矩阵(50×5000)
```Java
电影1 电影2 电影3 电影4
用户A 5 3 ? 1
用户B 4 ? 2 1
用户C 1 1 5 5
用户D ? 4 4 ?
```
**用户矩阵**(用户 × 潜在特征)
```Java
特征1 特征2
A [0.9, 0.1]
B [0.8, 0.2]
C [0.1, 0.9]
D [0.5, 0.5]
```
**物品矩阵**(潜在特征 × 电影)
```Java
电影1 电影2 电影3 电影4
特征1 [5, 4, 1, 0 ]
特征2 [0, 1, 5, 5 ]
```