
摘要
推荐系统中的协同过滤(Collaborative Filtering, CF)方法已得到广泛研究,涵盖矩阵分解、基于自编码器以及基于图滤波等多种范式。近年来,为降低整体计算开销,一些轻量级方法被提出,这些方法几乎无需训练过程。然而,现有方法在准确率、效率与鲁棒性之间的权衡方面仍有提升空间。特别是,针对上述三者之间平衡的协同过滤,尚缺乏系统性的闭式解(closed-form)研究。本文提出SVD-AE,一种基于奇异值分解(Singular Value Decomposition, SVD)的简单而有效的线性自编码器模型,其闭式解可直接由SVD推导得出,适用于协同过滤任务。与传统方法不同,SVD-AE无需迭代训练过程,其解可一次性计算完成。此外,考虑到评分矩阵固有的噪声特性,本文进一步分析了现有CF方法及所提出的SVD-AE在面对噪声交互时的鲁棒性表现。实验结果表明,基于截断奇异值分解(truncated SVD)的简洁设计不仅显著提升了推荐系统的效率,还能有效增强对噪声的鲁棒性。代码已开源,地址为:https://github.com/seoyoungh/svd-ae。
代码仓库
seoyoungh/svd-ae
jax
GitHub 中提及
jeongwhanchoi/svd-ae
官方
jax
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| collaborative-filtering-on-movielens-10m | SVD-AE | HR@10: 0.3676 HR@100: 0.648 PSP@10: 0.0493 nDCG@10: 0.3775 nDCG@100: 0.4697 |
| collaborative-filtering-on-movielens-1m | SVD-AE | HR@10: 0.3179 HR@100: 0.5933 PSP@10: 0.0322 nDCG@10: 0.3355 nDCG@100: 0.4257 |
| recommendation-systems-on-gowalla | SVD-AE | HR@10: 0.144 HR@100: 0.3734 PSP@10: 0.248 nDCG@10: 0.1394 nDCG@100: 0.2115 |
| recommendation-systems-on-yelp2018 | SVD-AE | HR@10: 0.049 HR@100: 0.1979 PSP@10: 45 nDCG@10: 0.0474 nDCG@100: 0.1022 |