一.基于物品的协同过滤 ItemCf
背景:1.信息过载问题,用户实际需求不明确
2.强依赖用户行为
含义:给用户推荐他之前喜欢的物品的相似物品
衡量物品的相似度:
u(i)表示对item i有过行为的用户集合;u(j)表示对item j有过行为的用户集合;
分子重复度越高,相似度越高;分母实现归一化。
r ui表示user对item i的行为得分:比如电影系统中对电影的评分
S ij表示item i与item j的相似度得分
公式升级:
1.活跃用户应该被降低相似度公式中的的贡献度
N(u)表示user产生的行为总数
2.用户在不同时间对item的操作应给与时间操作惩罚
理由:兴趣会随时间变化
二.基于用户的协同过滤 UserCf
含义:给用户推荐相似兴趣用户感兴趣的物品
N(u)表示user u有过行为的item集合,N(v)表示user v有过行为的item集合。
分子重复度越高,相似度越高;分母实现归一化。
r ui表示user v对item i的行为得分:比如电影系统中对电影的评分
S uv表示user u与user v的相似度得分
公式升级:
1.降低那些异常活跃物品对用户相似度的贡献度:比如购买新华词典无法反应个人的兴趣,而购买机器学习可以。
u(i)表示对item有过行为的user集合
2.不同 用户对同一item行为的时间段不同给与时间惩罚
三. ItemCf 和UserCf 的 两者优缺点
1.推荐实时性:UserCf不会根据用户的行为马上改变,而ItemCf则会
2.新物品/新用户的推荐:
对UserCf来说,新用户的到来不会立即产生推荐,需要等用户有了一定的行为并且得到了与其他用户相似的矩阵之后才可以推荐。新物品入库后,可以通过item点击推荐给用户
对ItemCf来说,新物品入库后,可以通过item点击推荐给Item相似的其余Item。
3.推荐理由可解释性
对UserCf来说,推荐结果难以解释
对ItemCf来说,推荐结果更容易解释
四. 适用场景
1.性能层面考量
用户量远大于Item的数量集,实战中更倾向于ItemCf
2.个性化层面考量
UserCf适用于物品需要及时下发,且个性需求不需要太强烈的领域
ItemCf适用于物品丰富,且个性需求需要强烈的领域
实战中更倾向于ItemCf