1. ItemCF算法与UserCF算法的基本原理
算法名称 | 原理 | 优点 | 相似度计算 | 备注 |
---|---|---|---|---|
User CF | 给用户推荐和他有相同兴趣爱好的用户喜欢的物品。(维护一个用户相似度矩阵) | 着重反应和用户相似的小群体的热点,反应了用户所在小型兴趣群体中物品的热门程度 | w u v = ∥ N ( u ) ∩ N ( v ) ∥ ( ∥ N ( u ) ∥ N ( v ) ∥ w_{uv}= \frac{ \|N(u)∩N(v)\|}{\sqrt{(\|N(u)\|N(v)\|}} wuv=(∥N(u)∥N(v)∥∥N(u)∩N(v)∥N(u) 表示用户u有过正反馈的物品集合,N(v) 表示用户v有过正反馈的物品集合 | 1.新闻推荐(同群人所关注的特点)2.物品数量远超用户数量 |
Item CF | 给用户推荐和他之前喜欢的物品类似的物品。(维护一个物品相似度矩阵) | 着重维系用户的历史兴趣,反应了用户自己兴趣的传承,更加个性化。 | w i j = ∥ N ( i ) ∩ N ( j ) ∥ ( ∥ N ( i ) ∥ ∥ N ( j ) ∥ w_{ij} = \frac{\|N(i)∩N(j)\|}{\sqrt{(\|N(i)\|\|N(j)\|}} wij=(∥N(i)∥∥N(j)∥∥N(i)∩N(j)∥ N ( i ) N(i) N(i) 喜欢物品i的用户数。 N ( j ) N(j) N(j) 喜欢物品j的用户数 | 1. 图书、电影网站、电子商务(用户兴趣比较固定,对热门程度不敏感)2. 用户数量远超物品数量 |
2. User CF 和 Item CF 比较
User CF | Item CF | |
---|---|---|
性能 | 适用于用户较少的场合,如果用户很多,计算用户相似度矩阵代价很大 | 适用于物品数量明显小于用户数的场合,如果物品很多(网页),计算物品相似度矩阵代价很大 |
领域 | 时效性较强,用户个性化兴趣不太明显的领域,如新闻 | 长尾物品丰富,用户个性化需求强烈的领域(电商) |
实时性 | 用户有新行为,不一定造成推荐结果的立即变化 | 用户新行为,一定会导致推荐结果的实时变化 |
冷启动 | 1. 在新用户对少量物品产生行为后,不能立即地对他进行个性化推荐,因为用户相似度表是每隔一段时间离线计算的。2.物品上一段时间,一旦用户对物品产生行为就可以将新物品推荐给和他产生行为的用户兴趣相似的其他用户 | 1. 新用户只要对一个物品产生行为,就可以给他推荐和该物品相关的其他产品,但没有办法在不离线更新物品相似度表的情况下将新物品推荐给用户 |
推荐理由(可解释性) | 很难提供令用户信服的推荐解释(也有这样做的,你有多少好友浏览和购买过) | 利用用户的历史行为给用户做推荐,可以令用户比较信服 |