推荐系统与图嵌入技术详解
1. 显式反馈
在推荐系统中,显式反馈指用户明确给出的对物品的评分。以MovieLens - 1M数据集为例,该数据集包含6040个用户、3706部电影和1,000,209条评分。我们使用K = 50个因子,通过对密集评分矩阵应用奇异值分解(SVD)来拟合模型,将缺失值替换为0。
从图22.3可以看到真实评分矩阵和预测评分矩阵的片段(预测值被截断在[1, 5]范围内)。虽然模型的准确性不是特别高,但它确实捕捉到了数据中的一些结构。图22.4展示了用户“837”评分最高的前10部电影以及算法预测的该用户未看过的前10部电影。可以发现,模型似乎“捕捉”到了用户的潜在偏好,即使在训练过程中没有使用明确的电影类型信息,预测的电影中也有很多是动作片或黑色电影,而这两种类型也出现在了用户自己的前10部电影列表中。
1.1 自编码器
矩阵分解是一种(双)线性模型,我们可以使用自编码器构建其非线性版本。设 $y_{:,i} \in R^M$ 是评分矩阵的第i列,未知评分设为0。我们可以使用以下形式的自编码器来预测这个评分向量:
[f(y_{:,i}; \theta) = W^T\phi(Vy_{:,i} + \mu) + b]
其中,$V \in R^{K \times M}$ 将评分映射到嵌入空间,$W \in R^{K \times M}$ 将嵌入空间映射到评分分布,$\mu \in R^K$ 是隐藏单元的偏置,$b \in R^M$ 是输出单元的偏置。这被称为AutoRec模型的基于物品的版本,它有 $2MK + M + K$ 个参数。还有基于用户的版本,其参数为 $2NK + N + K$ 个。在MovieLens和N
超级会员免费看
订阅专栏 解锁全文

232

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



