第一章 好的推荐系统
什么是推荐系统?
在信息过载的时代,无论是信息生产者还是信息消费者都很难获得有用的信息。前者,需要把自己好的东西推广出去,后者需要找到自己需,要但自己所不知道的东西。
为了解决信息过载的问题,人类已经提出了很多解决方案,其中具有代表性有分类目录和搜索引擎。分别催生了雅虎和谷歌。
和搜索引擎一样,推荐系统也是为了帮助用户快速找到自己需要的内容(但用户并没有明确的要求)。因此,从某种意义上来讲,推荐系统是搜索引擎的补充。他们俩对于用户来说是一种互补的工具。
搜索引擎是帮助用户有目的的搜索一些去查找内容,而推荐系统是在用户没有明确的目的的情况下帮助用户搜索他们感兴趣的内容。
从物品的角度出发,06年出版的【长尾理论】(The Long Tail)中指出,传统的80/20原则(80%的销售额来自20%热门品牌),在互联网的条件下,推荐系统可以帮助80%用户们很难发现的产品进行准确推荐。
推荐系统按数据分为:协同过滤,内容过滤,社会化过滤。
按算法分为:基于领域算法,基于图的算法,基于矩阵分解或者概率模型算法。
推荐算法的本质,是通过一点方式将用户和物品联系起来。
什么是个性化推荐系统?
通过分析大量的用户行为日志,给不同的用户提供不同的个性化页面。
几乎所有的推荐系统应用由3部分组成:前台展示页面、后台的日志系统以及推荐算法系统。
个性化推荐应用的大概方向:
1.电子商务
2.电影和视频网站
3.个性化音乐网络电台
4.社交网络
5.个性化阅读
6.基于位置的服务
7.个性化邮件
8.个性化公告
关于推荐系统的评测。
一个完整的推荐系统一般由3个参与方组成:用户、物品提供者、提供推荐系统的网站
在评测一个推荐算法时,需要同时考虑三方的利益,一个好的推荐系统是能令三方共赢的系统。
预测准确度是推荐系统领域的重要指标。(没有之一)
关于推荐系统的指标包括:准确度、覆盖度、新颖度、惊喜度、信任度、透明度等。
推荐系统实验方法:离线实验、用户调查、在线实验。
关于离线实验四步骤:
1.通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集。
2.将数据集按照一定的规则分成训练集和测试集。
3.在训练集上训练用户兴趣模型,在测试集上进行预测。
4.通过事先定义的离线指标评测算法在测试集上的预测结果。
优点:不需要真事用户参与,快速直接计算结果。可以大量测试算法,从而发现算法的好坏。
缺点:无法获得很多商业上关注的指标,如点击率,转化率等。
关于用户调查:
在上线测试时会有较高的风险,所以在上线前一般需要做一次用户调查的测试。
优点:降低风险获得用户的主观感受,方便后续弥补。
缺点:成本高,可能会消磨用户的耐性乃至对产品的好感度。
在用户调查时要尽量保证是双盲实验,不要让实验人员和用户事先知道测试目标,以免受到主观影响。
关于在线实验。
在完成离线实验和必要的用户调查后,可以将系统上线并做AB测试,将他和旧的算法进行比较。
AB算法的优点:公平获得不同算法实际在线时的性能指标,包括商业上关注的指标。
缺点:周期长。因此,不会用AB算法测试所有的算法。
AB算法的关键:切分流量是AB算法中的关键,不同层之间的流量应该是正交的。
一般来说,一个新的推荐算法上线,需要完成上面所说的3个实验
1.需要通过离线实验证明它在很多离线指标上优于现有的算法。
2.需要通过用户调查确定它的用户满意度不低于现有算法。
3.通过在线的AB测试确定它在我们关系的指标上优于现有算法。
评测指标:
1.用户满意度(在线)
2.预测准确度(离线)
3.覆盖率
4.多样性
5.新颖性
6.惊喜度
7.信任度
8.实时性
9.健壮性
10.商业目标
预测准确度里的评分预测:
评分预测的预测准确度一般通过均方根误差(RMSE)和平均绝对误差(MAE)。
TopN推荐【未完待续】