目录
一、什么是推荐系统及推荐系统的任务:
- 推荐系统的任务就是联系用户和信息(物品),一方面帮助用户发现对自己有价值的信息(或称感兴趣的物品),另一方面能够让信息(物品)能够展现在对它感兴趣的用户面前。从而实现用户与信息(物品)之间的双赢。
- 推荐系统与搜索引擎的区别在于,推荐紫铜不需要用户有明确的需求,而是根据用户的历史行为给用户兴趣建模,从而主动给用户提供明确的需求物品信息,推荐系统能够在用户没有明确目标的时候帮他们发现自己的感兴趣的内容。
- 推荐系统能够通过挖掘用户的行为,从而找到用户个性化的需求,将长尾商品准确的推荐给需要的用户,帮助用户发现他们感兴趣但很难发现的商品。
- 推荐系统的本质是将用户和物品联系起来,它能够在信息过载的情况下帮助用户发现令他们感兴趣的信息,也能够将信息推送给对它们感兴趣的用户,实现用户和信息双赢。
用户信息(物品)
二、推荐系统的应用
广泛利用推荐系统的领域包括:电子商务、电影视频、音乐、社交网络、阅读、基于位置服务、个性化邮件和广告。
电子商务:亚马逊 ,电影视频网站:Netflix,个性化音乐电台:Pandora 社交网络:Facebook,个性化阅读:GoogleReader,基于位置服务:Foursquare
三、推荐系统评测
什么才是好的推荐系统?这是推荐系统评测需要解决的首要问题,一个完整的推荐紫铜包含三个参与方:用户、物品提供者、推荐系统网站。以图书推荐为例,首先,推荐系统需要满足用户需求,给用户推荐他们感兴趣的图书,其次:推荐系统要让各出版社的书都能够被推荐给对其感兴趣的用户,而不是只推荐几个大型出版社的书。最后好的推荐系统设计,能够让推荐系统本身收集到高质量的用户反馈,不断完善推荐的质量,增加用户和推荐系统之间的交互,提高网站的收入。因此在评测一个推荐系统的同时,需考虑三方的利益,一个好的推荐系统是能够令三方共赢的系统。
为了评测推荐系统采用以下几个指标:
1.准确度
2.覆盖度
3.新颖度
4.惊喜度
5.信任度
6.透明度
推荐系统的实验方法:
1.离线实验
(1)通过日志数据获得用户的历史行为数据,并按照一定的格式生成标准数据集;
(2)将数据集按照一定的规则分成训练集和测试集;
(3)在训练集上训练用户的兴趣模型,在测试集上测试;
(4)通过事先定义的离线指标算法在测试集上评测算法在测试集上的预测结果。
优点:不需要对实际系统的控制权,不需要用户参与实验,速度快,可以测试大量算法。
缺点:无法计算商业上关心指标,离线实验的指标和商业指标存在差距。
2.用户调查
在对算法没有十足把握的时候上线具有较大的风险,所以在上线前一般需要做一次称为用户调查的测试。,在做用户调查时,一般要控制成本和调查的统计意义。
优点:可以获得体现用户主观感受的指标,相对在线实验的风险很低,出现错误后很容易弥补。
缺点:招募测试用户的成本代价较大,很难组织大规模的测试用户,可能会导致测试结果统计意义不足。
3.在线实验
在完成离线实验和用户调查后,可以将推荐系统上线做AB实验。
优点:可以公平的获得不同算法实际在线时的性能指标,包括商业上关注的指标。
缺点:周期较长,必须经过长期实验才能够获得可靠的结果。
一般来说,一个新的推荐系统最终上线,需要完成上面所说的3个实验。
- 首先,通过离线实验证明它在很多离线指标上优于现有算法。
- 然后,通过用户调查确定它的用户满意度不低于现有的算法。
- 最后,通过在线的AB测试确定它在我们关心的指标上优于现有的算法。