第二章 模型评估

摘自《百面机器学习》第二章 模型评估内容

第一节 评估指标的局限性

介绍了 准确率(Accuracy),精准率(Precision),召回率(Recall),均方根误差(Root Mean Square Error, RMSE)以及 F1-Score

接下来来讲讲各个评估指标的优缺点:

Accuracy:分类问题中最简单最直观的评价指标,缺点在于,当不同类别的样本比例非常不均衡时,占比大的类别往往成为影响准确率的最主要因素。比如说,当100个样本中,正样本只有一个,负样本99个。假设分类准确率为99%,分类器把所有样本都预测为负样本也可以获得99%的准确率,然而我们想要的正样本预测率是很低的!为了解决这个问题,可以使用更为有效的平均准确率(每个类别下的样本呢准确率的算法平均)作为模型评估的指标。(后续有专门处理样本不均衡的方法)

精准率和召回率:(Precision & Recall)精准率是指分类正确的正样本个数占分类器判定为正样本的样本个数的比例。召回率是指分类正确的正样本个数占真正的正样本个数的比例。

RMSE:常用来衡量回归模型的好坏。一般情况下,RMSE能够很好地反映回归模型预测值与真实值的偏离程度。          针对书中提到的“模型在95%的时间区间内的预测误差都小于1%,这说明,在大部分时间区间内,模型的预测效果都是非常优秀的。然而,RMSE却一直很差,这很可能事由于在其他的5%时间区间内存在非常严重的离群点。“ 问题,给出的解决办法有:1)数据清洗,即在数据预处理的解点把这些噪声过滤掉 2)”修补“模型   3)寻找更合适的指标来评估模型

小结:每个评估指标都有其价值,只有通过一组互补的指标去评估模型,才能更好地发现并解决模型存在的问题,从而更好地解决实际业务场景中遇到的问题。

第二节 ROC曲线

评价二值分类器的指标很多,比如:precision、recall、accuracy、F1 score、P-R曲线等

本节主要介绍了ROC曲线,曲线下的面积(Area Under Curve, AUC),P-R曲线

ROC曲线的横坐标为假阳性率(False Positive Rate,FPR),纵坐标为真阳性率(True Positive Rate, TPR)。

FPR = FP/N

TPR = TP/P

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

Q2:如何绘制ROC曲线?

A2:ROC曲线通过不断移动分类器的”截断点“来生辰曲线上的一组关键点的。截断点指的就是区分政府预测结果的阈值。

Q3:如何计算AUC?

A3:AUC指的是ROC曲线下的面积大小,该值能够量化地反映基于ROC曲线衡量出的模型性能。AUC的取值为[0.5,1]。AUC越大,说明分类器月可能把真正的正样本排在前面,分类性能越好。

Q4:ROC曲线与P-R曲线有什么区别?

A4:相比P-R曲线,ROC曲线有一个特点,当正负样本的分布发生变化时,ROC曲线的形状能够基本保持不变,而P-R曲线的形状一般会发生较剧烈的变化。这个特点让ROC曲线能够尽量降低不同测试集带来的干扰,更加客观地衡量模型本身的性能。在实际问题中,可用来评估样本不均衡。如果更关注于模型在特定数据集上的表现,P-R曲线则能够更直观地反映其性能。

第三节 余弦距离的应用

在机器学习问题中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常使用余弦相似度来表示。余弦相似度范围是[-1,1],相同的两个向量之间的相似度为1,将1减去余弦相似度即为余弦距离。余弦距离的取值范围是[0,2],相同的两个向量余弦距离为0.

Q1:结合你的学习和研究经历,探讨为什么在一些场景中要使用余弦相似度而不是欧式距离?

A1:当一对文本相似度的长度差距很大、但内容相近时,如果使用词频或词向量作为特征,他们在特征空间的欧式距离通常很大;而如果使用余弦相似度话,它们之间的夹角可能很小,因而相似度高。余弦相似度在高维情况下依然保持”相同时为1,正交时为0,相反时为-1“的性质,而欧式距离的数值则受维度的影响,范围不固定,并且含义也比较模糊。

Q2:余弦距离是否是一个严格定义的距离?

A2:不是。距离的定义:得满足正定性、对称性、三角不等式 这三个性质。书中P35页对齐进行了详细的证明。余弦距离满足正定性和对称性,但不满足三角不等式。

在机器学习领域,被俗称为”距离“,却不满足三条距离公理的不仅仅有余弦距离,还有KL距离,也叫作相对熵,它常用于计算两个分布之间的差异,但不满足对称性和三角不等式。

 第四节 A/B测试的陷阱

在机器学习领域,A/B测试是验证模型最终效果的主要手段。

Q1:在对模型进行过充分的离线评估之后,为什么还要进行在线A/B测试?

A1:1)离线评估无法完全消除模型过拟合的影响 2)离线评估无法完全还原线上的工程环境 3)线上系统的某些商业指标在离线评估中无法计算(P37)

Q2:如何进行线上A/B测试?

A2:将用户分成实验组和对照组,对实验组的用户施以新模型,对对照组的用户施以旧模型。在分桶的过程中,要注意样本的独立性和采样方式的无偏性。。。。

第五节 模型评估的方法

Q1:在模型评估过程中,有哪些主要的验证方法,它们的优缺点是什么?

A1:Holdout检验:也就是常见的划分训练集和测试集的方法。缺点:在验证集上计算出来的最后评估指标与原始分组有很大的关系。

        交叉验证:首先将全部样本划分成K个大小相等的样本子集;依次遍历这K个子集,每次把当前子集作为验证集,其余作为训练集,进行模型评估。在实际实验中,k经常取10

  留一验证:每次留下1个样本作为验证集,其余所有样本作为测试集(训练集)。在样本总数较多的情况下,留一验证法的时间开销极大。

  自助法:上面几种方法都是基于划分训练集和测试集的方法进行模型评估的。然而当样本规模比较小时,将样本集进一步划分会使训练集更小,可能会影响模型训练效果。自助法就是基于自助采样法的检验方法,进行n次又放回的随机抽样,将这些没有被抽出的样本作为验证集,进行模型验证。

Q2:在自助法的采样过程中,对n个样本进行n次自助抽样,当n趋于无穷大时,最终有多少数据从未被选择过?

A2:1/e ≈ 36.8%   (详见P42)

第六节 超参数调优

Q1:超参数有哪些调优方法?

A1:网格搜索、随机搜索、贝叶斯优化等。

  网格搜索:通过查找范围内的所有点来确定最优值。在实际应用中,网格搜索法一般会使用较广的搜索范围和较大的步长,来寻找全局最优值可能的位置;然后会逐渐缩小搜索范围和步长,来寻找更精确的最优值。

  随机搜索:在搜索范围中随机选取样本点。一般会比网格搜索更快一些,但是和网格搜搜快速版一样,它的结果也是没法保证的。

   贝叶斯优化:贝叶斯优化算法充分利用了之前的信息,通过对目标函数形状进行学习,找到使目标函数向全局最优值提升的参数。对于贝叶斯优化算法,有一个需要注意的地方,一旦找到了一个局部最优值,它会在该区域不断采样,所以很容易陷入局部最优值。为了弥补这个缺陷,贝叶斯优化算法会在探索和利用之间找到一个平衡点,”探索“就是在还未取样的区域获取采样点;而”利用“则是根据后验分布在最可能出现全局最值的区域进行采样。

第七节 过拟合和欠拟合

Q1:在模型评估过程中,过拟合和欠拟合具体是指什么现象/

A1:过拟合就是在训练集上表型的很好,但在测试集表现欠佳,泛化能力不好

        欠拟合表示在训练集和测试集上表现都不好

Q2:能否说出几种降低过拟合和欠拟合风险的方法?

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

    1)从数据入手,获得更多的训练数据

    2)降低模型复杂度。例如,在神经网络模型中减少网络层数、神经元个数等;在决策树模型中降低树的深度、进行剪枝等

    3)正则化方法

    4)集成学习方法

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

    1)添加新特征

    2)增加模型负责度

    3)减小正则化系数。正则化是用于防止过拟合的,但当模型出现欠拟合现象时,则需要有针对性地减小正则化系数。

原文地址:https://www.cnblogs.com/guohaoblog/p/11196865.html