最近在学习推荐系统(Recommender System),跟大部分人一样,我也是从《推荐系统实践》学起,同时也想跟学机器学习模型时一样使用几个开源的python库玩玩。于是找到了surprise,挺新的,代码没有sklearn那么臃肿,我能看的下去,于是就开始了自己不断的挖坑。
这篇文章介绍基于SVD的矩阵分解推荐预测模型。一开始我还挺纳闷,SVD不是降维的方法嘛?为什么可以用到推荐系统呢?研究后,实则异曲同工。
有关SVD推导可以看这篇文章:降维方法PCA与SVD的联系与区别
了解推荐系统的人一定会知道协同过滤算法!
协同过滤算法主要分为两类,一类是基于领域的方法(neighborhood methods),另一类是隐语义模型(latent factor models),后者一个最成功的实现就是矩阵分解(matrix factorization),矩阵分解我们这篇文章使用的方法就是SVD(奇异值分解)
提问❓:SVD在推荐系统中到底在什么位置呢?
举手