推荐系统 - 概述
什么是推荐系统
推荐系统让用户能够发现对自己有价值的信息,另一方面,能够让信息展现在对它感兴趣的用户面前。实现消费者和生产者的双赢。
几个理论
长尾理论
来自市场营销上的说法。即传统认为,厂商80%的收入很可能来自20%热门商品。但在互联网条件下,由于铺货成本极其低廉,那些不热门的商品销售数量可能极其庞大,使得其销售收入与热门商品相当甚至更多。推荐系统就是基于长尾理论, 将长尾商品推荐给用户, 实现收益增加
幂律分布
一种分布, 曲线如下。长尾理论就是幂律分布的通俗体现。常见幂律分布:英文单词、个人收入等
马太效应
即两极分化效应,强者越强, 弱者越弱
出自《新约·马太福音》: “凡有的,还要加倍给他叫他多余;没有的,连他所有的也要夺过来”
推荐系统原理
推荐系统并没有特别高深的理论,它只不过将我们平常的检索进行了自动化
- 社会化推荐:对应于向好友咨询
- 基于内容的推荐:对应于我们手动搜索电影片名或演员名
- 基于协同过滤的推荐:对应于查看排行榜,找到广受好评的电影
推荐的本质是将用户和物品联系起来。而不同的推荐系统只是利用了不同的联系方式
推荐做得好的应用
- 亚马逊
- 让每个用户像是拥有自己的专属商店一样
- 20-30%收入来自推荐系统
- Netflix
- 举办了推荐系统比赛
- 自己宣称有60%的用户是通过推荐系统找到自己喜欢的影片的
- Youtube
- 其实验表明。个性化推荐的视频点击率是热门视频点击率的两倍
- 音乐电台
- 豆瓣电台:用户无法自己选取歌曲。只能标记喜欢或不喜欢,模型建立完成后就能够推荐用户感兴趣的歌曲。
- facebook
- 利用推荐系统推荐广告、推荐信息流、推荐好友
- 退出了API,称为Instant Personalization,能够推荐用户的好友喜欢的物品。
- 阅读推荐
- 今日头条等
什么是好的推荐系统
合格的满足如下三点
- 用户能够得到自己的感兴趣的推荐内容
- 商品提供方的物品要能够被推荐到合适的用户手中
- 能够收集到高质量的用户反馈, 从而不断完善推荐系统, 提高推荐准确性。
好的推荐系统还满足一点
- 不仅能够预测用户的行为, 还能扩展用户的视野,帮助其发现潜在的新东西
注意, 准确性并不能完全决定推荐算法的好坏。 比如预测太阳从东方升起,这是100%准确的预测, 但是也是一个毫无意义的预测。
如何测试推荐系统
- 离线测试:即使用现有的数据集对系统进行测试
- 用户调查:直接上线前的测试,先做用户调查,让用户为推荐系统进行评价
- 在线实验:用户调查完成后上线。评价的标准是做AB test,即和原有的算法进行比较。
上面三个处于推荐系统的不同开发阶段。先离线测试,OK后做用户调查,OK后上线实验
测试标准
用户满意度
预测准确度
覆盖率:即对长尾物品的发掘能力。如果所有物品都出现在推荐列表中, 并且出现次数差不多, 则长尾发掘能力就好很多
两个指标定义覆盖率
基尼系数:用于衡量收入分配是否均匀之类的问题。计算方法是A/B。当A为0时,基尼系数为0.说明绝对平等了。当A很大时,说明非常不平衡。
多样性:推荐多种多样的商品
新颖性:推荐用户没听说过的商品
惊喜度:相比新颖性,还能让用户感觉使用之后很惊喜
信任度:涉及推荐的方式,要让用户新人所推荐的内容,愿意购买商品
实时性:比如用户新买了一个iphone,及时给他推荐手机壳之类的
健壮性:抗击作弊