我正在翻译一篇关于IT技术的论文:《Effective Latent Models for Binary Feedback in Recommender Systems》,作者是 Maksims N. Volkovs 和 Guang Wei Yu。
该论文介绍了一种基于模型的方法,使用协同过滤方法中邻居相似度信息的SVD来生成推荐。
基本上,作者不像我们在推荐系统中使用SVD时分解用户评分矩阵
因此,我们得到:
该论文介绍了一种基于模型的方法,使用协同过滤方法中邻居相似度信息的SVD来生成推荐。
基本上,作者不像我们在推荐系统中使用SVD时分解用户评分矩阵
R(M users * N songs)
,而是建议分解用户歌曲预测矩阵S(M users * N songs)
或稀疏矩阵S(M users * top-k predicted songs)
。因此,我们得到:
Ur,$r,Vr = sklearn.utils.extmath.randomized_svd(', n_components = 1000)
其中 r = SVD等级 = n_components。
我们使用 Ur
和 Vr
生成预测:
S(u, v) = Ur(u, :) * Vr(v, :).T
其中 u = 用户, v = 物品v , T = 转置
我使用协同过滤方法生成了S(M*top-k)
矩阵,并将其输入到randomized_svd
中。
然而,上述方法生成的预测结果并不准确(截断 mAP@500
,我使用的性能评估指标,mAP = 0.01),而作者对相同的kaggle百万歌曲挑战数据产生了良好的mAP达到了0.14。
要求读完论文并指出问题是很多的,但如果有人有先前的知识并能帮助我,那就太好了。