仅基于用户行为数据的推荐算法是协同过滤算法,应用最广的是基于邻域的算法。是基于统计的方法。大体分为两种,一是基于用户的协同过滤算法,二是基于物品的协同过滤算法。
一、基于用户的协同过滤算法(已被应用于邮件过滤和新闻过滤中)——UserCF
1.原始算法(参数:K)
总体思路:先找到有相似兴趣的其他用户,然后把那些用户喜欢、而用户A没有听说过的物品推荐表给A。由此可知,该算法主要由两个步骤:
1)找到和目标用户兴趣相似的用户集合。关键是计算两个用户的兴趣相似度,主要利用行为的相似度来计算。
2)找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。
技术点:
(1)用户兴趣相似度计算:给定两个用户u和v,看其分别有过正反馈的物品集合N(u)和N(v)。这个我理解为:一个表的ID是用户,对应的内容是其有过反馈的物品
Jaccard公式如下:
或者用余弦相似度(较常用):