1. 推荐系统评价指标

1. 推荐系统评价指标

用户满意度:评测推荐系统是否优秀最基本的指标;

预测准确度:评价一个推荐算法最重要的指标,从推荐系统诞生的时候开始,几乎所有的论文都在讨论这个指标。

  • 评分预测:许多提供推荐服务的产品都有提供对一个物品进行评分的功能,预测用户对物品评分的算法称为“评分预测算法”。评价一个评分预测算法的准确度,通常有两种方式:

    1. 均方根误差:$\displaystyle RMSE = \sqrt{\frac{\sum_{u, i \in T} (r_{ui} - \hat{r}_{ui})}{|T|}}$,会加大对预测不准确的惩罚;
    2. 平均绝对误差:$\displaystyle MAE = \frac{\sum_{u, i \in T} | r_{ui} - \hat{r}_{ui}|}{|T|}$;
  • TopN推荐:提供推荐服务的产品,一般会给用户提供一个个性化推荐的列表。一般通过“召回率”和“准确率”度量一个 TopN 推荐算法的准确度。设 R(u) 是通过算法推荐列表,T(u) 是测试集的行为列表:

    1. 召回率:$\displaystyle Recall = \frac{\sum_{u \in U} |R(u) \cap T(u)|}{ |T(u)| }$;
    2. 准确率:$\displaystyle Precision = \frac{\sum_{u \in U} |R(u) \cap T(u)|}{ |R(u)| }$;

覆盖率:描述一个推荐系统对长尾的发掘能力。

  • 公式化定义,推荐系统的覆盖率可以用下面的公式计算:$\displaystyle Coverage = \frac{| U_{u \in U} R(u) |}{|I|}$

  • 相同的概念在其他的专业学科中都有类似的阐述:

    1. 信息论中的信息熵:$\displaystyle H = -\sum_{i = 1}^{n} p_i \ln{p_i}$。信息论中的 $p_i$ 表示一个信息出现的概率,所有信息出现的概率均等,则信息熵取到最大值。这里用“流行度”来表示 $p_i$ 则能用于评估推荐系统的覆盖率指标;
    2. 经济学中的基尼系数:$\displaystyle G = \frac{1}{n - 1} \sum_{j = 1}^{n} (2j - n - 1)p_{i_j}$。经济学中的 $p_{i_j}$ 表示将社会人群按照财富排序后,排在第 j 位的人在社会总财富中的占比,所有人的财富均等时基尼系数取到最小值 0。这里可以用“流行度”代替“财富”评估推荐系统的覆盖率;
    3. 社会学中有一个著名的“马太效应”理论,即所谓强者更强,弱者更弱。
  • 很多研究表明现在的主流推荐算法(比如协同过滤算法)都是具有马太效应的。

多样性:描述了推荐列表中物品的两两之间的不相似性。

  • 假设我们给定了两个物品的相似性计算函数 $s(i, j) \in [0, 1]$,那么:

    • 用户 u 的推荐列表 R(u) 的多样性定义为:$\displaystyle Diversity(R(u)) = 1-\frac{\sum_{i,j\in R(u), i \not = j} s(i,j)}{\frac{1}{2} |R(u)| (|R(u)| - 1)}$,即 s 的均值。
    • 推荐系统的整体多样性也可以简单地求平均值:$\displaystyle Diversity = \frac{1}{|U|}\sum_{u \in U} Diversity(R(u))$

新颖性:给用户推荐那些它们之前没有听说过的物品;

惊喜性(serendipity):如果推荐结果与用户的历史兴趣不相似,但是却能让用户满意,那么就可以说推荐的结果惊喜度很高;

信任度:用户对推荐系统的不同信任度,会导致用户对相同的推荐结果有着不同的反应;

实时性:对于具有很强实时性的物品,需要在物品还具有时效性的时候推荐给用户;

健壮性:即反作弊。用常用的攻击方法向数据集中注入噪声数据,然后利用算法在注入了噪声后的数据集再生成推荐列表,比较推荐结果评测算法的健壮性;