1.协同过滤
协同过滤(collaborative Filtering)是rs中最经典,最常用的方法
CF, 基本思想是根据用户之前的喜好以及其他兴趣相似的用户的选择来给用户推荐物品
基于用户历史行为数据的挖掘发现用户的喜好偏向,并预测用户可能喜好的产品进行推荐,一般仅仅基于用户的行为数据(评价、购买、下载等),不依赖于items的任务附加信息(物品自身特征)或者用户的任何附加信息(年龄、性别等)。目前应用较为广泛的协同过滤算法是基于领域的方法,主要包含:
基于用户的协同过滤算法(UserCF): 给用户推荐和他兴趣相似的其他用户喜欢的产品
基于物品的协同过滤算法(ItemCF):给用户推荐和他之前喜欢的物品相似的物品。
无论是UserCF还是ItemCF,非常重要的是计算用户和用户或者物品和物品之间的相似度。
- 相似度度量方法
(1)Jaccard相似系数:衡量两个集合的相似度一种指标,两个用户 和 交互商品交集的数量占这两个用户交互商品并集的数量的比例,称为两个集合的jaccard相似系数,符号表示,其中, 分别表示用户 和 交互商品的集合。
=
由于jaccard 系数一般无法反映具体用户的评分喜好信息,所以常用来评估用户是否会对某些商品进行打分,而不是预估用户对商品打多少分。
(2)cos相似度:cos相似度衡量两个向量的夹角,夹角越小越相似,首先从集合的角度描述cos相似度,相比于Jaccard公式来说就是分母有差异,不是两个用户交互商品的并集的数量,而是两个用户分别交互的商品数量的乘积, =
令矩阵A为用户-商品交互矩阵(topN推荐并不需要用户对商品评分,只需要用户对商品交互即可),即矩阵的每一行表示一个用户对所有商品的交互情况,有交互的商品值为1,没有的商品值为0, 矩阵的列表示所有商品。用户 和 相似度表示为 =
(3)皮尔逊相关系数:
网友评论