【推荐算法】协同过滤推荐算法综述 & 传统推荐算法综述

一、协同过滤算法综述

“协同过滤”就是协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出目标用户可能感兴趣的信息的推荐过程。

A. memory-based CF

基于邻域的CF是经典的基于内存的CF算法。有以下两个步骤:

  1. 计算两个用户或者两个物品之间反映距离、相关性或权重的相似度或权重W_ij
  2. 通过获取用户或物品对特定的物品或用户的所有评分的加权平均值,或使用简单的加权平均值,为active user生成预测值
a. 相似度计算
  1. 余弦相似度请添加图片描述
  2. 皮尔逊相关系数
    请添加图片描述
b. 排序函数

请添加图片描述
请添加图片描述

c. memory-based CF 算法改进
  1. Default voting:当投票太少而无法生成相似性值时,推荐不可靠;且关注交集相似性忽略了反映在用户整个评分历史中的全局评分行为。此时可以给无评分值的物品给出一个默认评分,可以使用物品或用户的评分平均值;或者使用中性或略为负面的偏好
  2. Inverse User Frequency(反向用户频率):普遍喜欢的物品在获取相似性方面不如不太常见的物品有用,所以可以惩罚用户u和用户v共同兴趣列表中热门物品对它们相似度的影响。可以在原始评级P_ai中乘log(n/n_i),其中n_i是具有对物品i进行评价的用户数,n是用户总数。
  3. Case Amplification(案例放大):在协同过滤中使用权重变换,强调高权重,惩罚低权重。p取2.5
    请添加图片描述
  4. Imputation-Boosted(插补增强)CF算法:当CF的数据非常稀疏时,可以首先使用插补技术填充缺失的数据
d. UserCF和ItemCF算法对比

UserCF给用户推荐那些和他有共同兴趣爱好的用户喜欢的物品,ItemCF给用户推荐那些和他之前喜欢的物品类似的物品。UserCF的推荐结果着重于反映和用户兴趣相似的小群体的热点,而ItemCF的推荐结果着重于维系用户的历史兴趣。换句话说,UserCF的推荐更社会化,反映了用户所在的小型兴趣群体中物品的热门程度,而ItemCF的推荐更加个性化,反映了用户自己的兴趣传承。

UserCF ItemCF
性能 适用于用户较少的场合,如果用户很多,计算用户相似度矩阵代价很大 适用于物品数明显小于用户数的场合,如果物品很多,计算物品相似度矩阵代价很大
领域 时效性较强,用户个性化兴趣不太明显的领域 长尾物品丰富,用户个性化需求强烈的领域
实时性 用户有新行为,不一定造成推荐结果的立即变化 用户有新行为,一定导致推荐结果的实时变化
冷启动 在新用户对很少的物品产生行为后,不能立即对他进行个性化推荐,因为用户相似度表时每隔一段时间离线计算的。 新物品上线后一段时间,一旦有用户对物品产生行为,就可以将新物品推荐给和对它产生行为的用户兴趣相似的其他用户 新用户只要对一个物品产生行为,就可以给他推荐和该物品相关的其它物品。但没有办法在不离线更新物品相似度表的情况下将新物品推荐给用户

B. model-based CF

a. Bayesian Belief Net CF

请添加图片描述

b. 聚类CF

聚类算法比典型的协同过滤算法具有更好的可伸缩性(scalability),因为它们在更小的簇中进行预测,而不是在整个用户群组中进行预测。

c. MDP-based CF(Markov decision precess)

将推荐过程视为一个序列优化问题,并将马尔可夫决策过程用于推荐系统。MDP是对序列随机决策问题进行建模的算法,通常用于一个agent通过动作影响其周围环境的应用中。MDP可以定义为四元组(S, A, R, Pr)。S是一组状态,A是一组动作,R是每个状态/动作对的实值奖励函数,Pr是给定每个动作的每对状态之间的转移概率。MDP的最佳解决方案是最大化其reward stream,从初始策略开始,根据以往的策略计算奖励值,并在每一步用新的值函数更新策略,迭代将收敛到最优策略。

d. Latent Factor Model(隐语义模型)
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值