推荐系统基础知识

参考文献

推荐系统

协同过滤

隐语义模型

概览

image-20200607110045947

基于内容推荐

利用物品或内容的元数据(静态)衡量物品的相似度,给用户推荐相似的物品。

  • 只考虑了对象的本身性质,将对象按标签形成集合,如果消费了集合中的一个,则推荐该集合中的其他对象。

协同过滤推荐

先协同,再过滤

  • 充分利用了集体智慧:在大量的人群的行为和数据中收集答案

  • 推荐的个性化程度高:考虑了兴趣相近的用户可能会对同样的东西感兴趣

基于用户

利用用户访问行为(动态)衡量用户的相似度,来互相推荐用户可能感兴趣的资源。

基于项目

基于用户的访问行为(动态)衡量物品的相似度,给用户推荐相似的物品

基于模型

隐语义模型(矩阵分解)

对于上面的打分矩阵,如果我们不添加任何条件的话,也即打分之间是相互独立的,我们就没法得到(u1,v3)的打分。 所以在这个用户打分矩阵的基础上,我们需要提出一个限制其自由度的合理假设,使得我们可以通过观察已有打分来猜测未知打分。

思想:假设UI矩阵是低秩的,即在大千世界中,总会存在相似的人或物,即物以类聚,人以群分,然后我们可以利用两个小矩阵相乘来还原它。

求解方法:ALS算法要解决的问题就是计算小矩阵的参数值,并且只计算已知打分的重构误差。ALS的实现原理是迭代式求解一系列最小二乘回归问题。在每一次迭代时,固定用户因子矩阵或是物品因子矩阵中的一个,然后用固定的这个矩阵以及评级数据来更新另一个矩阵。之后,被更新的矩阵被固定住,再更新另外一个矩阵。如此迭代,直到模型收敛(或是迭代了预设好的次数)