# 💡 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 ] ```