量化评估推荐系统效果

推荐系统最有效的方法就是A/B test进行模型之间的对比,但是由于现实原因的局限,存在现实实时的困难性,所以,梳理了一些可以补充替代的指标如下,但是离线评估也存在相应的问题:

  1. 数据集的稀疏性限制了适用范围,用户之间的交集稀疏。
  2. 评价结果的客观性,由于用户的主观性,不管离线评测的结果如何,都不能得出用户是否喜欢某推荐系统的结论,只是一个近似的评估。
  3. 深度评估指标的缺失。(如点击深度、购买客单价、购买商品类别、购买偏好)之间的关联关系。
  4. 冷启动
  5. Exploration 和 Exploitation问题

离线模型之间的评估

召回集测试

  • recall
    命中skn个数/用户真实点击skn个数

  • precision
    命中skn个数/所有预测出来的skn总数

  • F1-Measure
    2/(1/recall+1/precison)

  • 交互熵

  • MAE

  • RMSE

  • 相关性
    常见的比如:Pearson、Spearman和Kendall’s Tau相关,其中Pearson是更具数值之间的相似度,Spearman是根据数值排序之间的相似度,Kendall’s Tau是加权下的数值排序之间的相似度。

  • 基尼系数

  • 信息熵

排序部分测试

  • NDCG(Normalize DCG)
  • RBP(rank-biased precision)

RBP和NDCG指标的唯一不同点在于RBP把推荐列表中商品的浏览概率p按等比数列递减,而ND CG则是按照log调和级数形式。

离线模型与在线模型之间的评估

很多时候,我们需要确定离线模型的效果足够的健壮才能允许上线进行线上测试,那如何进行离线模型与线上模型的评估对比就是一个比较复杂的问题。

难点

  • 缺乏公平的测试数据
    实际处理过程中,我们发现,所有的已知点击都是来自线上模型推荐的结果,所以极端情况下,线上的recall是100%
  • 缺乏公认的衡量指标
    在线下对比中,我们发现比如recall、precision、F1-Measure等指标都是大家约定俗成的,不存在很大的争议,而离线在线模型对比却没有一个准确公认的衡量指标

指标设计

  • online_offline_cover_rate&first_click_hit_rate

这一组指标是结合在一起看的,其中online_offline_cover_rate是指针对每一个用户计算理线模型推荐的商品与在线模型推荐的商品的重合个数/在线模型的推荐商品个数,online_offline_cover_rate越低代表离线模型相对在线模型越独立;first_click_hit_rate是指offline模型对用户每天第一次点击的命中率,也就是命中次数/总统计用户数。
结合这两个指标,我们可以得到在online_offline_cover_rate越低的情况下,却能覆盖线上用户真实点击的次数越多,代表offline模型的效果优于线上模型。

  • online_precision_rate/offline_precision_rate

离线模型的准确率和在线模型的准确率。
这边在实际计算的时候采取了一个技巧,针对某个推荐位计算在线模型准确率的时候,用的是从来没有浏览过这个推荐位的用户的浏览历史匹配这个用户这个推荐位的推荐结果。这样可以避免用户的点击结果受到推荐位推荐结果影响的问题。

举个例子:用户在推荐位A上没有浏览过,他的点击是不受推荐位A推荐的商品影响的,拿这个用户推荐位A我们给他线上推荐的结果作为线上模型的推荐结果去计算,这样才更加合理。

  • online_recall_rate/offline_recall_rate

离线模型的召回率和在线模型的召回率。
同上解释。

  • roi_reall/roi_precision

同上解释,只是把未来的点击作为match源更换成了加购物车、购买、收藏这些数据。

其他评估方向

覆盖率

推荐覆盖率越高, 系统给用户推荐的商品种类就越多 ,推荐多样新颖的可能性就越大。如果一个推荐算法总是推荐给用户流行的商品,那么它的覆盖率往往很低,通常也是多样性和新颖性都很低的推荐。

多样性

采用推荐列表间的相似度(hamming distance、Cosine Method),也就是用户的推荐列表间的重叠度来定义整体多样性。

新颖性

计算推荐列表中物品的平均流行度。

其他

用户满意度、用户问卷、信任度、鲁棒性、实时性、

评测维度

最后说一下评测维度分为如下3种,多角度评测:

  • 用户维度
    主要包括用户的人口统计学信息、活跃度以及是不是新用户等。
  • 物品维度
    包括物品的属性信息、流行度、平均分以及是不是新加入的物品等。
  • 时间维度
    包括季节,是工作日还是周末,是白天还是晚上等。

附常规评价指标的整理结果(来自论文Evaluation Metrics for Recommender Systems):



欢迎大家关注我的个人bolg,更多代码内容欢迎follow我的个人Github,如果有任何算法、代码疑问都欢迎通过公众号发消息给我哦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容