On Sampled Metrics for Item Recommendation

Krichene W. and Rendle S. On sampled metrics for item recommendation. KDD, 2020.

作者对推荐系统中 sampled-based ranking 的评估进行了批判.

符号说明

  • xD, instance (user, query ...);
  • I, item set, |I|=n;
  • A, 推荐算法;
  • y={y1,y2,,yl}I, instance x 所感兴趣的 items;
  • R(A,x), 给定 instance x 和推荐算法 A, 返回 Ax 所感兴趣的 y 排序结果. 比如, xy1,y2 感兴趣, 若 R(A,x)={3,5} 则表示 A 认为 y1,y2 在所有的 items 中的排名为 3 和 5 (排名从 1 开始, 越靠前说明算法认为这个 item 越适合 x).
  • 注意: 在没有起义的情况下, 我们省略 A,x, 仅用 R 表示 R(A,x).
  • M(R) 表示衡量排序结果 R 的一个指标.
  • [n]={1,2,,n}.

Metrics

  • 给定 Metric M, 其在整个数据上的指标通常采用如下的方式测量:

    1|D|xDM(R(A,x)).

  • 接下来, 我们介绍推荐系统中一些常见的 M.

  • AUC:

    AUC(R;n)=1|R|rRr[n]Rδ(r<r)n|R|,

    如果 |R|=1, 则有

    AUC(R;n)=nrn1.

  • Precision:

    Prec(R;k)=rRδ(rk)k.

    如果 |R|=1,

    Prec(R;k)=δ(rk)k.

  • Recall:

    Recall(R;k)=rRδ(rk)|R|.

    如果 |R|=1,

    Recall(R;k)=δ(rk)1.

  • Average Precision:

    AP(R;k)=1min(|R|,k)i=1kδ(iR)Prec(R;i).

    如果 |R|=1,

    AP(R;k)=δ(rk)r.

  • Normalized discounted cumulative gain:

    NDCG(R;k)=1i=1min(|R|,k)1log2(i+1)i=1kδ(iR)log2(i+1).

    如果 |R|=1,

    NDCG(R;k)=δ(rk)log2(r+1).

Sampled-based ranking

  • 上面的指标都是 full-ranking, 即排序是在整个 item 集合 I 之上的.

  • 但是, 如果 |I|=n 很大, 那么每次排序可能都需要很长的时间. 所以, 一种常用的 sampled-based ranking 是对于每个正样本 y, 采样 m 个负样本 i1,i2,,imy.

  • 然后 y{y,i1,i2,,im} 中的排名用于后续的评估.

例子

  • 让我们看一个例子:

  • 上图展示了三个不同的推荐系统 A,B,C 给五个实例的预测排名, 然后后面是精确的评估. 从其上的表现也可以发现:

    1. AUC 是一个很 mean 的指标, 它要求推荐系统一视同仁;
    2. AP, NDCG 比较在意排名靠前的结果.
    3. Recall@10 对排名 10 之前的一视同仁, 但是之后的就会有极大的惩罚.
  • 实际上, 这些指标对于不同的 r 的评估结果如下 (|R|=1).

  • 那, 如果我们按照 sampled-based ranking 评估会是怎么样的一个结果呢?

  • 可以发现, 推荐系统 A 始终取得了一个最好的结果, 这说明:
    1. Sampled-based ranking 可能是不保序的, 即当 full-ranking 下 C 比 A 好的时候, 在 Sampled-based ranking 下可能会得出结果 A 比 C 好.
    2. Sampled-based ranking 下的不同指标, 如 AP, NDCG 等, 会变得 mean, 和 AUC 有着类似的倾向.

Sampled metrics

  • 假设 |R|=1, 令 R~ 表示 Sampled-based ranking 下的排名. 一个很自然的愿景是保序性:

    1|D|xDM(R(A,x))>1|D|xDM(R(B,x))E[1|D|xDM(R~(A,x))]>E[1|D|xDM(R~(B,x))].

  • 当然, 根据上面的分析, 我们已经发现这个性质是不成立的, 这里我们进一步看看到底是为什么. 为此, 我们需要计算 (注意, 我们假设 |R|=1)

    E[M(R~)]=E[M(r~)]=i=1m+1p(r~=i)M(i).

  • p(r~=i) 是 target y 在样本 {y,i1,,im} 中的排名为 i 的概率. 由于 ik 是均匀采样的, 故

    p(j<r)=r1n1=1AUC(r;n).

  • 故, r~ 实际上等价于从如下分布中采样:

    r~B(m,r1n1)+1,

    其中 B(m,r1n1 表示成功概率为 r1n1 的二项分布.

  • p(r~=i)=(mi1)(r1n1)i1(nrn1)mi+1.

  • 此外, 我们有

    E[r~]=mr1n1+1

  • 接下来我们讨论不同的 matric 的期望.

  • AUC:

    Er~[AUC(r~;m+1)]=Er~[m+1r~m]=m+1Er~[r~]m=mmr1n1m=nrn1.

    故 Sampled-based ranking 下, AUC 是无偏的.

  • Precision:

    Er~[Prec(r~;k)]=Er~[δ(r~k)1k]=i=1m+1p(r~=i)δ(ik)1k=i=1kp(r~=i)1k=1kF(k1;m,r1n1),

    这里 F(k):=P(r~k) 表示二项分布的分布函数.

  • Recall:

    Er~[Recall(r~;k)]=Er~[δ(r~k)]=i=1m+1p(r~=i)δ(ik)=i=1kp(r~=i)=F(k1;m,r1n1),

  • AP:

    Er~[AP(r~;k)]=Er~[δ(r~k)/r~]=i=1m+11ip(r~=i)δ(ik)=i=1kp(r~=i)1i.

    k=m+1, 且 r>1 的时候, 我们有

    Er~[AP(r~;m+1)]=Er~[1r~]=Er~1[1r~1]=1(1p(j<r))m+1p(j<r)(m+1)=1(nrn1)m+1(r1)m+1n1=1AUC(r;n)m+1(r1)m+1n1.

    这里, 我们用到了二项式分布的性质, 对于二项式分布 kB(m;p), E[1/(k+1)]

    E[1k+1]=1(1p)m+1p(m+1).

  • 非常有意思的是, 可以观测到:

    1. AUC(r;n)0 的时候, 即推荐模型很差的时候, AP(r~;m+1) 和 和 AP(r;m+1) 给出的结果是一致的;
    2. AUC(r;n)1 的时候, 显然我们需要采样很多的负样本, 即 m 比较大的情况下, 效果才能比较一致.
posted @   馒头and花卷  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2019-09-11 Deep Linear Networks with Arbitrary Loss: All Local Minima Are Global
点击右上角即可分享
微信分享提示