推荐系统常用指标
MAP
MAP —— Mean Average Precision, 即对多个AP求平均。
AP定义如下:
AP=∑knrel(k)∑knP(k)×rel(k)
其中,rel(k)表示当第k个预测值与ground truth相关(相同)时为1,否则为0;P(k)表示前k个预测值中相关的占比。
示例:
预测序列e,b,a,d,c ; ground truth为a,b,c,d,e ,则第2个和第4个预测值与gt匹配,AP则为:
AP=221+42=0.5
若多次AP结果分别为0.4, 0.5, 0.6, 0.9,则MAP为40.4+0.5+0.6+0.9=0.6
但是,MAP指标还是存在一定的缺陷,最典型的缺陷在于其无法表征两个相关搜索间的程度关系,比如搜索结果A比搜索结果B明显更与搜索目标相接近,如果使用MAP指标,那么我们无法准确地令A排序在B的前方。
NDCG
NDCG —— Normalized Discounted Cumulative Gain
相对于MAP的改进:
- 相关度函数rel为一个连续函数,不再是非零即一
- 对排名靠后的结果进行一个重要度的衰减
NDCG公式:
NDCG=IDCG@KDCG@K
其中@K表示前K个预测值的结果,DCG指标为带有衰减的关联性增益指标,而IDCG为归一化指标,其定义为完全符合正确排序时的DCG指标的计算值。
DCG公式:
DCG@ K=i∑Klog2(i+1)rel(i)
示例
|
|
|
|
|
|
idx |
1 |
2 |
3 |
4 |
5 |
relevance |
7 |
2 |
5 |
10 |
1 |
则
DCG@5=log2(2)7+log2(3)2+log2(4)5+log2(5)10+log2(6)1=15.46
IDCG@5=log2(2)10+log2(3)7+log2(4)5+log2(5)2+log2(6)1=18.16
NDCG@5=IDCG@5DCG@5=18.1615.46=0.85
此外,DCG还有一种常用的用于突出高相关度搜索结果权重的公式定义如下:
DCG@ K=i∑Klog2(i+1)2rel(i) −1
此时上述例子的NDCG为:
DCG@5=log2(2)27−1+log2(3)22−1+log2(4)25−1+log2(5)210−1+log2(6)21−1=585.36
IDCG@5=log2(2)210−1+log2(3)27−1+log2(4)25−1+log2(5)22−1+log2(6)21−1=1120.31
NDCG@5=IDCG@5DCG@5=1120.31585.36=0.53
Reference
推荐问题常用metrics整理