推荐系统论文重要的三个指标——Recall、NDCG、RMSE

1.Recall

Recall(召回率)
大小反应了用户感兴趣的信息有多少被我们感知到了
R e c a l l = ∑ u ∈ U R ( u ) ∩ T ( U ) ∑ u ∈ U T ( u ) Recall = \frac{\sum_{u\in U}{R(u) \cap T(U)}}{\sum_{u\in U}{T(u)}} Recall=uUT(u)uUR(u)T(U)
精确率precision:
p r e c i s i o n = ∑ u ∈ U R ( u ) ∩ T ( U ) ∑ u ∈ U R ( u ) precision = \frac{\sum_{u\in U}{R(u) \cap T(U)}}{\sum_{u\in U}{R(u)}} precision=uUR(u)uUR(u)T(U)
R ( u ) R(u) R(u)表示根据用户在训练集上的行为给用户做出的Top-n推荐列表;
T ( u ) T(u) T(u)表示系统向用户推荐物品后,用户实际选择的物品集;

2.NDCG

CG(Cumulative Gain,累计增益):
C G K = ∑ i = 1 K r e l i CG_K = \sum_{i=1}^{K}rel_i CGK=i=1Kreli
CG就是将推荐列表中的每个推荐结果(相关性分数)累加;但有可能出现一个列表中,高分的排到低位,低分的排到高位;

DCG(Discounted Cumulative Gain,折损累计增益):
D C G K = ∑ i = 1 K r e l i − 1 l o g 2 ( i + 1 ) DCG_K = \sum_{i=1}^{K} \frac{rel_i-1}{log_2(i+1)} DCGK=i=1Klog2(i+1)reli1
由于CG没有考虑每个推荐结果处于不同位置对整个推荐效果的影响,DCG引入位置影响因素,对于排名靠后推荐结果的推荐效果进行“打折处理”;

NDCG(Normalized Discounted Cumulative Gain,归一化折损累计增益):

我们在评估一个推荐系统的时候,不单单只对一个用户的推荐列表进行评估,而是对整个测试集的用户的推荐列表进行整体的一个评估,所以不同的用户的推荐列表的评估分数就需要进行归一化
N D C G u @ K = D C G u @ K I D C G u NDCG_u@K = \frac{DCG_u@K}{IDCG_u} NDCGu@K=IDCGuDCGu@K
I D C G u IDCG_u IDCGu指推荐系统为某一用户返回的最好推荐结果列表;

整体的平均NDCG:
N D C G @ K = ∑ u ∈ U N D C G @ K U NDCG@K = \frac{\sum_{{u\in U}}NDCG@K}{U} NDCG@K=UuUNDCG@K

3.RMSE

RMSE(Root Mean Square Error,均方根误差)
R M S E ( X , h ) = 1 m ∑ i = 1 m ( h ( x i ) − y i ) 2 RMSE(X,h) = \sqrt{ \frac{1}{m}\sum_{i=1}^{m}(h(x_i)-y_i)^2} RMSE(X,h)=m1i=1m(h(xi)yi)2
均方根误差是用来衡量观测值同真实值之间的偏差,RMSE越小越好

你可能感兴趣的:(推荐算法,数据分析,python)