SVD推荐算法(一)
看了不少论文,总结起来用SVD做推荐主要有两种不同的方式。
1 本质上是memory-based,只不过先用SVD对user-item的评分矩阵做降维,得到降维后的user特征和item特征,可以分别做userbased的协同过滤和itembased的协同过滤。
2 本质上是model-based,跟传统数学意义的SVD没有太大关系,只不过借鉴了SVD分解R=U*S*V这个形式,通过最优化方法进行模型拟合,求得R=U*V。
本文主要讲解第一种情况,第二种情况下次再讲。
可以参考的论文:
《Applying SVD on Generalized Item-based Filtering 》
《Application of Dimensionality Reduction in Recommender System -- ACase Study》
memory-based的userbased和itembased关键点之一,是user相似度和item相似度的计算。
而相似度的计算依赖于特征。
最原始的做法,一个user的特征就是她对所有item的打分,而一个item的特征就是所有user对