打字猴:1.70053328e+09
1700533280 在解答该问题之前,我们先回顾一下分类准确率的定义。准确率是指分类正确的样本占总样本个数的比例,即
1700533281
1700533282
1700533283
1700533284
1700533285 (2.1)
1700533286
1700533287 其中ncorrect为被正确分类的样本个数,ntotal为总样本的个数。
1700533288
1700533289 准确率是分类问题中最简单也是最直观的评价指标,但存在明显的缺陷。比如,当负样本占99%时,分类器把所有样本都预测为负样本也可以获得99%的准确率。所以,当不同类别的样本比例非常不均衡时,占比大的类别往往成为影响准确率的最主要因素。
1700533290
1700533291 明确了这一点,这个问题也就迎刃而解了。显然,奢侈品用户只占Hulu全体用户的一小部分,虽然模型的整体分类准确率高,但是不代表对奢侈品用户的分类准确率也很高。在线上投放过程中,我们只会对模型判定的“奢侈品用户”进行投放,因此,对“奢侈品用户”判定的准确率不够高的问题就被放大了。为了解决这个问题,可以使用更为有效的平均准确率(每个类别下的样本准确率的算术平均)作为模型评估的指标。
1700533292
1700533293 事实上,这是一道比较开放的问题,面试者可以根据遇到的问题一步步地排查原因。标准答案其实也不限于指标的选择,即使评估指标选择对了,仍会存在模型过拟合或欠拟合、测试集和训练集划分不合理、线下评估与线上测试的样本分布存在差异等一系列问题,但评估指标的选择是最容易被发现,也是最可能影响评估结果的因素。
1700533294
1700533295 问题2 精确率与召回率的权衡。
1700533296
1700533297 难度:★☆☆☆☆
1700533298
1700533299 Hulu提供视频的模糊搜索功能,搜索排序模型返回的Top 5的精确率非常高,但在实际使用过程中,用户还是经常找不到想要的视频,特别是一些比较冷门的剧集,这可能是哪个环节出了问题呢?
1700533300
1700533301 分析与解答
1700533302
1700533303 要回答这个问题,首先要明确两个概念,精确率和召回率。精确率是指分类正确的正样本个数占分类器判定为正样本的样本个数的比例。召回率是指分类正确的正样本个数占真正的正样本个数的比例。
1700533304
1700533305 在排序问题中,通常没有一个确定的阈值把得到的结果直接判定为正样本或负样本,而是采用Top N返回结果的Precision值和Recall值来衡量排序模型的性能,即认为模型返回的Top N的结果就是模型判定的正样本,然后计算前N个位置上的准确率Precision@N和前N个位置上的召回率Recall@N。
1700533306
1700533307 Precision值和Recall值是既矛盾又统一的两个指标,为了提高Precision值,分类器需要尽量在“更有把握”时才把样本预测为正样本,但此时往往会因为过于保守而漏掉很多“没有把握”的正样本,导致Recall值降低。
1700533308
1700533309 回到问题中来,模型返回的Precision@5的结果非常好,也就是说排序模型Top 5的返回值的质量是很高的。但在实际应用过程中,用户为了找一些冷门的视频,往往会寻找排在较靠后位置的结果,甚至翻页去查找目标视频。但根据题目描述,用户经常找不到想要的视频,这说明模型没有把相关的视频都找出来呈现给用户。显然,问题出在召回率上。如果相关结果有100个,即使Precision@5达到了100%,Recall@5也仅仅是5%。在模型评估时,我们是否应该同时关注Precision值和Recall值?进一步而言,是否应该选取不同的Top N的结果进行观察呢?是否应该选取更高阶的评估指标来更全面地反映模型在Precision值和Recall值两方面的表现?
1700533310
1700533311 答案都是肯定的,为了综合评估一个排序模型的好坏,不仅要看模型在不同Top N下的Precision@N和Recall@N,而且最好绘制出模型的P-R(Precision-Recall)曲线。这里简单介绍一下P-R曲线的绘制方法。
1700533312
1700533313 P-R曲线的横轴是召回率,纵轴是精确率。对于一个排序模型来说,其P-R曲线上的一个点代表着,在某一阈值下,模型将大于该阈值的结果判定为正样本,小于该阈值的结果判定为负样本,此时返回结果对应的召回率和精确率。整条P-R曲线是通过将阈值从高到低移动而生成的。图2.1是P-R曲线样例图,其中实线代表模型A的P-R曲线,虚线代表模型B的P-R曲线。原点附近代表当阈值最大时模型的精确率和召回率。
1700533314
1700533315
1700533316
1700533317
1700533318 图2.1 P-R曲线样例图
1700533319
1700533320 由图可见,当召回率接近于0时,模型A的精确率为0.9,模型B的精确率是1,这说明模型B得分前几位的样本全部是真正的正样本,而模型A即使得分最高的几个样本也存在预测错误的情况。并且,随着召回率的增加,精确率整体呈下降趋势。但是,当召回率为1时,模型A的精确率反而超过了模型B。这充分说明,只用某个点对应的精确率和召回率是不能全面地衡量模型的性能,只有通过P-R曲线的整体表现,才能够对模型进行更为全面的评估。
1700533321
1700533322 除此之外,F1 score和ROC曲线也能综合地反映一个排序模型的性能。F1 score是精准率和召回率的调和平均值,它定义为
1700533323
1700533324
1700533325
1700533326
1700533327 (2.2)
1700533328
1700533329 ROC曲线会在后面的小节中单独讨论,这里不再赘述。
[ 上一页 ]  [ :1.70053328e+09 ]  [ 下一页 ]