UserCF与ItemCF的比较
参考书本: 项亮, 推荐系统实践. 2012
本文系阅读笔记
基于邻域&隐语义模型
userCF:被Digg用来给用户推荐个性化网络文章
ItemCF: 亚马逊推荐商品
UserCF 给用户推荐那些和他有共同兴趣爱好的用户喜欢的物品,而 ItemCF 给用户推荐那些和他之前喜欢的物品类似的物品。
从这个算法的原理可以看到, UserCF 的推荐结果着重于反映和用户兴趣相似的小群体的热点,而 ItemCF的推荐结果着重于维系用户的历史兴趣。
UserCF 的推荐更社会化,反映了用户所在的小型兴趣群体中物品的热门程度,而 ItemCF 的推荐更加个性化,反映了用户自己的兴趣传承。
UserCF 可以给用户推荐和他有相似爱好的一群其他用户今天都在看的新闻,这样在抓住热点和时效性的同时,保证了一定程度的个性化。UserCF 适合用于新闻推荐的另一个原因是从技术角度考量的。因为作为一种物品,新闻的更新非常快,每时每刻都有新内容出现,而 ItemCF 需要维护一张物品相关度的表,如果物品更新很快,那么这张表也需要很快更新,这在技术上很难实现。UserCF只需要用户相似表即可。
而对于图书、电影、电子商务,在这些网站中,用户的兴趣是比较固定和持久的。此外,这些系统中的用户大都不太需要流行度来辅助他们判断一个物品的好坏,而是可以通过自己熟悉领域的知识自己判断物品的质量。因此,这些网站中个性化推荐的任务是帮助用户发现和他研究领域相关的物品。同时,从技术上考虑, UserCF 需要维护一个用户相似度的矩阵,而 ItemCF 需要维护一个物品相似度矩阵。
选择方法
首先应该满足产品的需求,比如如果需要提供推荐解释,那么可能得选择 ItemCF 算法。
其次,需要看实现代价,比如若用户太多,很难计算用户相似度矩阵,这个时候可能不得不抛弃 UserCF 算法。
最后,离线指标和点击率等在线指标不一定成正比。而且,这里对比的是最原始的 UserCF 和 ItemCF 算法,这两种算法都可以进行各种各样的改进。一般来说,这两种算法经过优化后,最终得到的离线性能是近似的。