1、推荐系统基础

推荐系统包含两个部分:用户集合和物品集合。推荐系统的目标就是要把物品推荐给合适的用户。

推荐系统的核心可以理解为一个打分系统,其目标是要计算出每个用户对每个物品的评分。从而给予推荐。

为了实现这一目标,推荐系统大致采用了以下技术:

1.1、基于人口统计学/规则推荐

这个主要是基于人口统计学信息,比如用户的年龄、性别等给予推荐。

1.2、基于内容的推荐

基于物品的内容,给用户推荐用户感兴趣的内容的相似物品。

1.3、协同过滤(CF, Collabarative Filter)

包括基于用户相似度的User-Base CF,基于物品相似度的Item-Base CF,以及基于模型的Model-Base CF。

这里的Item-Base CF和基于内容的推荐非常类似,都是基于物品的相似度来做推荐。一点微小的差别在于前者是把物品当做整体来度量相似度,后者则是通过物品的内容来度量。简单说就是粒度不同。当然在实践中,不会有这么明显的区分。

1.4、矩阵分解

矩阵分解是一种Model-Base的CF方法。通过矩阵分解和重建,直接对评分矩阵进行修正。包括SVD及其变体,以及FM方法。

1.5、深度学习

3、协同过滤

4、矩阵分解

4.1、传统SVD

4.2、FunkSVD

4.3、BiasSVD

4.4、SVD++

4.5、FM

5、基于深度学习的推荐系统

6、基于强化学习的推荐