一.Hit Ratio(HR)
1.在top-K推荐中,HR是一种常用的衡量召回率的指标,其计算公式如下:
![](https://i-blog.csdnimg.cn/blog_migrate/34d7b50ec1e0eb483465164ebb801554.png)
分母是所有的测试集合,分子是每个用户top-K推荐列表中属于测试集合的个数的总和。
2.举例:
三个用户在测试集中的商品个数分别是10,12,8,模型得到的top-10推荐列表中,分别有6个,5个,4个在测试集中,那么此时HR的值是 (6+5+4)/(10+12+8) = 0.5。
二.Normalized Discounted Cummulative Gain(NDCG)
1.CG
我们先从CG(Cummulative Gain)说起, 直接翻译的话叫做“累计增益”。 在推荐系统中,CG即将每个推荐结果相关性(relevance)的分值累加后作为整个推荐列表(list)的得分。即
![](https://i-blog.csdnimg.cn/blog_migrate/f2b4d143d5c46e9174fbbde4bc096a93.png)
这里, reli 表示处于位置 i 的推荐结果的相关性,k 表示所要考察的推荐列表的大小。
2.DCG
CG的一个缺点是没有考虑每个推荐结果处于不同位置对整个推荐效果的影响,例如我们总是希望相关性高的结果应排在前面。显然,如果相关性低的结果排在靠前的位置会严重影响用户体验, 所以在CG的基础上引入位置影响因素,即DCG(Discounted Cummulative Gain), DCG的思想是等级比较高的结果却排到了比较后面,那么在统计分数时,就应该对这个结果的得分有所打折:
![](https://i-blog.csdnimg.cn/blog_migrate/8bfb085bcccfe2ea071021bcf9fb1706.png)
另一种表达方式是下面这种,这个表达式在一些搜索文档中经常会被提到,它的作用和上面的公式一样,但是这个公式只适合打分分两档的评测:
![](https://i-blog.csdnimg.cn/blog_migrate/254e87de468313e5cae7b8f8eaf346fa.png)
从上面的式子可以得到两个结论:
1)推荐结果的相关性越大,DCG越大。
2)相关性好的排在推荐列表的前面的话,推荐效果越好,DCG越大。
3.NDCG
DCG仍然有其局限之处,因为不同搜索模型给出的结果有多有少,所以DCG值就没有办法来做对比。即不同的推荐列表之间,很难进行横向的评估。而我们评估一个推荐系统,不可能仅使用一个用户的推荐列表及相应结果进行评估, 而是对整个测试集中的用户及其推荐列表结果进行评估。 那么不同用户的推荐列表的评估分数就需要进行归一化,也即NDCG(Normalized Discounted Cummulative Gain)。
在介绍NDCG之前,还需要了解一个概念:IDCG, 即Ideal DCG,就是理想的DCG,指推荐系统为某一用户返回的最好推荐结果列表, 即假设返回结果按照相关性排序, 最相关的结果放在最前面, 此序列的DCG为IDCG。因此DCG的值介于 (0,IDCG]。
NDCG是DCG与IDCG的比值,故NDCG的值介于(0,1],从NDCG这个值可以看出目前算法存在的优化空间。那么用户u的NDCG@K定义为:
![](https://i-blog.csdnimg.cn/blog_migrate/0941d2e5fdc6735f9e45778e5be411b0.png)
三.Root Mean Square Error(RMSE):均方根误差
1.均方根误差是预测值与真实值偏差的平方与观测次数m比值的平方根。
2.公式:
![](https://i-blog.csdnimg.cn/blog_migrate/9613204f456f78e651534442042070a1.png)
四.Mean Absolute Error(MAE):平均绝对误差
1.平均绝对误差是绝对误差的平均值。
2.公式:
![](https://i-blog.csdnimg.cn/blog_migrate/5de4630c02b943b9c6395b8dd926ca67.png)
推荐系统研究中常用的评价指标:
https://mp.weixin.qq.com/s/H_XiZgTzZgBqP7rVHMyQrQ