zoukankan      html  css  js  c++  java
  • 推荐系统的评价指标 (推荐系统实践读书笔记)

    什么是好的推荐系统:

    一个完整的推荐系统包括三部分用户,网站,内容提供方。

    好的推荐系统设计,能够让推荐系统本身收集到高质量的用户反馈,不断完善推荐的质量,增加 用户和网站的交互,提高网站的收入。因此在评测一个推荐算法时,需要同时考虑三方的利益, 一个好的推荐系统是能够令三方共赢的系统。 

    推荐系统的指标:

    推荐系统最为重要的指标是准确率,即预测的准确率。例如预测某个用户是否会购买某个商品。

    但是准确率并不是总能衡量一个推荐系统的优劣。为了评价推荐系统对三方利益的影响,推荐系统还有一下衡量指标:

    这些

    指标包括准确度、覆盖度、新颖度、惊喜度、信任度、透明度等。这些指标中,有些可以离线计 算,有些只有在线才能计算,有些只能通过用户问卷获得。 

    推荐系统的实验方法:

    1 离线实验。

    离线实验的方法一般由如下几个步骤构成:
    

    (1) 通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集;

    (2) 将数据集按照一定的规则分成训练集和测试集;

    (3) 在训练集上训练用户兴趣模型,在测试集上进行预测;

    (4) 通过事先定义的离线指标评测算法在测试集上的预测结果。 

    优点:

    这种实验方法的 好处是不需要真实用户参与,可以直接快速地计算出来,从而方便、快速地测试大量不同的算法。 

    缺点:

    它的主要缺点是无法获得很多商业上关注的指标,如点击率、转化率等,而找到和商业指标非常相关的离线指标也是很困难的事情 

    2 用户调查

    在进行离线实验之后,如果各项指标比之前算法有优势,可以在上线之前进行用户调查。

    用户调查的优点是可以直接获取大量关于用户主观体验的指标。但是缺点是招募测试用户的代价比较大,

    难以组织大量的测试用户,因此统计意义不足。

    3 线上测试

    在线上做AB测试。就是将新旧系统进行对比测试。

    AB测试的优点是可以公平获得不同算法实际在线时的性能指标,包括商业上关注的指标。 AB测试的缺点主要是周期比较长,必须进行长期的实验才能得到可靠的结果。因此一般不会用 AB测试测试所有的算法,而只是用它测试那些在离线实验和用户调查中表现很好的算法。其次, 一个大型网站的AB测试系统的设计也是一项复杂的工程。一个大型网站的架构分前端和后端, 从前端展示给用户的界面到最后端的算法,中间往往经过了很多层,这些层往往由不同的团队控 制,而且都有可能做AB测试。如果为不同的层分别设计AB测试系统,那么不同的AB测试之间往 往会互相干扰。比如,当我们进行一个后台推荐算法的AB测试,同时网页团队在做推荐页面的 界面AB测试,最终的结果就是你不知道测试结果是自己算法的改变,还是推荐界面的改变造成 的。因此,切分流量是AB测试中的关键,不同的层以及控制这些层的团队需要从一个统一的地并对不同组的用户采用不同的算法,然后通过统计不同组用户的各种不同的评测指标比较不同算 法,比如可以统计不同组用户的点击率,通过点击率比较不同算法的性能。 

  • 相关阅读:
    【BZOJ2666】[cqoi2012]组装 贪心
    【BZOJ1018】[SHOI2008]堵塞的交通traffic 线段树
    【BZOJ3997】[TJOI2015]组合数学 最长反链
    【BZOJ4052】[Cerc2013]Magical GCD 乱搞
    【BZOJ4059】[Cerc2012]Non-boring sequences 分治
    【BZOJ2529】[Poi2011]Sticks 贪心
    【BZOJ4264】小C找朋友 随机化
    【BZOJ4966】总统选举 线段树+随机化
    【BZOJ3796】Mushroom追妹纸 二分+hash
    【BZOJ1146】[CTSC2008]网络管理Network 树状数组+DFS序+主席树
  • 原文地址:https://www.cnblogs.com/earendil/p/8176885.html
Copyright © 2011-2022 走看看