推荐系统–协同过滤
基本思想
根据用户 u i u_i ui 之前的喜好以及与其兴趣相近的用户 v i v_i vi 的喜好给当前用户 u i u_i ui 进行推荐。
目前较为常用的协同过滤算法是基于邻域的方法,主要包括(我们对这两种算法单独进行描述,具体可见链接):
- 基于用户的协同过滤算法(UserCF):向用户推荐与其兴趣相近的用户喜欢的物品
- 基于物品的协同过滤算法(ItemCF):向用户推荐和它之前喜欢的物品相近的物品
对于协同过滤,最重要的就是计算用户之间或物品之间的相似度,我们给出常用的相似性度量。
相似性度量
杰卡德(Jaccard)相似度
Jaccard 相似度表示用户 u u u 和用户 v v v 共同交互物品的个数(交集)与他们共交互物品个数(并集)的比值。用户 u u u 和用户 v v v 的相似度 s i m ( u , v ) sim_{(u,v)} sim(u,v) 可以表示为:
s i m ( u , v ) = ∣ N u ∩ N v ∣ ∣ N u ∪ N v ∣ sim_{(u,v)}=\frac{\vert N_u \cap N_v \vert}{\vert N_u \cup N_v \vert} sim(u,v)=∣Nu∪N