推荐系统技术全解析
1. 协同过滤
协同过滤是推荐系统中常用的技术,它可以分为基于内存的协同过滤和基于模型的协同过滤。
1.1 矩阵分解作为协同过滤
矩阵分解是一种常见的协同过滤方法,以奇异值分解(SVD)为例,它可以保持来自相似用户的协同信息。评分矩阵 $R$ 与其转置 $R^T$ 的点积 $RR^T$ 是用户的未归一化余弦相似度矩阵:
[
RR^T =
\begin{bmatrix}
\sum_{j} r_{1j}r_{1j} & \cdots & \sum_{j} r_{1j}r_{Mj} \
\vdots & \ddots & \vdots \
\sum_{j} r_{Mj}r_{1j} & \cdots & \sum_{j} r_{Mj}r_{Mj}
\end{bmatrix}
]
利用 $V$ 的正交性质,相似度矩阵 $RR^T$ 可以分解为 $RR^T \approx U\Sigma V^T V\Sigma U^T = U\Sigma^2 U^T$,这给出了 $RR^T$ 的特征值分解,其中 $U$ 的每一列是矩阵的特征向量。
1.2 从矩阵分解到隐因子模型
矩阵分解技术(如 SVD)会优化评分矩阵 $R$ 所有元素的平方误差之和:
[
\min_{U,\Sigma,V} \sum_{i\in[1,M],j\in[1,N]} (r_{i,j} - [U\Sigma V] {i,j})^2
]
但在极端情况下,完美分解会导致所有未知评分
超级会员免费看
订阅专栏 解锁全文
4125

被折叠的 条评论
为什么被折叠?



