推荐系统导论笔记(七)

推荐系统的评估

由于推荐系统的多样性,导致其评估方法也多种多样。例如,MAE可以用来评估对某个Item的Prediction的Accuracy,却并不适合Top-N形式的推荐系统,因此,了解不同推荐系统的评估方法是有必要的。

基本准确率评估

基本准确率评估主要针对单个Item进行Prediction的Accuracy进行评估。当进行评估时,先将一个用户的评分抹去,然后用推荐系统去尝试对其进行预测,最后用某种特定的算法计算预测值与真实值的差值,来反映该推荐算法的好坏。而其中计算误差的“某种特定的算法”正是我们需要考虑的,一般来说,有如下几个算法:

  • 平均绝对误差(Mean Absolute Error,MAE)
    Σi|PiRi|#ratings
  • 均方误差(Mean Squared Error,MSE)
    Σi(PiRi)2#ratings
  • 均方根误差(Rooted Mean Squared Error,RMSE)
    Σi(PiRi)2#ratings

以上各式中 Pi 为预测结果, Ri 为用户的真实评分。其中,MSE的平方项不仅能自动消除 PiRi 中可能存在的负号,而且可以对差距较大的预测结果做出惩罚。其缺点是量纲为评分的平方,结果的可解释性较差。为了解决这个问题提出了均方根误差,其对MSE的结果进行开方,使其单位统一为评分。
在使用上述几个算法时,需要注意以下两点:

  • 评分数据必须为同一个量级。即不能一部分满分是5星的,另外一部分满分是7星的,或者一部分允许打半颗星,另外一部分不允许打半颗星等。
  • 如果数据来源很多,覆盖面有差别,则仅对公共的User或者Item进行评分。

决策支持评估

基本概念

决策支持评估(Decision Support Evaluation)是用来衡量推荐系统帮助用户做出正确决策的能力的一种评估方式。举例来说,某个网站的评分系统为最多5星,且允许半星,则我们一般认为评分高于3.5分属于“喜欢”,低于3分属于“不喜欢”。若推荐系统为某个用户预测了某个Item的评分为4,而用户去体后给出的评分为2.5,那我们这个系统就出现了“错误”(因为系统认为用户“喜欢”该Item,但实际上用户并“不喜欢”这个Item,系统让用户做出了错误的决定)。反之,若推荐系统给出的分数为0.5,用户体验后的评分为2.5,则认为系统没有出现较大的错误(系统认为用户不会“喜欢”这个Item,用户实际上也不喜欢这个Item)。如果用先前的“基本准确率”框架来评估上述场景的话,无论使用什么误差计算算法,前者的效果要优于后者。但在决策支持框架下,后者的预测效果是优于前者的。
在这个框架下,误差(error)被定义成错误预测的度量。如上文提到的,系统认为用户会喜欢,但实际上用户并不喜欢,这就是一个error。在评估算法时,一般是统计总的error个数,或者每个Item的错误率等等。

混淆矩阵

在统计学或者机器学习的二分类问题中,常用混淆矩阵来对误差进行可视化。混淆矩阵有以下元素组成

  • True Positive:条件支持结论为真,且预测结果也为真;如对病人的血液进行分析并得出有疾病的结论。
  • False Positive:条件支持结论为假,但预测结果为真,亦即误报。在统计学中,称为第二型错误(Type II Error);如对健康人血液进行分析,得出有疾病的结论。
  • True Negative:条件支持结论为假,且预测结果为假;如对健康人的血液进行分析,得出没有疾病的结论。
  • False Negative:条件支持结论为真,但预测结果为假,亦即漏报。在统计学中,称为第一型错误(Type I Error);如对病人的血液进行分析,得出没有疾病的结论。

准确率与召回率(Precision and Recall)

准确率与召回率是信息检索领域的一个评估手段,经常用来评估搜索引擎的性能与效果。其由两部分组成:准确率、召回率。准确率用来评估获取的所有文档中,相关或者用户真正想要的文档所占的比例,其定义如下:

P=|{relevantdocument}{retriveddocument}|#ofretriveddocument
如果我们利用上述混淆矩阵的理论来分析准确率,准确率实际上可以重新改写为:
P=TPTP+FP

对应到推荐系统上,尤其是Top-N模式的推荐,我们可以认为“相关文档”就是不出现“error”(error的定义参见上文)的推荐项目,而分母“获取的所有文档”则可认为是所要推荐项目的个数,即Top-N List中出现我认可的项目个数占List中全部推荐项目个数的比例。
召回率刻画的是获取的相关文档占所有实际存在的相关文档的比例,其定义如下:
R=|{relevantdocument}{retriveddocument}|#ofrelevantdocument
我们同样可以用上述理论对该公式进行改写,即:
R=TPTP+FN

类似的,我们可以认为是Top-N List中出现我认可项目的个数与全部我认可的项目的个数的比例。
一个系统的准确率越高,就越不会出现与用户想找的主题无关的主题,亦即越可以节省用户的时间;一个系统的召回率越高,则其检索到与指定主题的文档越多,内容越全面。因此,单独看任何一个评价指标都是不科学的,故我们可以使用F1分数对一个系统进行全面描述,F1分数的定义如下:
2PRP+R

ROC曲线

如果我们令系统的准确率(TPR)和误报率(FPR)分别为坐标的 y 轴和x轴,画出TPR-FPR曲线,则称该曲线为ROC曲线。下图为一个ROC曲线的例子:
这里写图片描述
如果我们通过抛硬币的形式随机决定要不要推荐某个Item,则所得到的ROC曲线就是图中的对角虚线。由上图不难看出,某个系统性能越好,它的ROC的曲线就越贴近 y 轴,理由也很简单,在相同的误报率下,越贴近y轴的曲线可以获得更高的准确率。为了刻画这种关系,我们可以用ROC曲线与 x <script type="math/tex" id="MathJax-Element-5146">x</script>轴所围成的面积作为系统性能的一种评估。显然·这个面积越接近1说明系统的性能越好,反之,说明系统性能较差。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值