您的位置:首页 > 其它

协同过滤中item-based与user-based选择依据

2016-11-12 11:29 246 查看
协同过滤是大家熟知的推荐算法。 总的来说协同过滤又可以分为以下两大类:

Neighborhood-based:计算相似item 或user后进行推荐

Model-based: 直接训练模型预测Rating

在Neighborhoold-based算法中,又细分为user-based CF(Collaborative Filtering)和item-based CF。合适选择使用userd-based CF,什么时候item-based CF更适用就会是一个需要权衡的问题。一般而言,可以以以下几个标准进行选择:

1.Accuracy:一般而言,少数置信的邻居的推荐要比很多的没有太多区分性的邻居更加准确,所以一般我们会选择数量较少的因素(item or user)作为based的算法。 例如, amazon中的商品的种类很多,但远没有注册的用户多,所以该场景使用item-based CF比较合适; 反过来,在百度关键词推荐系统中,商业客户(user)量级是100W左右,而待推荐的关键词(item)是10亿量级,此时使用user-based会是更明智的选择。

2.Efficiency

3.Stability
:一般情况下倾向于使用变动频率和变动量较少的因素作为based的因素, 例如item变动较少, 则选择item-based, 否则选择user-based
4.Justifablity(说服力):推荐系统中,推荐理由越白盒,用户越容易理解就越有说服力。所以从这方面考虑,item-based CF会更有说服力,例如显示‘因为你浏览了三星 Galaxy,所以给你推荐了HTC One’的理由会比‘和你相似的用户也喜欢XXX’更有说服力,因为推荐系统是不披露哪些用户和我详细,怎么证明和我相似的,而且这种说法显得比较含糊。

5.Serendipity:多样性就是user-based的一大优势,和自己相似的用户,总能发现一些自己还没发现的新东西。 如果追求多样性, userd-based会是不错的选择。

当然上述原则都不是绝对的,而且在真实工业界推荐系统中, 两种方法一般都是混合着使用。例如百度关键词推荐系统中,就会分别使用item-based和user-based方法找到待推荐关键词候选后,再统一使用model进行后续ranking。

参考文献:

RSs Handbook

Evaluating Collaborative Filtering Recommender Systems, Jonathan L.Herlocker
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: