隐语义模型(LFM)的原理与矩阵分解过程
题目描述
隐语义模型(Latent Factor Model, LFM)是一种协同过滤推荐算法,通过矩阵分解技术从用户-物品交互数据(如评分矩阵)中学习潜在特征向量,以预测用户对未交互物品的偏好。例如,在电影推荐中,LFM可将用户和电影映射到共同的潜在空间(如题材、风格等隐语义维度),从而计算用户对电影的预测评分。题目要求详细解释LFM的数学原理、矩阵分解的目标函数构建、优化方法(如梯度下降)以及预测过程。
解题过程
-
问题形式化
假设有 \(m\) 个用户和 \(n\) 个物品,用户-物品交互数据用矩阵 \(R \in \mathbb{R}^{m \times n}\) 表示,其中 \(R_{ij}\) 是用户 \(i\) 对物品 \(j\) 的评分(未评分位置记为缺失)。LFM的目标是将 \(R\) 分解为两个低秩矩阵:- 用户潜在特征矩阵 \(P \in \mathbb{R}^{m \times k}\),每行 \(p_i\) 表示用户 \(i\) 的 \(k\) 维潜在向量。
- 物品潜在特征矩阵 \(Q \in \mathbb{R}^{n \times k}\),每行 \(q_j\) 表示物品 \(j\) 的 \(k\) 维潜在向量。
使得 \(R \approx P Q^\top\),即预测评分 \(\hat{R}_{ij} = p_i q_j^\top\)。
-
目标函数构建
通过最小化观测评分的预测误差来学习 \(P\) 和 \(Q\)。基础目标函数为:
\[ \min_{P, Q} \sum_{(i, j) \in \mathcal{O}} \left( R_{ij} - p_i q_j^\top \right)^2 \]
其中 \(\mathcal{O}\) 是已评分的用户-物品对集合。为防止过拟合,加入L2正则化项:
\[ \mathcal{L} = \sum_{(i, j) \in \mathcal{O}} \left( R_{ij} - p_i q_j^\top \right)^2 + \lambda \left( \|P\|_F^2 + \|Q\|_F^2 \right) \]
\(\lambda\) 为正则化系数,\(\|\cdot\|_F\) 为Frobenius范数。
- 优化过程(随机梯度下降)
- 初始化:随机生成小数值初始化 \(P\) 和 \(Q\)。
- 迭代更新:遍历每个观测评分 \((i, j) \in \mathcal{O}\),计算预测误差:
\[ e_{ij} = R_{ij} - p_i q_j^\top \]
沿梯度反方向更新用户向量 $ p_i $ 和物品向量 $ q_j $:
\[ p_i \leftarrow p_i + \alpha \left( e_{ij} \cdot q_j - \lambda p_i \right) \]
\[ q_j \leftarrow q_j + \alpha \left( e_{ij} \cdot p_i - \lambda q_j \right) \]
其中 $ \alpha $ 为学习率。
- 终止条件:重复直到损失函数收敛或达到最大迭代次数。
-
预测与解释
学得 \(P\) 和 \(Q\) 后,未评分项预测为 \(\hat{R}_{ij} = p_i q_j^\top\)。潜在向量维度 \(k\) 可解释为隐语义主题(如电影题材),向量内积反映用户兴趣与物品特征的匹配度。例如,若 \(p_i\) 在“科幻”维度值高,\(q_j\) 在该维度值也高,则预测评分较高。 -
扩展与改进
- 偏置项:引入全局平均评分 \(\mu\)、用户偏置 \(b_i\)、物品偏置 \(b_j\),使 \(\hat{R}_{ij} = \mu + b_i + b_j + p_i q_j^\top\)。
- 交替最小二乘法(ALS):固定 \(P\) 优化 \(Q\),再固定 \(Q\) 优化 \(P\),适合并行化。
- 隐式反馈:对点击等隐式数据,使用加权正则化交替最小二乘法(WRMF)。