hulu机器学习问题与解答系列|二十一:分类排序回归模型的评估

peizhe123 peizhe123     2022-10-21     500

关键词:

本期问题的解答结合了具体的Hulu业务案例,可以说是很有趣又好懂了。快快学起来吧!

 

 

今天的内容是

【分类、排序、回归模型的评估】

 

场景描述

在模型评估过程中,分类问题、排序问题、回归问题往往需要使用不同的评估指标进行评估。但在诸多的评估指标中,大部分指标只能片面的反映模型一部分的能力,如果不能合理的综合运用评估指标,不仅不能发现模型本身的问题,甚至会得出错误的结论。下面以hulu的业务为背景,假想了几个模型评估的场景,看看大家能否管中窥豹,发现指标选择或者模型本身的问题。

 

问题描述

  1. 准确率(Accuracy)的局限

  2. 精确率(Precision)和召回率(Recall)的权衡

  3. 均方根误差(Root Mean Square Error,RMSE)的“意外”

 

知识点:

准确率(Accuracy) 精确率(Precision)

召回率(Recall) 均方根误差(Root Mean Square Error, RMSE)

 

解答与分析

1. 准确率(Accuracy)的局限

hulu的奢侈品广告主们希望把广告定向投放给奢侈品用户,hulu通过第三方的DMP(Data Management Platform,数据管理平台)拿到了一部分奢侈品用户的数据,并以此为训练集和测试集训练奢侈品用户的分类模型;该模型的分类准确率超过了95%,但在实际广告投放过程中,该模型还是把大部分广告投给了非奢侈品用户,有可能是什么原因造成的?

难度:1星

在解答该问题之前,我们先明确一下分类准确率(Accuracy)的定义——准确率是指分类正确的样本个数,占总样本个数的比例。

技术分享图片

其中ncorrect为被正确分类的样本个数,ntotal为总样本的个数。

准确率是分类问题最简单也是最直观的评价指标,但准确率存在明显的缺陷,即当样本所属类别的比例非常不均衡时,样本占比大的分类往往成为影响准确率的最主要因素。比如负样本占99%,那么分类器把所有样本预测为负样本也可以获得99%的准确率。

明确这一点,我们这道题也就迎刃而解了。因为奢侈品用户显然只占hulu全体用户的一小部分,模型的整体分类准确率高,不代表着对奢侈品用户的分类准确率高。在线上投放过程中,我们只会对模型判定的“奢侈品用户“进行投放,因此对“奢侈品用户”判定的准确率不够高的问题被放大了。为解决这个问题,使用平均准确率(每个类别下的样本准确率的算术平均)来进行模型评估是更为有效的指标。

事实上,这道题是一道比较开放的试题,需要面试者根据问题的现象去一步步地排查问题。标准答案不限于指标选择的问题,即使评估指标选择对了,仍会存在模型过拟合或欠拟合,测试集和训练集划分,线下评估与线上测试样本分布存在差异等等一系列的问题。但评估指标选择的问题是最容易被发现也是最可能影响评估结果的因素。

 

2. 精确率(precision)与召回率(recall)的权衡

hulu提供视频的模糊搜索功能,搜索排序模型返回的top 5结果的精确率(precision)非常高,但在实际的使用过程中,用户却还是经常找不到想要找的视频,特别是一些比较冷门的剧集,这有可能是哪个环节出了问题?

难度:1星

要回答这个问题,我们需要首先明确两个概念,精确率(precision)和召回率(recall)。

精确率(precision):分类正确的正样本个数占分类器判定为正样本的样本个数的比例。

召回率(recall):分类正确的正样本个数占真正的正样本个数的比例。

在排序模型中,由于没有一个准确的阈值把结果判定为正负样本,所以往往使用Top N返回结果的Precision和Recall值来衡量排序模型的性能。即我们认为排序模型返回的Top N的结果就是模型判定的正样本,计算[email protected],和[email protected]

Precision和Recall是矛盾统一的两个指标,为了提高精确率,需要分类器尽量在“更有把握时”才把样本预测为正样本,但此时分类器往往会因为过于保守的选择而漏掉很多“没有把握”的正样本,导致召回率降低。

回到问题中来,问题给出[email protected]的结果非常好,也就是说排序模型Top 5的返回值的质量是很高的,但在实际使用过程中,用户为了找一些冷门的视频,往往会寻找排在较靠后的结果,甚至翻页去查找目标视频,但根据题目,用户经常找不到想要的视频,这说明模型没有把相关的视频都找出来呈现给用户,显然,问题出在召回率上,如果相关结果有100个的话,即使[email protected]达到了100%,[email protected]也仅仅是5%。在评价Precision的时候,我们是否应该同时看Recall的指标?进一步,是否应该选取不同的Top N进行观察?再进一步,是否应该选取更高阶的评估指标能够更全面的反映模型在Precision和Recall两方面的表现?

答案显然都是肯定的,为了综合评估一个排序模型的好坏,我们不仅要看模型在不同top N下的[email protected][email protected],而且最好能据此画出Precision-Recall曲线,这里我们简单介绍一下P-R曲线的绘制方法。

P-R曲线的横轴是召回率,纵轴是精确率。对于一个排序模型来说,其P-R曲线上的某一个点代表着在某一个正样本阈值(大于该阈值模型预测为正样本,小于该阈值预测为负样本)下所对应的召回率和精确率。而整条P-R曲线是通过从最高到最低滑动正样本阈值生成的。如下图图b所示,其中实线代表模型insts模型的P-R曲线,虚线代表insts2模型的P-R曲线。横轴接近0的点代表着正样本阈值最大时模型的精确率和召回率。如图可见,在召回率接近0时,insts模型的精确率是0.9,而insts2模型的精确率是1。说明insts2模型得分前几位的样本全部是真正的正样本,而insts模型即使是得分最高的几个样本也存在预测错误的情况。而随着召回率的增加,精确率整体上有所下降,在召回率为1时,insts模型的精确率反而超过了insts2模型,这充分说明了我们只用一个点的精确率和召回率结果是不能全面衡量模型性能的,只有通过P-R曲线的整体表现,才能够对模型进行更为全面的评估。

技术分享图片

(图片来自 Fawcett, Tom. "An introduction to ROC analysis." Pattern recognition letters27.8 (2006): 861-874.)

除此之外,F1 score和ROC曲线也是能够综合地反映一个排序模型的性能,F1-score是精准率和召回率的调和平均值,定义如下:

技术分享图片

ROC曲线我们在前面的文章中做过详细的介绍,感兴趣的同学可以翻一下公众号的历史文章。

 

3. 平方根误差的“意外”

hulu作为一家流媒体公司,拥有众多美剧资源,预测每部美剧的流量趋势对于广告投放、用户增长都是非常重要。我们希望构建一个回归模型来预测某部美剧的流量趋势,但无论采用何种回归模型,我们得到的RMSE(Root Mean Square Error,平方根误差)指标都非常高,然而事实上,模型在95%的时间区间内的预测误差都小于1%,取得了相当不错的预测结果,那么造成RMSE指标居高不下的最可能的原因是什么?

难度:1星

大家知道,RMSE(Root Mean Square Error,均方根误差)是经常用来衡量一个回归模型好坏的。但按照题目的叙述,RMSE这个指标却失效了。我们首先看一下RMSE的计算方式:

技术分享图片

其中,yi是第i个样本点的真实值,技术分享图片是第i个样本点的预测值,n是样本点的个数。

一般情况下,RMSE能够很好的反映回归模型预测值与真实值的偏离程度,但当实际问题中存在别偏离程度非常大的离群点时,即使是极个别的点,也会让RMSE指标变得很差。

回到问题中来,模型在95%的时间区间内的预测误差都小于1%,显然大部分时间区间内模型效果都是非常优秀的。但RMSE效果却一直很差,很可能是由于在剩余5%的时间区间内存在非常严重的离群点。事实上,在流量预估这个实际问题中,噪声点确实是很容易产生的,对于特别小流量的美剧,刚上映的美剧,或者获奖的美剧,甚至一些相关社交媒体突发事件带来的流量,都会成为离群点产生的原因。

那么有什么解决方法呢?这里有三个角度,第一个角度是如果我们认定这些离群点是“噪声点”的话,我们就需要在数据预处理的阶段就把这些噪声点过滤掉;第二个角度,如果我们不认为这些离群点是噪声点的话,我们其实是需要进一步提高模型的预测能力,将离群点产生的机制建模进去。关于流量预估模型如何改进这个问题是一个宏大的话题,我们就不展开讨论了;第三个角度,我们希望找一个更合适评估该模型的指标,关于这个问题,其实是存在比RMSE鲁棒性更好的指标的,比如MAPE(Mean Absolute Percent Error平均绝对百分比误差),定义如下:

技术分享图片

相比RMSE,MAPE相当于把每个点的误差进行了归一化,消除了个别离群点带来的绝对误差的影响。

 

总结与扩展

本篇文章,我们基于三个假想的hulu的应用场景,主要说明了评估指标选择的重要性。每个评估指标都有其价值,但是如果只从单一的评估指标出发去评价模型,往往会得出片面甚至错误的结论。只有通过一组互补的评价指标去验证试验结果,我们才能够更好的发现并解决模型存在的问题,从而更好的解决实际业务场景的问题。

 


 

下一题预告

【特征工程—数值型特征】

 

场景描述

特征工程是指结合问题寻找有效的特征并进行处理成适合模型的输入形式。机器学习中有句经典的话叫做“Garbage in, garbage out”,意思是如果输入的数据是垃圾,那么得到的结果也是垃圾。可以看出模型成败的关键并不仅仅取决于模型的选取,还取决于我们是否有根据特定的问题找到了行之有效的输入。常用的数据可以分为结构化数据和非结构化数据,其中:结构化数据可以看成关系型数据库的一张表,每列都有清晰的定义,包含了数值型、类别型两种基本类型;非结构化数据主要包括文本数据和图像数据,所有信息都是混在一起的,并没有清晰的类别定义,并且每条数据的大小都是不一样的。

 

问题描述

1. 为什么需要对数值类型的特征做归一化?

2. 应该怎样处理类别型特征?

3. 怎样处理高维组合特征?

4. 怎样有效地找到组合特征?

 

hulu机器学习问题与解答系列|二十二:特征工程—结构化数据

...问题寻找有效的特征并进行处理成适合模型的输入形式。机器学习中有句经典的话叫做“Garbagein,garbageout”,意思是如果输入的数据是垃圾,那么得到的结果 查看详情

hulu机器学习问题与解答系列|十一:seq2seq

你可以点击菜单栏的“机器学习”,回顾本系列前几期的全部内容,并留言发表你的感悟与想法。 今天的内容是【Seq2Seq】 场景描述作为生物体,我们的视觉和听觉会不断地获得带有序列的声音和图像信号,并交由大脑... 查看详情

hulu机器学习问题与解答系列|二十三:神经网络训练中的批量归一化

来看看批量归一化的有关问题吧!记得进入公号菜单“机器学习”,复习之前的系列文章噢。 今天的内容是【神经网络训练中的批量归一化】 场景描述深度神经网络的训练中涉及诸多手调参数,如学习率,权重衰减系数... 查看详情

hulu机器学习问题与解答系列|第一弹:模型评估

...这是科学家门捷列夫的名言。在计算机科学中,特别是在机器学习的领域,对模型的测量和评估同样至关重要。只有选择与问题相匹配的评估方法,我们才能够快速的发现在模型选择和训练过程中可能出现的问题,迭代地对模型... 查看详情

hulu机器学习问题与解答系列|十八:svm–核函数与松弛变量

嗨,又见面了~你可以进入公众号,点击菜单栏的“机器学习”回顾本系列的全部内容,并留言与作者交流。 今天的内容是【SVM–核函数与松弛变量】 场景描述当我们在SVM中处理线性不可分的数据时,核函数可以对数据... 查看详情

hulu机器学习问题与解答系列|第七弹:非监督学习算法与评估

听说,Hulu机器学习与冬日的周末更配噢~ 你可以点击菜单栏的“机器学习”,回顾本系列前几期的全部内容,并留言发表你的感悟与想法。同时,为使大家更好地了解Hulu,菜单“关于Hulu”也做了相应调整,好奇宝宝们,牌... 查看详情

hulu机器学习问题与解答系列|第六弹:pca算法

好久不见,Hulu机器学习问题与解答系列又又又更新啦! 你可以点击菜单栏的“机器学习”,回顾本系列前几期的全部内容,并留言发表你的感悟与想法,说不定会在接下来的文章中看到你的感言噢~  今天的主题是... 查看详情

hulu机器学习问题与解答系列|第九弹:循环神经网络

...NN问题的解答。记得多多思考和转发,公式供应充足的Hulu机器学习系列,怎么能只自己知(shou)道(nue)  ~  今天的内容是【循环神经网络】 场景描述循环神经网络(RecurrentNeuralNetwork)是一种主流的深度学习模型... 查看详情

hulu机器学习问题与解答系列|第八弹:强化学习

...的要素,例如环境:游戏本身的状态,动作:用户操作,机器人:程序,回馈:得分、输赢等。通过输入原始像素来玩视频游戏,是人工智能成熟的标志之一。雅达利(Atari)是20世纪七八十年代红极一时的电脑游戏,类似于国... 查看详情

hulu机器学习问题与解答系列|十七:随机梯度下降算法之经典变种

这是本周第二篇机器学习,也是Hulu面试题系列的第十七篇了~之前的所有内容都可以在菜单栏的“机器学习”中找到,愿你温故,知新。 今天的内容是【随机梯度下降算法之经典变种】 场景描述提到DeepLearning中的优化方... 查看详情

hulu机器学习问题与解答系列|十九:主题模型

今天的内容是【主题模型】 场景描述基于Bag-Of-Words(或N-gram)的文本表示模型有一个明显的缺陷,就是无法识别出不同的词(或词组)具有相同主题的情况。我们需要一种技术能够将具有相同主题的词(或词组)映射到同一... 查看详情

hulu机器学习问题与解答系列|第四弹:不均衡样本集的处理

Hulu机器学习系列按时来报到~快搬好小板凳,一起来学习吧 今天的主题是【采样】 引言古人有云:“知秋一叶,尝鼎一脔”,其中蕴含的就是采样思想。采样,就是根据特定的概率分布产生对应的样本点。对于一些简... 查看详情

hulu机器学习问题与解答系列|十六:经典优化算法

HappyNewYear! 新年伊始,我们都会在祝福他人之余,为自己暗暗定下几个小目标。那就从现在开始努力吧,跑得更快一点,才会让时间显得慢一些~ 今天的内容是【经典优化算法】 场景描述针对我们遇到的各类优化问题... 查看详情

hulu机器学习问题与解答系列|十二:注意力机制

几天不见想死你们啦~今儿的课题很好玩,跟上队伍一起来读! 今天的内容是【注意力机制】 场景描述作为生物体,我们的视觉和听觉会不断地获得带有序列的声音和图像信号,并交由大脑理解;同时我们在说话、打字... 查看详情

hulu机器学习问题与解答系列|十五:多层感知机与布尔函数

今天没有别的话,好好学习,多多转发!  本期内容是【多层感知机与布尔函数】 场景描述神经网络概念的诞生很大程度上受到了神经科学的启发。生物学研究表明,大脑皮层的感知与计算功能是通过分多层实现的,... 查看详情

hulu机器学习问题与解答系列|十四:如何对高斯分布进行采样

欢迎回到“采样”系列~ 今天的内容是【如何对高斯分布进行采样】 场景描述高斯分布,又称正态分布,是一个在数学、物理及工程领域都非常重要的概率分布。在实际应用中,我们经常需要对高斯分布进行采样。虽然... 查看详情

机器学习问题与解答系列(17-24)

老朋友了,还用多说什么吗?点击下面的链接复习咯: 17. 随机梯度下降算法之经典变种18. SVM—核函数与松弛变量19. 主题模型20. PCA最小平方误差理论21. 分类、排序、回归模型的评估22. 特征工程—结构... 查看详情

机器学习100天(二十一):021分类模型评价指标-roc曲线和auc

机器学习100天!今天讲的是:分类模型评价指标-ROC曲线和AUC《机器学习100天》完整目录:目录首先基于混淆矩阵,介绍两个新的概念:真正例率(TPR)和假正例率(FPR)。真正例率是预测为正且实际为正的样本的占所有正例样... 查看详情