基于对比研究的方法,考察三种实验:
- 离线实验:此过程比较推荐技术时无须用户交互;
- 用户调查:通过一组受试用对像使用系统,并对系统的体验做出报告;
- 在线实验:使用真正用户群体与系统做交互;
评估算法性能的基础指标:准确率、健壮性、可扩展性、类型、实时性、有效数据的可靠性、可用内存以及CPU占有率;
评估推荐对总体系统的作用:如电商网站使用推荐和不使用推荐两种情况下对收入对比较,以估算推荐对网站的价值。
特定属性条件下的评估:确认此属性与用户相并或影响体验,设计算法解决这些问题,当然这有可能会降低其他属性的性能;
一、实验设置:
实验的基本规则:
- 假设:若我们假设算法A在准确率上高于算法B,则测试的指标就应该是准确率而非其他因素;
- 变量控制:基于某种假设比较算法时,将其他不被测试的变量设为固定值很重要。如比较算法A和算法B的准确率,需要两种算法输入的数据池相同,以确保比较对比的算法本身,尽量刨除其他影响因素;
- 泛化能力:结论能不仅概括当前的实验,当算法真正应用时,我们希望已有的结论在真实系统中得到保持并泛化超出我们的预期。为了增加结果的泛化可能,我们必须尝试几个数据集合应用程序,使用的数据越多样,结果就越泛化;
1.1 离线实验:
通常作法:收集用户选择的或打过分的物品集进行实验,模拟用户与推荐系统的交互行为;
优缺点:可在低成本的情况下比较大量的算法;但范围较小;
目的:过滤不恰当的算法,为成本较大的用户调研查和在线实验提供相对较小的算法候选集。尽量使算法在以后阶段时,能具有最优的参数;
1.1.1 离线实验数据集:
用于评估的数据集需要与期望的在线数据后的数据尽可能匹配。确保用户、物品、评分的分布没有偏置。
不要剔除计数较低的用户和物品做预过滤,会造成数据偏置。随机的方法也许是一个不错的选择。
1.1.2 模拟用户行为:
如果我们能访问用户选择物品的时间戳,就可以模拟推荐系统的预测。可通过用户选择的时间顺序和步骤去尝试预测每个选择,并使该预测可用在将来的预测中。
几种方法汇总:
- 随机:对于大型数据数据,简单的方法就是随机,对用户操作之前的时间进行抽样,在用户操作后隐藏所有用户选择(点击、购买、评分等),再尝试推荐物品给该用户。该方法需要更改推荐前的数据,计算开销代价较大。
- 测试用户抽样:一个代价较小的方法,对测试用进行抽样,然后抽取单一的测试时间,在测试时间过后对每个测试用户隐藏所有物品。
- 忽略时间:另一个选择,我们先抽样一组测试用户,然后抽样选取对媚外上用户a隐藏的物品数目n,最后抽样n个需要隐藏的物品。
- 固定数目:在很多论文中的常用方法是:使用固定数目的已知物品以及每个测试用户的固定数目的隐藏物品;
使用哪种方法,须具自身应用特点按需选择。
1.2 用户调查:
招聘一组测试对象,对受试对象进行观察/记录行为,并收集对应评测数据。用以衡量并纠正我们之前的设想。须近可能贴近真实用户(即使尽量贴近,也仍会有偏差)。
- 完成交互任务:要求受试对象执行一些与系统进行交互的任务,比如要求完成哪些操作;
- 提出定性问题:如是否喜欢用户界面、完成任务是否轻松
- 收集数据:如完成了任务的哪些部分、任务结果的准确性、执行任务的时间)。
【例】 – 测试推荐对新闻资讯浏览行为的影响。
- 作法:受试对象阅读一组他们感兴趣的故事,有些新闻包含推荐,有些不包含,通过受试者的反馈衡量推荐位是否有用,有推荐和无推荐时人们阅读的新闻是否有不同;
- 数据:推荐的单个用户点击(单词点击);
- 交互:眼动反馈用户是否看过这些推荐位;
- 定性问题:推荐结果是否相关;
对受试对象的分配 – 有多个候选方法时:
- 用户A参与方法A,用户B参与方法B:比较不同用户组间的实验结果;
- 用户A和用户B都同时参看方法A和方法B:比较所有用户,对不同方法比较的实验结果;
变量调节:如推荐位置不同,可能造成实验结果偏差(如不同背景的用户,有些用户趋向于从左至右,从上至下看结果,这类用户会优先看到上面的结果),拉丁方过程,此程序将各结果位置随机化,从而抵消偏差;
调查问卷:可提供一些较难评测的属性信息,如受试对象的心理状态、是否喜欢该系统;
1.3 在线评估:
多个算法、算法组、系统之间进行比较时,其他条件相同情况下,若一个系统的用户对此系统接纳程度高,则此系统优于其他系统;
推荐实际效果取决于很多因素:
- 用户意图:用户需要何种信息、用户在寻求多在新颖性与多大的风险;
- 用户上下文:用户已经熟悉哪些物品、他们有多信任该系统;
- 推荐的显示界面;
注意:
- 用户随机抽样;
- 若关心的算法准确度,则用户界面须保持统一;
- 若关心的是界面,底层算法必须一致;
1.4 得出可靠结论:
置信度 和 p值:因幸运而获得的结果概率,如果p值超过某一阈值,则算法A并不比算法B好。如果排名是在超过阈值的情况下得到的,则该实验结果不重要。习惯上取p = 0.05,即置信度为95%。是否更严格视情况而定;
二、推荐系统属性:
2.1 用户偏好:
用户更喜欢哪个系统,及喜欢这个系统的原因;如用户A购买的物品比用户B多很多,则用户A的意见需要做加权;
2.2 预测准确度:
预测准确度通常独立于用户界面,可能过离线实验评估。
- 评分预测准确度评测:预测用户对物品的评分;
- 均方根误差(RMSE):不成比例地惩罚大的误差。适用前三个评分误差是2,第四个评分误差为0的系统;
- 平均绝对误差(MAE):适用于一个评分误差为3、其他三个误差为0的系统;
- 归一化均方根误差(NMRSE)、归一化平均绝对误差(NMAE):是在一定程度上归一化了的RMSE和MAE,算法结果与未归一化时相同;
- 注:若测试集的物分布不均匀,在此测试集上计算出的RMSE和MAE会受到高频物品产生的误差的严重影响,若我们需要一个方法来代表任意物品的预测误差,则最好分别计算每个物品的MAE和RMSE,然后再取所有物品的平均值。如果测试集的用户分布不均衡,又希望推断出一个随机抽取的用户所要面临的预测误差,那么我们可以计算每个用户的平均RMSE和MAE;
- 例:若一个应用有一个3星的评分体制,1 – 不喜欢,2 – 中间,3 – 喜欢。且推荐给用户不喜欢的物品比不给用户推荐物品更糟糕,则设d(3,1)=5,d(2,1)=3,d(3,2)=3,d(1,2)=1,d(2,3)=1,d(1,3)=2的失真测量可能是合理的;
- 使用说通准确度评测:目的不是预测物品的评分,则是预测用户是否会感兴趣。如电影的推荐,目的是预测用户是否会喜欢这个电影。
- 查准率与查全率:如果允许更长的推荐列表通常会提高查全率,但也可能会减少查准率。如果推荐数据量预订的,计算兴趣最有用的方法计算 TOP-N查准率。
- 曲线:推荐数据未预订时,推荐列表量最好长度在一定范围内,而非固定值。计算查准率和查全率的比较曲线或真阴性数和假阴性数的比例曲线。前者被简化成 “查准率 – 查全率”曲线、后者被简化成“观测者操作特征” 或 ROC曲线。两种曲线都是为了计算用户偏好物品占真正推荐的物品的百分比,但前者差重于用户偏好的物品的比例,而ROC差重于最终被推荐但用户不喜欢的推荐比例;
- 物品排名预测准确度评测:关注的不是物品的评分和用户是否会喜欢,可是据用户的偏好为物品排序。此任务称为 物品排名。
- 排名方法:
- 使用偏好排名:将被评分物品按评分递减排序,且排名可相同;
- 基于可性用的排名:每个推荐的“效用”为被推荐物品的效用基于其在推荐列表中的位置打一个折扣。通常位置越靠后效用折扣越大。
- 在线排名评估:如一个推荐列表,一页10个结果,用户点击第一页的1、3、10,然后查看了第二页。调整以下不同类型的物品排列,通常感兴趣物品排在再次推荐列表的顶部,然后未知,然后再不感兴趣。
- 1、3、10是用户的 ”感兴趣物品“;
- 第一页中的其他物品是用户的 ”不感兴趣物品“;
- 第二页中的11-20是 ”未知物品“;
2.3 覆盖率:
- 物品空间覆盖率:可以推荐的物品的比例,也称目录覆盖率;
- 如:计算所有曾经被推荐过的物品,占全部数据的百分比;
- 再如:计算离线、在线中被推荐给用户的物品,占全部数据的百分比。为部分物品类型加权重,如流行度或效用。推荐关注度高的物品;
- 用户空间覆盖率:
- 有推荐结果的用户,占全部用户的百分比;
- 用户与可推荐物品的系统的交互,所占的比例;
- 冷启动:系统遇到 ”新用户“ 或 ”新物品“ 时的性能,因这部分主体对于系统无”某些关键依据“ 数据可用于分析,这些依据包括以下几个方面。所以有一个启发,系统可以预测冷门物品,从而减少预测热门物品的计算量。
- 使用依据:用户对物品的点击,有些推荐系统中,点击情况会计入影响排序的 “评分”中;
- 数据存在时间:如某些系统中,对于刚进入数据有一定的考察期,如超过1天;
- 数据评分:如评分小于10的物品,不做为推荐候选集;
2.4 其他指标:
- 置信度:系统在推荐和预测上的可信度。针对某个物而言,如推荐一个高置信度的电影;
- 信任度:系统对评分的信任,用户对推荐结果的信任程度。假设用户越信任推荐系统,为用户提供的推荐物品就越多;
- 新颖度:
- 用户推荐他们以前没有听说过的物品。最简单的方法是过滤用户已评分、使用过、已知的物品;
- 评测方法:询问用户是否熟悉这个物品;
- 准确度:无关的推荐也许是新颖的,但是没有意义;
- 惊喜度:
- 推荐对用户来说比较新颖的相关信息如用户对某明星的积极评价高,则推荐改明星的新的用户不知晓的作品就是新颖的,有时也用随机的方法。需在惊喜度和准确度中平衡;
- 评估方法:可让用户标记他们认为非期望的推荐结果。然后尝试发掘用户是否顺从这些结果。利用时间来审视惊喜度也很重要;
- 多样性:定义成相似性的相反面;
- 效用:有些商务网站使用推荐系统是为了改善营销,可通过收入来判断效用;
- 风险:如推荐股票时,我们希望能有最小的风险;
- 健壮性:出现虚假信息时的推荐系统的稳定性;
- 隐私:保护用户的隐私,尤其是协同算法中,不可让第三方获得用户的偏好;
- 适应性:推荐系统须能适应物品集和很大变化或兴趣趋势经常改变的环境。通适应用户的个人偏好及用户模型的改变;
- 可扩展性:通过增长的大数据集的实验获得,当任务进行扩展时,显示出速度和资源的消耗行为;
参考文献:弗朗西斯科·里奇 (Francesco Ricci) 《推荐系统:技术、评估及高效算法》 机械工业出版社; 第1版 (2015年7月1日)