【推荐系统】评估指标总结

准确率指标:

该类型的指标大部分是推荐算法优化的目标,衡量着推荐算法的优劣。

  1. 准确率。推荐给用户的商品中,属于测试集的比例,数学公式$P(L_{u})=\frac{L_{u}\bigcap B_{u}}{L_{u}}$ 。整个测试集的准确率为 $P_{L}=\frac{1}{n}\sum_{u\epsilon U}P(L_{u})$
  2. 召回率。测试集中有多少在用户的推荐列表中。数学公式$R(L_{u})=\frac{L_{u}\bigcap B_{u}}{ B_{u}}$。整个测试集的召回率为$R_{L}=\frac{1}{n}\sum_{u\epsilon U}R(L_{u})$
  3. F1值。准确率和召回率的加权,数学公式 $F_{\beta }=\frac{(1+\beta ^{2})PR}{\beta ^{2}P+R}$。
  4. Ranking Score。数学公式 $R=\frac{1}{|E^{U}|}\sum_{ui\epsilon E^{U}}\frac{p_{ui}}{M-k_{u}}$ 其中$E^{U}$ 表示测试集中所有的边的集合,如果用户u对商品i在测试集中,则$E_{ui}=1$,$p_{ui}$表示商品i在用户u的推荐列表中的位置,分母$M-k_{u}$表示用户u的所有商品数目中除了用户已经购买过的商品外的所有商品。该值越小,说明测试集中的商品越靠前。
  5. Hit ratio。数学公式 $HR@K=\frac{Number of Hits @K}{|GT|}$. 分母是所有的测试集合,分子是每个用户前K个中属于测试集合的个数的总和,该指标衡量是召回率,该指标越大越好。
  6. NDCG。数学定义 $NDCG@=Z_{k}\sum_{i=1}^{K}\frac{2^{r_{i}}-1}{log_{2}(i+1)}$。ri表示在第i个位置时的“等级关联性”,一般可以用0/1处理,如果该位置的物品在测试集合中,则ri=1,否则为0。另外ZK是归一化系数,表示后面的那一个累加求和公式的最好情况下的和的倒数,也就是ri=1都满足的情况下的后面那一坨的总和,为了使得NDCG计算出来的数值i都在0-1之内。
  7. 交叉熵。这个指标作为其余机器学习的优化目标用的比较多,该指标在https://arxiv.org/pdf/1708.05031.pdf中首先被提出来。论文假设如果用户u购买了物品i,则$y_{ui}=1$否则$y_{ui}=0$,则最终的机器学习的模型的优化目标为 $L=-\sum_{(u,i)\epsilon \mathbf{Y}\bigcup\mathbf{Y^{-}}}(y_{ui}log\hat{y}_{ui}+(1-y_{ui})log(1-\hat{y}_{ui}))$ 。
  8. MAE。该指标对适合对数据集拥有打分进行评估,例如豆瓣影评,上面存在对每个电影的1-5的打分。数学公式 $MAE=\frac{\sum_{(u,i)\epsilon E^{U}|y_{ui}-\hat{y}_{ui}}|}{|E^{U}|}$ 表示所有测试集中推荐预测的分和实际用户打的分的差异,该值越小越好。
  9. RMSE。该指标同样适用于对评分为数值打分的情景。数学公式 $RMSE=\sqrt{\frac{\sum_{(u,i)\epsilon E^{U}}(y_{ui}-\hat{y}_{ui})^{2}}{|E^{U}|}}$ 含义类似于MAE。

非准确率指标:

该类型的指标重载衡量推荐的结果的“个性化”“多样性”“新颖性”等指标,推荐的的愿景之一就是“千人千面”,推荐给每个人的商品都是只是他本人的兴趣使然,抑或是根据本人兴趣进行扩展的商品集合。至于为什么要进行兴趣扩展,因为“过拟合”同样是推荐系统面临的重要挑战之一,关于推荐系统的“过拟合”现象,在这里不做展开。

  1. Hamming distance. 数学公式 $H=\frac{1}{N(N-1)}\sum_{(i,j)\epsilon N,i\neq j}(1-\frac{c(i,j)}{K})$ 其中$c(i,j)$表示用户 i,j 前K个推荐结果中有多少是相同的个数,N表示所有的用户数目。海明距离能够有效衡量两个用户推荐列表的差异,该值越大越说明用户之间的推荐结果越不相同,差异性越大。
  2. Intrasimilarity ,内部相关性。数学公式 $I=\frac{1}{N}\sum_{u\epsilon U}(\frac{1}{K(K-1)\sum_{\alpha \neq \beta }s_{\alpha \beta }})$ 其中$s_{\alpha \beta }$表示商品$\alpha \beta $的相似度,相似的计算方式可以是Jaccard系数,皮尔森相关系数,向量余弦法等。对于用户u的推荐列表,如果物品与物品之间的相似度越大,说明推荐给用户的商品比较单一,推荐算法越发现不了新的物品;反之,如果该值越小,则推荐的物品越丰富,越有利于对用户的兴趣进行扩展。
  3. Popularity,流行度指标。数学公式 $N=\frac{1}{N}\sum_{\alpha \epsilon O_{R}^{u}}\frac{d_{\alpha }}{K}$ 其中$O_{R}^{u}$表示用户u的前K个推荐物品的集合,$d_{\alpha }$表示$\alpha$的被多少用户购买过,购买次数越多,则该商品越流行。该指标越大,说明推荐算法倾向于推荐“热度”越大、越流行的商品;反之,则越倾向于推荐比较冷门的物品,越能反映出用户的兴趣。
posted @ 2018-05-01 14:07  很厉害的名字  阅读(10345)  评论(1编辑  收藏  举报