1.Recall

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

2.NDCG

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

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

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

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

整体的平均NDCG:
NDCG@K=∑u∈UNDCG@KUNDCG@K = \frac{\sum_{{u\in U}}NDCG@K}{U}NDCG@K=U∑u∈U​NDCG@K​

3.RMSE

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

更多推荐