目录
1.1 什么是推荐系统
随着信息技术和互联网的发展,人们逐渐从信息匮乏走入信息过载时代。对于信息信息消费者,需要从大量信息中找到自己感兴趣的信息;对于信息生产者,让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统的任务就是连接用户和信息,实现双赢。
历史上为了解决信息过载问题,代表性的解决方案包括:以雅虎为代表的分类目录,以谷歌为代表的搜索引擎。而推荐系统不需要用户明确的需求,而是基于用户的历史行为对用户兴趣建模,主动推荐。
互联网条件下,不热门商品数量极其庞大,这类长尾商品的总销售额不可小觑。主流商品代表了多数用户的需求,而长尾商品代表了小部分用户的需求。充分研究用户的兴趣,发掘长尾提高销售额,正是推荐系统主要解决的问题。
1.2 个性化推荐系统的应用
各类网站和app中都有推荐系统,以提高点击率和转化率。
推荐系统的组成部分一般包括前台的展示界面、后台的日志系统以及推荐算法系统三部分构成。
广泛利用推荐系统的领域包括电子商务、电影和视频、音乐、社交网络、阅读、基于位置的服务、个性化体检和广告等。
1.3 推荐系统评测
完整的推荐系统存在3个参与方:用户、物品提供者和提供推荐系统的网站。
第一,需要满足用户需求。
第二,让各个商户的商品都能够被推荐给感兴趣的用户,而不是只推荐几个知名商户的商品。
第三,好的推荐系统设计,能够让推荐系统本身收集到高质量的用户反馈,不断完善推荐的质量,增加用户和网站的交互,提高网站的收入。
因此为了全面评测推荐系统对三方利益的影响,指标包括准确率、覆盖度、新颖度、惊喜度、信任度、透明度等。
1.3.1 推荐系统实验方法
1.离线实验
通过日志系统获取用户行为数据,格式化生成标准的数据集;在训练集上训练,在测试机上预测,计算离线评测指标。优点是方便快速,缺点是无法获得商业指标如点击率、转化率。
2.用户调查
找一些用户,完成一些推荐系统上的任务,观察记录他们的行为,并让他们回答一些问题。优点是能够直接获取到与主观感受相关的指标,如:惊喜度。缺点是成本高,很难组织大规模实验。测试用户需要保证分布与真实用户分布相同,且要尽量保证双盲,即实验人员和用户事先不知道测试的目标。
3.在线实验
通过A/B实验,对不同组用户采用不同的算法,然后统计不同组的评测指标来比较,比如点击率等。优点是公平,而且直接反映商业关注的指标。缺点是周期较长,而且需要在工程上确保流量的切分是独立且随机的。
一个新的推荐算法最终上线,需要完成上面所说的3个实验,使得:
1.离线指标更优
2.用户满意度不下降
3.AB实验指标更优
1.3.2 评测指标
- 用户满意度
- 预测准确率(最重要):评分预测看RMSE或者MAE, TopN推荐看准召)
- 覆盖率:推荐列表中不同物品出现次数的分布,比如信息熵、基尼系数。(注:马太效应是指强者更强,弱者更弱的效应。推荐系统的初衷是希望消除马太效应。)
- 多样性:给用户的推荐列表需要满足用户广泛的兴趣。其中相似度度量函数可以基于内容也可以基于协同过滤。
- 新颖性:给用户推荐那些他们以前没有听说过的物品。偏定性。
- 惊喜度:惊喜度高是指推荐系统和用户的历史兴趣不相似,但却让用户觉得满意。偏定性。
- 信任度:只能通过问卷调查。增加推荐系统的透明度,利用用户的社交网络信息给用户做推荐是提高透明度的两种方法。
- 实时性:第一,推荐系统要实时地更定推荐列表来满足用户新的行为变化。第二,推荐系统需要能够将新商品推荐给用户,即具备物品冷启动的能力。
- 健壮性:如何反作弊。比如水军恶意刷好评、刷差评。健壮性的评测主要利用模拟攻击。提升健壮性的方法有,尽可能选择作弊成本较高的用户行为作为推荐主要依赖,以及在使用数据前,进行攻击检测。
- 商业目标:销售额、点击率等等。
1.3.3 评测维度
添加评测维度的目的是了解这个算法在什么情况下性能最好。主流评测维度包括但不限于以下方面:
用户维度:人口统计学信息、活跃度、新用户等;
物品维度:属性信息、流行度、平均分、新物品等。
时间维度:季节、是否工作日、是否白天。