你只要抓住了这个世代下,你消费者内心里那些解不开的心结,你便抓住了这个世代下所有的需求,而这些最终换来你的社会地位和财富。
1.评测指标
A/B测试的一个宗旨是有明确的评价指标用于评价方案的优劣,而对于视频推荐系统来说,A/B测试的评测指标主要有哪些呢?
(1)单击率。即在视频推荐列表中,被用户单击的影片数量所占的比例。将某段时间内所有试验用户的单击率求平均值,就可以得到整个系统的单击率指标。
假如在一次A/B测试周期内,系统向一个用户i推荐的影片总数为n,在这些影片中,用户单击进入浏览影片详情的数目为m,那么这段测试周期内,该用户的单击率为Pi=m/n,假设系统中总的用户数为U,则该视频推荐系统在本次A/B测试中的单击率指标为P(U)=1/U*Pu加和。
(2)转化率。转化率是A/B测试的另一个重要指标。在商用领域,推荐系统的最终目的是为商家带来实际的利润,即出售额,因此在电子商务平台上,可以将推荐商品的销售额或者利润额于总体销售额或者利润额的比例作为一个评价指标,从而非常直观的评价一个推荐算法给商家带来经济利益的程度。类似的,在视频推荐领域,更高的单击率和更长的观看时长都意味着更高的用户关注度和更高的商业价值。因此可以将推荐视频的单击量或者播放时长与网站总体单击量或者总播放时长的比例作为评价指标,这种评价指标叫做转化率,即推荐系统给应用平台产生的实际流量。
2.注意事项
A/B测试是基于大量用户的反馈来实现A/B方案测评的,如果没有大量用户作为保障,评测结果就会带来很大随机性,不能反映A/B方案评测的真实性能。
相比于离线评测,在线评测的指标是更接近实际运营的、商家更关心的,因此如果A/B方案在离线测评和在线测评中的表现不同,一般人们会以在线测评的结果作为依据选择推荐算法。
A/B测试的指标都是真实的用户指标。其中有一些指标是具有不可解释性的。
3.离线测评
在线测评是一些商业指标(如转化率)的最佳评测方式,但是在线评测从试验设计到实施都需要高额的成本,所以一般的科研工作人员更多选择离线测评方式评估算法的表现。离线测评的方式是将算法在试验数据集上运行,并通过一系列运行表现来评价该算法的优劣。相对于在线测评,离线的方式方便经济,且耗时较短,因此得到了广泛的应用。
离线评价方式最主要的两个环节就是数据集的划分,以及评价指标的选择。目前最为常用的数据划分方式为随机划分。
视频推荐系统的数据集为用户、视频、用户与视频的关系(即用户对视频的喜好,只要用户观看过该视频,就可以理解为用户喜好该视频)因此该喜好关系是一个Yes or No的二阶矩阵。所谓随机划分,就是在集合(二阶矩阵中随机选取一定比例作为测试集,剩下的部分就是训练集,一般来说,测试集占总数量的百分之20左右。
离线评价就是将训练集的信息作为算法的输入训练推荐模型,然后在测试集数据上运行推荐算法(基于先前训练的推荐模型),将推荐结果和测试集的已知信息进行比较,利用评价指标来衡量推荐系统的表现。值得注意的是,完全的随机划分可能会导致有些用户或者视频没有被划入测试集,或者划分后变为孤立视频,为了避免这类情况发生,在实际操作时往往针对每个用户划分一定比例的数据作为测试集。
离线测评具有方便经济的优点,也存在一些缺点,首先,离线测评依赖于所选的试验数据集,然而试验数据集不可能涵盖每一个用户的行为数据,永远无法代替真实数据,因此,用一个不含用户A的数据集来评测该算法对用户A的作用,是没有效果的,其次离线评价一般是用准确率等一系列数值类型的指标作为判断依据,但是视频推荐系统最终的使用效果是通过用户是否满意为最终依据的,所以,各种数字指标永远不可能代替用户的主观感知作为终极评判指标。最后商家使用视频推荐系统是为了提高网站单击率、单击深度、购买数量(即转化率)等,但是这些指标都不能在离线数据集中得到体现,因此也就无法直接根据离线评测得到。
视频离线推荐评测指标
确定了视频评测试验方法,也就意味着评测用的数据集已经选定。对于在线评测和用户调查的方式来说,评测系统运行在实际的视频网站中,所以通过直接计算单击率、转换率、用户实际停留时间、观看时间等指标进行评价。在线评测的指标都是实实在在针对实际效果来的。在线测评指标高的算法,无疑能给商家带来更大的经济利益。然而在离线测评时,并没有数据来计算单击率、转化率等指标,但这并不意味着离线推荐测评没有指标可以进行评价和比较。实际上,推荐的准确率、排序的相关度等一系列指标都能在很大程度上反映一个算法的优劣,而这些可以通过离线测评来获得。
推荐系统一般使用以下指标对推荐系统进行离线测评
1.准确度指标
它从很大程度上显示了推荐结果可能与真实结果的拟合程度,是度量系统预测用户行为的能力,由于推荐结果有多种输出方式,这也就意味着推荐评测对应着几种不同的标准。如果推荐结果是每个视频上都标着一个预测评分,那么要判断该推荐算法的好坏,需要对每个视频预测评分的准确性进行评估,也就是计算这些预测值和真实值之间的差别,这种指标叫评分预测准确度。如果推荐结果是类似于“猜你喜欢”的视频列表,列表中排序越靠前就代表系统越推荐,那么就需要对这个排序是否恰当进行评估,即预测用户真实喜好的TopN和系统推荐的TopN之间的差距,这种指标叫做排序准确度。如果推荐结果只是将影片进行分类,将用户可能喜欢的影片予以展示,用户不喜欢的影片不予展示,那么就要判断对每个影片的分类是否正确,这种指标叫分类准确度。不难看出是分类准确度是评分准确度的简化形式。
1.1评分准确度
视频推荐评分与用户真实评分之间的差别是判断该推荐系统准确性的重要指标。为了计算两者之间的差别,可以通过差值、相关性等多种方式来表现。一般来说,计算评分准确度有两种方式,即预测评分准确度和预测评分关联度。
预测评分准确度是最直观评价系统预测评分和用户真实评分差距的指标。该指标又有几种计算方法,其中最经典的是平均绝对误差法(MAE)。把多次测量值之间相互接近的程度称为精密度。MAE方法原理直观,计算简单,得到了广泛的应用。但是同时,该方法对所有影片评分没有区别对待而是赋以相同的权重。
在数学上,计算两组数字差异大小的方法还有很多,经常应用到推荐评测中的还有平均平方误差(MSE)标准平均绝对误差方法(NMAE)\均方根误差方法(RMSE)等。
虽然预测评分准确度原理简单,实现方便,但是一般视频推荐算法的预测评分准确度表现都不好,原因在于其原理使得只有预测评分非常接近真实评分的算法才能得到好的表现,然而,这很难做到。另外,一般视频推荐系统中并不会采用直接展示影片预测评分的方式对用户进行推荐,在这种情况下,预测评分与实际评分的绝对差值并不那么重要,只要所有影片的评分顺序和真实顺序一样,也可以达到同样优秀的推荐效果。基于这种思想,就有了如下的评测指标——预测评分关联度。
预测评分关联度的思想是:推荐系统的预测评分和真实评分未必一定要接近,只要趋势相同就好,就好像期末考试的时候,老师普遍给大家打分低,这样班里的总体成绩下滑,但是班内同学的排名任然不会变,学习优秀的同学排名依然靠前。
数学中计算相关性的工具很多,常应用于推荐评测相关性计算的方法有三种:
1.Pearson积距相关方法计算推荐算法预测评分和测试集数据真实评分之间的线性相关程度。
2.Spearman相关方法和Pearson积距相关方法的计算公式一样,就只是Pearson积距相关方法中的R表示评分,Spearman相关方法中的R代表排名。
Kendall's Tau相关方法类似,也是衡量推荐排序和真实排序的相关性。公式为:整个排序中正序对的数目减去整个排序中逆序对的数目除以整个排序中正序对的数目+整个排序中逆序对的数目。
2.排序准确度
上述评分准确度指标是针对评价系统中所有影片的预测评分的情况使用的,然而在其他情况下,视频服务系统并不会对每个影片有预测评分,或者,即使有预测评分也只是视频推荐系统的内部流程,最终呈现的是一个TOPN列表的方式,此时,没必要针对预测评分进行评测,而是需要针对排序进行评测。
2.1排序准确度衡量有序推荐列表与用户对物品排序的统一程度,计算方法为:预测影片a在用户u的推荐列表中的排名除以视频推荐系统中给用户u的待推荐列表大小(在离线测试方法中就等于用户u在测试集中的影片数目加上未作出评分的影片数目)。例如:如果在一个视频推荐系统中,用户u的待推荐列表共有2000个,而推荐列表中排序第二的影片恰好是用户喜欢的,那么对该用户来说,该影片的排序分为2/2000=0.001,该分值越小表明推荐系统倾向将用户喜欢的物品排在前面。对所有用户及所有影片进行统计,就可以得到推荐系统的平均排序分。
2.2平均准确度指标(MAP)它是反映系统在全部相关文档上性能的单值指标,在视频推荐领域,该指标可以用来衡量一个视频推荐排序的好坏。其中准确度指标的计算方法为(AP):前i个推荐结果的正确率乘以(如果第i个推荐结果正确,则乘以1/x,否则乘以0,其中x表示推荐列表长度)。
2.3NDCG是一种基于相关度的排序质量评价指标,为了衡量推荐准确度,CG算法最基础的想法便是将所有推荐结果的相关度相加,相关度加和越大表示推荐准确度越高,但是这种衡量方法显然没有考虑排序因素,如果用户喜欢的项目排在推荐列表的首位和末尾,该指标的值是一样的,但是对用户体验是不一样的,为此,DCG算法依据排序位置对相关度进行加权,算法中用的加权值是1/log以2为底i的对数,i代表推荐结果的排序,但是对于不同的领域,相关度的设置不同,推荐列表的长度不同,也就导致DCG指标不能跨场景进行比较,因此之后又有人提出来NDCG算法,该算法在DCG算法的基础上,对该指标进行了归一化,使得其取值在【0,1】之间,从而使得该指标可以用于不同应用场景中。
3.分类准确度
分类准确度是评分准确度的特殊形式,分类准确度的本质是判断用户是否喜欢一个影片,而是否喜欢是一个典型的二分判断,所以在这个前提下,需要有一个明确的判定原则,例如,有一个打分系统,评分从1~10分,可以通过专家意见设定一个阈值作为一个用户是否喜欢一个电影的考量,如设定7分及以上为喜欢,7分以下则是不喜欢。可见,分类准确度不能非常精准的判定一个算法的评分预测能力,只要没有影响影片分类的偏差都不会影响最后的分类结果。比如某个影片的真实评分应该是8,那么如果以预测评分来判定,只有预测为8才为完全预测正确,但是分类准确度只要知道评分应该是大于7的,就可以判定该用户喜欢这个影片,这就达到了分类的目的。分类准确度指标又可以细分为分类准确率指标、分类召回率指标和F指标、AUC指标。
准确率、召回率和F值是广泛应用于信息检索和统计学分类领域的三个度量值,用来评价分类结果的质量。其中,准确率是检索结果中相关文档数与文档总数的比率衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率;F值是准确率和召回率的调和平均值。通俗来说,精确率就是评估捕获的成果中目标成果所占的比例,而召回率是从关注领域中召回目标类别的比例;F值就是综合这两个指标的评估指标,用于综合反映整体指标。准确率、召回率取值在0和1之间,数值越接近1,准确率和召回率就越高。F指标综合了准确率指标和分类召回率指标的结果,当F值较高时则说明试验方法比较有效。
3.1分类准确率指标。准确率指标从一方面显示了用户对推荐视频的感兴趣程度。常用的计算方法是设定推荐视频列表的长度是M,将视频根据推荐评分排序,进一步将排在前M位的视频推荐给用户,那么就可能有四种情况发生,列名为用户喜好,有喜欢和不喜欢,列名2为系统推荐,喜欢后面为Ntp(代表用户喜欢且系统推荐了的视频数量);不喜欢后面跟Nfp(代表用户不喜欢但系统推荐了的视频数量);列明3为系统不推荐,喜欢后面为Ntn(代表用户喜欢但系统未推荐的视频数量);不喜欢后面跟Nfp(代表用户不喜欢系统也未推荐的视频数量)。那么该推荐系统的准确率为:
Pu=Ntp/Ntp+Nfp
将系统中所有用户的准确率求平均就可以得到系统整体的推荐准确率,即P=1/M*Pu加和,式中M代表测试用户总数,U代表每个测试用户。在离线测试方法中,准确率会受评分稀疏性的影响。如果系统中的一个用户只给很少的视频打过分,那么该推荐系统就不能给该用户准确推荐其喜欢的视频,因为此时系统不能从该用户仅有的一点历史数据中准确判断该用户的喜好。
3.2分类召回率指标。召回率表示一个用户喜欢的视频被推荐的概率,召回率Ru=Ntp/Ntp+Ntn,系统中所有用户的召回率求平均就可以得到系统总的召回率,即R=1/M*Ru加和,式中,M代表测试用户的总数,u代表每个测试用户。
严格意义上来说,召回率并不适合应用于评测推荐系统,因为他包含了用户没有评分的视频都是其不喜欢的视频的前提假设,显然这个假设是不合理的。
4,F指标。仅仅依靠准确率或者召回率并不能准确判断一个推荐算法的好坏,在一些小概率事件的判断中,比如这粒沙子中是否包裹有金子做出判断,如果判断算法始终输出false,那么可以想象该判断算法的准确率相当高(因为沙子中含有金子的概率本来就极低)。但是通过常识可以判断,这种分类算法是没有任何意义的,而在一个视频推荐系统中,需要找出用户喜欢的视频,而某个推荐算法将测试集中的所有视频均判断为用户喜欢的视频,此时该算法的召回率为100%,但是这并不能说明这个算法性能优越,因为该算法的准确率在理论上完全等于推荐系统算法的准确率,也就是说和不推荐的效果是一样的。一般来说,准确率和召回率是负相关的并且依赖于推荐列表的长度,随着推荐列表长度增加,准确率会减小而召回率会增加,由于P指标和R指标有时候会出现相互矛盾的情况,就需要综合考虑它们,最常见的方法就是F指标。F指标是准确率和召回率的加权调和平均。
F=(a的平方+1)P*R/a的平方*(P+R)
当参数a=1时,也即P和R的权重相等时,就是最常见的F1指标。
由F指标的计算公式可知F指标综合了P和R的结果,当F值较高时则能说明试验方法比较有效。
5.AUC指标,准确率和召回率只是针对有二分喜好的系统进行评测的依据,对于没有明确喜好,只有一系列评分的系统,是否可以借鉴准确率和召回率的概念呢?AUC就是基于这样的思想的,AUC指标表示ROC曲线下的面积,用于衡量该系统能在多大程度上把用户喜欢的视频和不喜欢的视频进行区别。
ROC曲线的绘制包括如下步骤
1.根据待评测推荐算法生成一个视频推荐列表,也就是按照预测评分高低将待推荐视频列表排序。
2.绘制ROC曲线的坐标轴,其中横坐标为不想关比例,纵坐标为相关比例,横纵坐标都按照视频总数进行等分。
3.从坐标原点开始,如果该视频是用户实际喜欢的视频,则继续在总坐标方向画一条一单位长度直线;如果该视频不是x户喜欢的视频,则继续在横坐标方向画一条一单位长度的直线;如果测试数据集中没有该用户关于该视频的评价数据,则不予移动。
如果一个视频推荐算法表现较好,也就是会将用户喜欢的视频排在不喜欢的前面,这时候ROC曲线就会是一条先垂直向上再水平向右的线,ROC曲线覆盖到的面积为1;如果采用随机推荐算法,此时,ROC曲线就会是一条接近45度的斜线,ROC曲线覆盖到的面积为0.5。ROC指标很好的表征了推荐算法的整体表现,但是该指标没有考虑推荐位置排序的影响,所以如果两个算法有相同的ROC指标时,尽管客观上这两个推荐算法有优劣之分,但是ROC指标却无法做出判断了。
多样性指标
一个好的推荐系统,在保障推荐准确度的前提下,也应该尽可能提高用户其他方面的体验。下面说一下,视频推荐系统离线测评常用到的指标。
1.覆盖率
覆盖率指推荐出来的结果能不能很好的覆盖所有的影片,是不是所有的影片都有被推荐的机会。如果一个推荐算法的覆盖率低,那么用户的选择就会比较少,势必会影响用户满意度。尤其在电子商务领域和视频推荐领域,向用户推荐广泛的兴趣时多么重要!因为用户可能因为这个推荐而发掘一个新的消费点或者一个新的兴趣点。
覆盖率可以分为预测覆盖率、推荐覆盖率和类别覆盖率三种,其中预测覆盖率表示可以预测评分的视频占视频总数的比例,即Covp=可以预测评分的视频数目/视频总数目,从这个式子可以看出预测覆盖率表示了推荐系统可能进行推荐的覆盖能力,与用户无关。推荐覆盖率表示用户推荐视频列表长度和视频总数目的比值,其中,用户推荐视频列表长度时每次为用户推荐的视频的并集的大小,推荐覆盖率越高,意味着该系统实际推荐给用户的视频数量越多,推荐系统的推荐覆盖率时系统中所有用户推荐覆盖率的平均值。种类覆盖率表示推荐系统为用户推荐的视频种类占全部种类的比例。
多样性和新颖性
视频推荐系统能否给一个用户推荐多元的影片满足用户多元的兴趣爱好,也是衡量一个视频推荐系统是否成功的关键因素。在推荐系统中,多样性体现在以下两个层次:用户间的多样性用于衡量推荐系统对不同用户推荐不同商品的能力。用户内的多样性用于衡量推荐系统对一个用户推荐商品的多样性。
对于用户u和t,可以用汉明距离衡量两个用户推荐列表的不同程度,具体定义为Hut=1-用户u和用户t推荐列表中相同商品的个数,如果两个推荐列表完全一致,那么Hut=0;如果完全不同,Hut=1;,将系统中所有用户两两组合得到的所有汉明距离求平均就得到整个系统的平均汉明距离H。汉明距离越大,就表示用户间推荐多样性越高。
新颖性是指系统向用户推荐非热门非流行影片的能力。推荐流行影片纵然可以在一定程度上提高推荐准确性,但是对所有用户都推荐热门影片,则失去了个性化推荐的意义所在,度量推荐新颖性最简单的方法是计算推荐商品的平均流行度。推荐列表中影片的平均流行度越小,对用户来说,其新颖性就越高。