我正在撰写文章:Maksims N. Volkovs和Guang Wei Yu paper link在推荐系统中进行二元反馈的有效潜在模型。
通过使用来自协同过滤方法的邻居相似性信息,使用基于模型的方法,SVD来产生推荐。
所以基本上是作者而不是像在SVD中那样分解用户评级矩阵R(M users * N songs)
以进行推荐,而是分解用户歌曲预测矩阵S(M users * N songs)
或稀疏矩阵S(M users * top-k predicted songs)
。 / p>
因此我们得到了,
Ur,$r,Vr = sklearn.utils.extmath.randomized_svd(', n_components = 1000)
其中r = SVD rank = n_components.
我们确实使用Ur
和Vr
生成预测:
S(u, v) = Ur(u, :) * Vr(v, :).T
其中u = user, v = item v , T = transpose
我使用协同过滤方法生成S(M*top-k)
矩阵,并将其输入randomized_svd
但是通过上述方法生成的预测不会产生准确性(truncated mAP@500
,我正在使用的性能指标,mAP = 0.01),而作者为相同的千万百分之一的歌曲挑战数据产生了0.14的良好mAP { {3}}
要求阅读论文并说出错误是很多,但如果有人事先了解并且可以帮助我,那就太棒了。
如果这是一个错误的论坛,请问这样的Q,请建议我另一个。