推荐系统评价指标
Precision
- 精确率,又称查准率,指预测为正样本中真正为正样本的比例,即 TP / (TP + FP)。
Recall
召回率,又称查全率,指所有真实样本中被正确预测为正样本的比例,即 TP / (TP + FN)
F1-Score
HR
HR指标(Hit Ratio) 衡量了在前N个推荐结果中命中用户实际感兴趣的物品数量的比例。
HR指标可以通过计算命中数除以总的测试样本数来得到。
-
HR指标的优点是直观,易于理解和计算,并且能够反映推荐模型的准确性。它强调了推荐模型的“召回率”,即推荐出用户有兴趣的物品数量,在实际应用中能够有效地判断模型的好坏。
-
然而,HR指标也有一些缺点。
- 首先,它不能考虑物品的排名顺序以及用户真正的兴趣程度,因此很难完全评估推荐系统的性能。
- 其次,它只关注了用户感兴趣的物品是否被推荐,但没有考虑其他因素,例如物品的多样性、新颖性以及用户的满意度等,
因此需要结合其他指标一起使用。
NDCG (Normalized Discounted cumulative gain 归一化折损累计增益)
增益(Gain)
表示列表中每一个item的相关性分数。
在推荐系统中,推荐列表中第i�个物品是用户喜欢的,则rel_{i}=1,否则reli=0
累计增益*(CG)*
CG,cumulative gain,是DCG的前身,只考虑到了相关性的关联程度,没有考虑到位置的因素。它是一个搜素结果相关性分数的总和。指定位置p上的CG为:
折损累计增益(DCG)
DCG, Discounted 的CG,就是在每一个CG的结果上处以一个折损值,为什么要这么做呢?目的就是为了让排名越靠前的结果越能影响最后的结果。假设排序越往后,价值越低。到第i个位置的时候,它的价值是 1/log2(i+1),那么第i个结果产生的效益就是 reli * 1/log2(i+1),所以:
归一化折损累计增益(NDCG)
NDCG, Normalized 的DCG,由于搜索结果随着检索词的不同,返回的数量是不一致的,而DCG是一个累加的值,没法针对两个不同的搜索结果进行比较,因此需要归一化处理,这里是除以IDCG。
- DCG能够对一个用户的推荐列表进行评价,如果用该指标评价某个推荐算法,需要对所有用户的推荐列表进行评价,由于用户真实列表长度不同,不同用户之间的DCG相比没有意义。所以要对不同用户的指标进行归一化,自然的想法就是计算每个用户真实列表的DCG分数,用IDCG表示,然后用每个用户的DCG与IDCG之比作为每个用户归一化后的分值,最后对每个用户取平均得到最终的分值,即NDCG。
- 其中REL表示将原始的召回集合R按照得分从大到小排序后的集合,将排序后的集合计算DCG得到IDCG。标准化后得到的NDCG是一个相对值,从而使得即使不同的用户之间可以进行比较。IDCG表示的是召回的集合中的item用户都喜欢的最理想情况。所以IDCG中的分子部分其实都是1。
MRR 平均倒数排名(Mean Reciprocal Rank)
平均倒数排名(Mean Reciprocal Rank,MRR),该指标反应的是我们找到的这些item是否摆在用户更明显的位置,强调位置关系,顺序性。公式如下,N表示推荐次数,表示用户真实访问的item在推荐列表中的位置,如果没在推荐序列中,则p为无穷大,1/p为0。
举个栗子:加入我们去top-5,推荐[1,2,3,4,5]这5个item,然后测试数据中对应的访问的item为3,则1/p=1/3
平均倒数排名(Mean Reciprocal Rank, MRR)是一个国际上通用的对搜索算法进行评价的机制。
描述
结果列表中,第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n,如果没有匹配的句子分数为0。最终的分数为所有得分之和,再求平均
数学形式
正确检索结果值在检索结果中的排名来评估检索系统的性能。
ROC
ROC(Receiver Operating Characteristic)曲线是一种常用于评估分类模型性能的指标, 描绘的是真正率和假正率之间的关系。下面逐步解析ROC评价指标。
-
来源:
ROC曲线最早在二战中被用于接收器操作特性的分析,后来扩展到机器学习领域,用于评估二分类模型的性能。 -
具体含义:
ROC曲线是以真正例率(True Positive Rate,简称TPR)和假正例率(False Positive Rate,简称FPR)为坐标轴绘制的曲线。其中,- TPR 是指在实际情况为正例的样本中,模型正确预测为正例的比例,计算公式为:TPR = TP / (TP + FN),其中TP表示真正例数量,FN表示假反例数量。
- FPR 是指在实际情况为反例的样本中,模型错误预测为正例的比例,计算公式为:FPR = FP / (FP + TN),其中FP表示假正例数量,TN表示真反例数量。
-
- TP (True Positive):实际为正例的样本被正确地预测为正例的数量。
- TN (True Negative):实际为反例的样本被正确地预测为反例的数量。
- FP (False Positive):实际为反例的样本被错误地预测为正例的数量。
- FN (False Negative):实际为正例的样本被错误地预测为反例的数量。
ROC曲线展示了在不同分类阈值下,模型在TPR和FPR之间的权衡关系。曲线越靠近左上角,说明模型性能越好。
-
如何计算得到ROC:
计算ROC曲线需要先计算不同分类阈值下的TPR和FPR。具体步骤如下:
a. 首先,对模型预测结果按照概率值进行排序。
b. 从最小的概率阈值开始,将概率大于该阈值的样本划分为正例,其余样本划分为反例,并计算对应的TPR和FPR。
c. 逐渐增大概率阈值,重复步骤b,直至最大的概率阈值。
d. 将不同阈值下得到的TPR和FPR按顺序连线,即可得到ROC曲线。在计算ROC曲线后,可以使用曲线下面积(Area Under Curve,简称AUC)来综合评估模型性能。AUC的取值范围在[0,1]之间,数值越接近1代表模型性能越好。
AUC
AUC指标(Area Under Curve)是衡量分类模型预测准确性的一种指标。
在推荐系统中,AUC通常用于衡量排序模型的性能。AUC计算的是ROC曲线下面的面积,ROC(Receiver Operating Characteristic)曲线描绘的是真正率和假正率之间的关系。
在推荐系统中,可以将AUC视为模型对于一个用户和他没有行为的物品对的排序能力。具体来说,AUC计算了模型正确地将某个用户会喜欢的物品排在他不会喜欢的物品之前的概率。通常情况下,AUC的取值范围在0.5到1之间。一个好的排序模型应该具有高于0.5的AUC值。
AUC指标的优点是不受分类阈值的影响,因此它不仅适用于二分类问题,也适用于多分类问题。此外,AUC还可以有效地解决正负样本不均衡的问题,在实际应用中具有很高的实用性。
需要注意的是,尽管AUC是一个比较可靠的指标,但它也有一些缺点。例如,AUC无法判断模型产生的错误类型,如果一个模型都将负样本预测成正样本,其AUC可能很高,但实际上是一个很糟糕的模型。此外,AUC也无法区分不同的排序模型,因为两个模型具有相同的AUC并不意味着它们具有相同的性能。
交叉验证
Spearman correlation
Spearman相关系数是一种用于度量两个变量之间的单调关系强度的统计方法。它不仅可以评估线性关系,还可以评估非线性关系。Spearman相关系数是通过对两个变量的排名进行比较来计算的,因此它也被称为秩相关系数。
Spearman相关系数的取值范围为-1到+1。其中,-1表示完全的负相关,+1表示完全的正相关,0表示没有线性相关关系。与Pearson相关系数不同,Spearman相关系数不依赖于变量是否符合正态分布,因此适用于更广泛的数据类型。
Spearman相关系数的计算步骤如下:
- 对两个变量的观测值进行排序,并为每个观测值分配一个秩次。
- 计算两个变量的秩次差,即将一个变量的秩次减去另一个变量的秩次。
- 计算秩次差的平方和。
- 根据公式计算Spearman相关系数。
Spearman相关系数可用于许多领域,如社会科学、医学研究、市场调查等。它可以帮助研究人员确定变量之间的关系强度,并揭示潜在的趋势和模式。此外,Spearman相关系数还可以作为其他统计分析方法的输入,如回归分析、因子分析等。
需要注意的是,Spearman相关系数只能度量变量之间的单调关系,而不能确定因果关系。此外,在处理缺失数据或存在异常值时,需要谨慎使用Spearman相关系数,并结合其他方法进行综合分析。
参考
- 推荐系统评价指标——(归一化折损累计增益)NDCG - foghorn - 博客园 (cnblogs.com)
- [推荐系统常用指标(续)MRR、HR、MAP,Fscore - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/433081516#:~:text=平均倒数排名(Mean Reciprocal Rank%2CMRR),该指标反应的是我们找到的这些item是否摆在用户更明显的位置,强调位置关系,顺序性。,公式如下,N表示推荐次数, p_i 表示用户真实访问的item在推荐列表中的位置,如果没在推荐序列中,则p为无穷大,1%2Fp为0。)