2模型评估
发布日期:2021-06-29 18:40:57 浏览次数:2 分类:技术文章

本文共 4416 字,大约阅读时间需要 14 分钟。

文章目录

  • 机器学习中,对模型的评估同样至关重要。
  • 模型评估分离线评估和在线评估两个阶段。
  • 针对分类、排序、回归、序列预测等不同类型,评估指标的选择也有所不同。
  • 每种评估指标的精确定义、
  • 有针对性地选择合适的评估指标、
  • 根据评估指标的反馈进行模型调整,
  • 这些都是机器学习在模型评估阶段的关键问题

1 评估指标的局限性

场景描述

  • 诸多的评估指标中,大部分指标只能片面地反映模型的一部分性能。如果不能合理地运用评估指标,不仅不能发现模型本身的河题,而且会得出错误的结论。

1 准确率的局限性

  • 奢侈品广告主们希望把广告定向投放给奢侈品用户。
  • Hulu拿到了部分奢侈品用户的数据,并以此为训练集和测试集,
    • 训练和测试奢侈品用户的分类模型
  • 模型准确率超95%,但实际广告投放中,
    • 该模型还是把大部分广告投给非奢侈品用户,什么原因

在这里插入图片描述

  • 正确分类的样本个数
  • 总样本的个数。
  • 当负样本占99%时,分类器把所有样本都预测为负样本也可以获得99%的准确率。
  • 当不同类别的样本比例不均衡时
    • 占比大的类别往往成为影响准确率的最主要因素。

  • 奢侈品用户只占Hulu全体用户的小部分,虽然模型的整体分类准确率高,但不代表对奢侈品用户的分类准确率也高
  • 线上投放过程中,只对模型判定的“奢侈品用户”投放,因此,对“奢侈品用户”判定的准确率不够高的问题就被放大。
  • 用更为有效的平均准确率(每个类别下的样本准确率的算术平均)作为模型评估的指标。

  • 即使评估指标选对了,仍会存在模型过拟合或欠拟合、
    • 测试集和训练集划分不合理、
    • 线下评估与线上测试的样本分布存在差异,
  • 但评估指标的选择是最容易被发现,
    • 也最可能影响评估结果

2 精确率与召回率

  • 提供视频的模糊搜索功能,搜索排序模型返回的Top5的精确率非常高,
  • 实际中,用户还是经常找不到想要的视频
    • 特别是冷门的剧集,哪环节出问题?

  • 分类正确的正样本个数占分类器判定为正样本的样本
  • 分类正确的正样本个数占真正的正样本

  • 排序问题中用TopN返回结果的Precision和Recall来衡量排序模型
  • 模型返回的TopN就是模型判定的正样本
    • 然后计算
    • 前N个位置上的Precision(@N
    • 前N个位置上的Recall@N

  • 为提Precision,分类器需尽量在“更有把握”时才把样本预测为正,但会因为过于保守而漏掉很多“没有把握”的正样本,导致Recall降低

  • 模型返回的Precision5的结果非常好,也就是说排序模型Top5的返回值的质量很高。
  • 实际中,为了找冷门视频,往往会找排在靠后位置的结果
    • 甚至翻页去查找目标视频
    • 用户经常找不到想要的视频,这说明模型没把相关的视频都找出来给用户
    • 显然,问题出在召回率
  • 如果相关结果有100个,即使Precision5达到100%, Recall5也仅5%。
  • 模型评估时,应同时关注 Precision和 Recall?
  • 是否应该选取不同的TopN的结果观察?
  • 是否应选取更高阶的评估指标来更全面地反映模型在Precision值和 Recall值两方面的表现?

  • 为了综合评估一个排序模型好坏,不仅要看模型在不同TopN下的 Precision(@N和 Recall@N,
  • 最好绘制出模型的P-R曲线。

  • 对排序模型来说,P-R曲线上的一个点代表,
    • 在某一阈值下,模型将大于该阈值的结果判定为正样本,
    • 小于该國值的结果判定为负样本,
    • 此时返回结果对应的召回率和精确率
  • P-R曲线是通过将阈值从高到低移动而生成的
  • 原点附近代表当阈值最大时模型的精确率和召回率。

在这里插入图片描述

  • 召回率接近0时,A精确率0.9,B精确率1,
    • 说明B得分前几位的样本全部是真正的正样本
    • 而A得分最高的几个样本也存在预测错误
  • 随着召回率増加,精确率整体下降
  • 当召回率为1时,模型A的精确率反而超过了B。
  • 说明,只用某个点对应的精确率和召回率是不能全面地衡量模型的性能,只有通过P-R曲线的整体表现,才能够对模型进行全面的评估。

  • F1 score和ROC曲线也能综合地反映一个排序模型的性能。

在这里插入图片描述

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

  • 预测每部美剧的流量趋勢对于广告投放、用户增长都重要。
  • 我们希望构建一个回归模型来预测某部美剧的流量趋势,但无论采用哪种回归模型,得到的RMSE指标都非常高。
  • 事实是,模型在95%的时间区间内的预测误差都小于1%,
    • 取得了相当不错的预测结果。
  • RMSE居高不下的最可能原因?

  • RMSE衡量回归模型好坏,但按题目叙述,RMSE这个指标失效。

在这里插入图片描述

  • RMSE能很好反映回归模型预测值与真实值的
    偏离程度。但在实际问题中,如果存在个别偏离程度非常大的离群点
    ( Outlier)时,即使离群点数量非常少,也会让RMSE指标变得很差。

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

  • 如果认定这些离群点是“噪声”的话,就需在数据预处理的阶段把这些噪声过滤
  • 如果不认为这些离群点是“噪声点”的话,就需进一步提高模型的预测能力,将离群点产生的机制建模进去
  • 找一个更合适的指标来评估该模型
  • 存在比RMSE的鲁棒性更好的指标,平均绝对百分比误差( Mean Absolute Percent Error,MAPE),

在这里插入图片描述

  • 相比RMSE,MAPE相当把每个点的误差归ー化,降低了个别离群点带来的绝对误差的影响

2 ROC曲线

场景描述

  • 二值分类器的指标很多,
    • precision、 recall、 F1 score、P-R曲线
    • 只能反映模型在某一方面性能
  • ROC则很多优点,常作为评估二值分类器最重要的指标

1 什么是ROC曲线?

  • Receiver Operating Characteristic Curve
    • “受试者工作特征曲线”。

  • 假阳性率( False Positive Rate,FPR)
  • 纵坐标真阳性率( True Positive Rate,TPR)

在这里插入图片描述

  • P是真实正样本
  • N是真实负样本
  • TP是P个正样本中被分类器预测为正样本的个数
  • FP是N个负样本中被分类器预测为正样本的个数

  • 10位疑似
  • 3位确实(P=3),
  • 7位不是(N=7)。
  • 诊断出3位,2位确实是(P=2)
    • 那么真阳性率2/3
  • 对7位非癌症来说,一位被误诊
    • 那么假阳性率1/7
  • 对分类器来说
    • 就对应ROC曲线上的一个点(1/7,2/3)

如何绘制ROC曲线?

  • ROC不断移动分类器的“截断点”来生成曲线上的一组关键点

  • 二值分类输出一般都是预测样本为正的概率
  • 阈值为0.9,那只有第一个样本会被预测为正例,其他全部都负
  • “截断点”就是区分正负预测结果的阈值

在这里插入图片描述

  • 通过动态调整截断点,从最高得分开始(正无穷开始,对应零点),逐渐调整到最低得分
  • 每一个截断点都对应一个FPR和TPR,在ROC上绘制出每个截断点对应的位置再连接所有点就得到ROC

  • 为正无穷,全部样本预测为负,
    • 第一个坐标(0,0)
  • 截断点0.9时
    • TP=1
    • 所有正例数量为P=10,故TPR=1/10
    • FPR=0,对应(0,0.1)
  • 依次调整截断点,直到画出全部关键点,
    • 再连接关键点即得到最终的ROC

在这里插入图片描述

  • 正样本为P,负样本为N
  • 横轴刻度间隔设为1/N,纵轴刻度间隔设1/P
  • 再根据模型输出的预测概率对样本排序(从高到低)
  • 依次遍历样本,同时从零点绘制ROC,
    • 每遇一个正样本就沿纵轴方向绘制一个刻度间隔的曲线,
    • 每遇到一个负样本就沿横轴方向绘制一个刻度间隔的曲线,
    • 直到遍历完所有样本
  • 曲线最终停在(1,1)

3 如何计算AUC?

  • 量化反映基于ROC曲线衡量出的模型性能
    • 只需要沿着ROC横轴做积分就可
  • ROC一般都处y=x上方(如果不,只要把模型预测的概率反转成1-P就可以得到一个更好的分类器),所以AUC一般在0.5~1之间。
  • 越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。

4 ROC相比P-R有什么特点?

  • 同样被经常用来评估分类和排序模型的P-R曲线。
  • 相比P-R,ROC有一特点
    • 当正负样本的分布变化时
    • ROC形状基本不变
    • 而P-R一般剧烈变化

在这里插入图片描述

  • 这让ROC能尽量降低不同测试集带来的干扰,更客观衡量模型本身性能
  • 计算广告常涉及转化率模型,正样本是负样本的1/1000甚至1/10000。
  • 若选不同测试集,P-R变化非常大,而ROC能更稳定反映模型本身好坏
  • 所以,ROC的适用场景更多,被广泛用于排序、推荐、广告
  • 如果希望更多地看到模型在特定数据集上的表现,P-R则能够更直观地反映其性能。

7 过拟合与欠拟合

1 过拟合和欠拟合具体是指什?

  • 过拟合指模型对于训练数据拟合过当,
    • 模型在训练集上的表现很好,
      • 但在测试集和新数据上的表现差
  • 欠拟合: 模型在训练和预测时表现都不好

在这里插入图片描述

  • 模型过于复杂,把噪声数据的特征也学习到模型中,导致泛化能力下降,在后期应用过程中很容易输出错误的预测

2 几种降低过拟合和欠拟合?

降低“过拟合”风险的方法

  • (1)获更多训练数据
  • 用更多训练数据是解决过拟合最有效手段
    • 因为更多的样本能让模型学习到更多更有效的特征,減小噪声影响
  • 直接增加实验数据困难,可通过一定规则扩充训练数据
  • 图像分类,可通过图像平移、旋转、缩放扩充数据
  • 使用生成式对抗网络来合成大量的新训练数据

  • (2)降低模型复杂度。
  • 数据较少时,模型过于复杂是产生过拟合主要因素
    • 适当降低模型复杂度可避免模型拟合过多采样噪声
  • 神经网络中減少网络层数、神经元个数
  • 决策树模型中降低树深度、剪枝

  • (3)正则化方法。
  • 给模型的参数加上一定的正则约束
    • 如将权值大小加入到损失函数
  • L2正则化

在这里插入图片描述

  • 优化原来的目标函数 C 0 C_0 C0的同时,也能避免权值过大带来的过拟合

  • (4)集成学习方法。
  • 集成学习是把多个模型集成在一起,来降低单一模型的过拟合风险,如 Bagging

降低“欠拟合”风险的方法

  • (1)添加新特征
    • 当特征不足或现有特征与样本标签的相关性不强时,易欠拟合
    • 挖掘“上下文特征”“ID类特征”“组合特征”等新特征,往往能取得更好效果
    • 深度学习中有很多模型可帮助完成特征工程
      • 如因子分解机、梯度提升決策树
      • Deep-crossing都可成为丰富特征的方法

  • (2)增加模型复杂度
  • 简单模型学习能力较差,通过增加模型复杂度可使模型有更强拟合能力
  • 线性模型中添加高次项
    • 在神经网络模型中増加网络层数或神经元个数

  • (3)减小正则化系数。
    • 正则化是来防止过拟合的,出现欠拟合时,则要针对性减小正则化系数

转载地址:https://cyj666.blog.csdn.net/article/details/104963658 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:1 排列与组合
下一篇:给出一个正整数N和长度L,

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月20日 19时35分21秒