机器学习-周志华-学习记录-第二章模型评估与选择

绪论

我尝试对书中第二章的每一个知识点进行归纳总结,并且某些知识点也会记录一下自己的想法,部分公式也会跟着南瓜书的进行推导,希望能够对机器学习有更深入地理解。

一、经验误差与过拟合

  • 错误率(error rate) 分类错误的样本数占样本总数的比例。即,如果在机器学习-周志华-学习记录-第二章模型评估与选择个样本中有机器学习-周志华-学习记录-第二章模型评估与选择个样本分类错误,则错误率机器学习-周志华-学习记录-第二章模型评估与选择
  • 精度(accuracy) 精度=1机器学习-周志华-学习记录-第二章模型评估与选择 错误率。
  • 误差(error) 学习器(模型)的实际预测输出与样本的真实输出之间的差异。
  • 训练误差(training error)or 经验误差(empirical error) 学习器在训练集上的误差。
  • 泛化误差(generalization error) 学习器在新样本上的误差。
  • 过拟合(overfitting) 当学习器把训练样本学得”太好”了的时候,很可能巳经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降。
  • 欠拟合(underfitting) 是指对训练样本的一般性质尚未学好。

注:过拟合常见原因,是由于学习能力过于强大,以至于把训练样本所包含的不太一般的特性都学到了,而欠拟合则通常是由于学习能力低下而造成。并且,过拟合无法避免。

二、评估方法

机器学习中的模型选择问题:在现实任务中,我们往往有多种学习算法可供选择,甚至对同一个学习算法,当使用不同的参数配置时,也会产生不同的模型。而选择哪种学习算法和参数配置,就是模型选择问题。

1.留出法

书中解释:“留出法” (hold-out) 直接将数据集机器学习-周志华-学习记录-第二章模型评估与选择划分为两个互斥的集合,其中一个
集合作为训练集机器学习-周志华-学习记录-第二章模型评估与选择,另一个作为测试集机器学习-周志华-学习记录-第二章模型评估与选择, 其中机器学习-周志华-学习记录-第二章模型评估与选择。在 机器学习-周志华-学习记录-第二章模型评估与选择上训练出模型后,用机器学习-周志华-学习记录-第二章模型评估与选择来评估其测试误差,作为对泛化误差的估计。

注意:
(1)训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入了额外的偏差,而对最终结果产生影响。例如在分类任务中,至少要保持样本的类别比例相似。

(2)单次使用留出法得到的估计结果往往不够稳定可靠。在使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。

(3)留出法划分训练集/测试集的常见做法是将大约机器学习-周志华-学习记录-第二章模型评估与选择样本用于训练,剩余样本用于测试。

2.交叉验证法

交叉检验法就是把数据集划分成 机器学习-周志华-学习记录-第二章模型评估与选择大小规模相同并且互斥的子集,并且每一个子集要保证数据分布的比例性。然后每次从这些子集和中拿出一个与前几次都不同的子集作为测试集,剩下的作为训练集。由测试集得到的每组测试结果再取平均值。一般划分次数为10次,并且书中给出的10次交叉验证直观图如下。
10次交叉验证示意图

这里书中也引出了留一法(Leave-On-Out,简称 LOO )。留一法指划分的 机器学习-周志华-学习记录-第二章模型评估与选择 个子集和数据集中的样本数 机器学习-周志华-学习记录-第二章模型评估与选择 一样多,即 机器学习-周志华-学习记录-第二章模型评估与选择。此时交叉验证的划分方式只有唯一种,所以不用担心划分带来的误差。但是,虽然留一法的结果比较准确,但是当数据集很大时,使用留一法会带来高额计算量;并且,留一法也不见得一直比其他方法结果更准确。

3.自助法

通过留出法和交叉验证法可以知道,数据集中的一部分样本用于测试了,因此实际评估的模型所使用的训练集比数据集小,这会引入一些因训练样本规模不同而导致的估计偏差。留一法有可能会有高额计算开销。自助法可以解决此类问题。

自助法(bootstrapping):给定包含机器学习-周志华-学习记录-第二章模型评估与选择个样本的数据集机器学习-周志华-学习记录-第二章模型评估与选择,我们对它进行采样产生数据集机器学习-周志华-学习记录-第二章模型评估与选择机器学习-周志华-学习记录-第二章模型评估与选择是这样得来的:每次随机从机器学习-周志华-学习记录-第二章模型评估与选择中挑选一个样本,将其拷贝后再放入机器学习-周志华-学习记录-第二章模型评估与选择,(既然这里说了是拷贝,说明机器学习-周志华-学习记录-第二章模型评估与选择中保留了原样本)然后再将该样本放回初始数据集机器学习-周志华-学习记录-第二章模型评估与选择中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行机器学习-周志华-学习记录-第二章模型评估与选择次后,我们就得到了包含机器学习-周志华-学习记录-第二章模型评估与选择个样本的数据集机器学习-周志华-学习记录-第二章模型评估与选择,这就是自助采样的结果。

其中,机器学习-周志华-学习记录-第二章模型评估与选择中有一部分样本会在机器学习-周志华-学习记录-第二章模型评估与选择中多次出现,而有一部分却不会出现。假设,样本每次被采到的概率为机器学习-周志华-学习记录-第二章模型评估与选择,与之相反的始终不被采到的概率为机器学习-周志华-学习记录-第二章模型评估与选择。则重复采样m次后,始终不被采到的概率为机器学习-周志华-学习记录-第二章模型评估与选择。若采样重复次数趋于无穷,则可以取得极限有:
机器学习-周志华-学习记录-第二章模型评估与选择
即通过自助采样,初始数据集机器学习-周志华-学习记录-第二章模型评估与选择中约有 机器学习-周志华-学习记录-第二章模型评估与选择 的样本未出现在采样数据集机器学习-周志华-学习记录-第二章模型评估与选择中。于是,我们可将 机器学习-周志华-学习记录-第二章模型评估与选择 用作训练集 机器学习-周志华-学习记录-第二章模型评估与选择 用作测试集。

4.调参与最终模型

除了选择合适的学习算法外,对算法参数的设定同等重要。这个过程叫做调参。

在利用训练集训练出模型后,应该再用整个数据集重新训练模型。并且,再利用验证集来对模型的泛化能力进行评估,基于评估再来进行模型的选择和调参。

三、性能度量

性能度量的定义:衡量模型泛化能力的评价标准

在预测任务中,给定样例集 机器学习-周志华-学习记录-第二章模型评估与选择其中,机器学习-周志华-学习记录-第二章模型评估与选择 是示例 机器学习-周志华-学习记录-第二章模型评估与选择 的真实标记。要评估学习器机器学习-周志华-学习记录-第二章模型评估与选择的性能,就要把学习器预测结果机器学习-周志华-学习记录-第二章模型评估与选择与真实标记机器学习-周志华-学习记录-第二章模型评估与选择进行比较。

回归任务中最常见的性能度量是均方误差
机器学习-周志华-学习记录-第二章模型评估与选择
若有数据分布 机器学习-周志华-学习记录-第二章模型评估与选择 和概率密度 机器学习-周志华-学习记录-第二章模型评估与选择,均方误差也可描述如下:
机器学习-周志华-学习记录-第二章模型评估与选择

1.错误率与精度

错误率分类错误的样本数占样本总数的比例。
精度分类正确的样本数占样本总数的比例。

周志华老师也给出了二者的公式定义,十分的直观。

对于样例集机器学习-周志华-学习记录-第二章模型评估与选择错误率定义为:
机器学习-周志华-学习记录-第二章模型评估与选择
精度定义为:
机器学习-周志华-学习记录-第二章模型评估与选择
其中,上述公式中 机器学习-周志华-学习记录-第二章模型评估与选择 符号,我认为是指具有 机器学习-周志华-学习记录-第二章模型评估与选择 属性的一个样本。(如有错误请指正!)

也给出了具有**数据分布 机器学习-周志华-学习记录-第二章模型评估与选择 和概率密度 机器学习-周志华-学习记录-第二章模型评估与选择**的错误率和精度定义:
机器学习-周志华-学习记录-第二章模型评估与选择
机器学习-周志华-学习记录-第二章模型评估与选择

2.查准率、查全率与F1

(1)查准率与查全率

错误率衡量具有局限性,无法满足所有的任务需求。比如,在某一次吃肯德基的时候,我想吃上校鸡块而服务员给我端了一份原味吮指鸡,这显然弄错了,于是这一次数据可以加入我对于肯德基上菜错误率数据处理中来。但我想知道这份原味吮指鸡的味道是否令我喜欢,我喜欢的是否还有其他的菜品品种。或许查准率,查全率更适合衡量。

以书中的西瓜为例:

查准率(precision): 算法挑出来的西瓜中好西瓜的比例。
查全率(recall): 所有好西瓜中,有多少被算法挑了出来。

在二分类问题中,将样例根据真实类别与学习器预测类别的组号划分为真正例(TP),假正例(FP),真反例(TN),假反例(FN)。其中TP+FP+TN+FN=样例总数。书中的分类结果混淆矩阵如下:
分类结果混淆矩阵

对于TP,FN,FP,TN 我的理解不是很深刻,这里做一些汇总。
真正例(true positive,TP)
假正例(false positive,FP)
真反例(true negative,TN)
假反例(false negative,FN)
西瓜数据集为例:
机器学习-周志华-学习记录-第二章模型评估与选择

(2)查全率、查准率关系以及P-R曲线

二者关系:查全率与查准率是矛盾度量。查准率越高,查全率越低;查准率越低,查全率越高。

P-R曲线:以查准率为纵轴、查全率为横轴作图 ,就得到了查准率-查全率曲线。
P-R曲线

另一个考虑查全率与查准率的性能度量:F1度量
机器学习-周志华-学习记录-第二章模型评估与选择

其中,F1越大,算法性能越好。

除此之外,在某些场景下对查全率与查准率的侧重不同。比如抓逃犯时,更希望少漏逃犯,侧重于查全率;给用户推荐商品时,更希望戳中用户的需求,侧重于查准率。

于是引入了查全率对查准率的相对重要性指数 机器学习-周志华-学习记录-第二章模型评估与选择
机器学习-周志华-学习记录-第二章模型评估与选择
F1的度量一般形式如下:
机器学习-周志华-学习记录-第二章模型评估与选择

书中还提到了宏查准率与宏查全率以及宏F1。微查准率与微查全率以及微F1。

3.ROC与AUC

(1)ROC定义

ROC 全称受试者工作特征曲线。源于二战敌机的雷达信号检测,后被应用于机器学习。据说是因为二战的雷达不是特别的高端,体格稍微大一点的鸟也容易识别为飞机,所以雷达容易误报。于是ROC应用在了雷达方面。

(2)ROC绘图流程

ROC与P-R 曲线相似,根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别以它们为横、纵坐标作图,最后得到了ROC曲线。

具体来说,现实任务中利用有限个测试样例来进行绘制ROC,获得的真正例率与假正例率坐标对是有限的,所以图像是不光滑的。过程如下:

给定 机器学习-周志华-学习记录-第二章模型评估与选择 个正例和 机器学习-周志华-学习记录-第二章模型评估与选择 个反例,根据学习器预测结果对样例进行排序,然后把分类阈值设到最大,
即把所有样例均预测为反例,此时真正例率和假正例率均为机器学习-周志华-学习记录-第二章模型评估与选择,在坐标机器学习-周志华-学习记录-第二章模型评估与选择标记一个点。然后,将分类阈值依次设为每个样例的预测值,即依次将每个样例划分为正例。设前一个标记点坐标为机器学习-周志华-学习记录-第二章模型评估与选择,当前若为真正例,则对应标记点的坐标为 机器学习-周志华-学习记录-第二章模型评估与选择 ;当前若为假正例,则对应标记点的坐标为机器学习-周志华-学习记录-第二章模型评估与选择 ,然后用线段连接相邻点即得。
在后面AUC的推导中会使用。

(3)ROC图像性质:

ROC曲线纵轴是真正例率(True Positive Rate,TPR)
机器学习-周志华-学习记录-第二章模型评估与选择
横轴是假正例率(False Positive Rate,FPR)
机器学习-周志华-学习记录-第二章模型评估与选择
与P-R曲线相似,ROC曲线同样通过曲线与横纵轴的包围面积的大小来比较学习器的性能,即 AUC(Area Under ROC Curve)
ROC

(4)AUC的估算式及其推导

书中给出了AUC的估算式,假设ROC曲线是由坐标为 机器学习-周志华-学习记录-第二章模型评估与选择的点按序连接而形成机器学习-周志华-学习记录-第二章模型评估与选择 如上图所示,则 机器学习-周志华-学习记录-第二章模型评估与选择 可估算为:
机器学习-周志华-学习记录-第二章模型评估与选择
公式推导
对于式(1),需要先掌握ROC的绘图过程,如之前提到的ROC绘图流程一样。由南瓜书所举示例,假设我们已经训练得到一个学习器 机器学习-周志华-学习记录-第二章模型评估与选择,现在用该学习器来对我们的 8 个测试样本(4 个正例,4 个反例,也即 机器学习-周志华-学习记录-第二章模型评估与选择)进行预测,假设预测结果为:
机器学习-周志华-学习记录-第二章模型评估与选择
其中,机器学习-周志华-学习记录-第二章模型评估与选择机器学习-周志华-学习记录-第二章模型评估与选择代表正例和反例,二位小数代表学习器预测该样本为正例的概率,例如反例机器学习-周志华-学习记录-第二章模型评估与选择,预测为正例的概率是机器学习-周志华-学习记录-第二章模型评估与选择

根ROC绘图流程可知,首先需要对所有测试样本按照学习器给出的预测结果进行排序(上面给出的预测结果已经按照预测值从大到小排好了)。接着将分类阈值设为一个最大值,这时候所有样本预测为正例的概率都一定小于分类阈值,那么预测为正例的样本个数为 0,相应的真正例率和假正例率也都为 0,所以此时我们可以在坐标 (0, 0) 处打一个点。

接下来我们需要把分类阈值从大到小依次设为每个样本的预测值,也就是依次设为:机器学习-周志华-学习记录-第二章模型评估与选择,然后计算每次真正例率TPR和假正例率FPR,再在相应的坐标上打一个点,最后再将各个点用直线串连起来即可得到 ROC 曲线。需要注意的是,在统计预测结果时,预测值等于分类阈值的样本也算作预测为正例。例如,当分类阈值为 机器学习-周志华-学习记录-第二章模型评估与选择 时,测试样本机器学习-周志华-学习记录-第二章模型评估与选择被预测为正例,由于它的真实标记也是正例,所以此时 机器学习-周志华-学习记录-第二章模型评估与选择 是一个真正例。为了便于绘图,我们将 x 轴(假正例率轴)的单位刻度定为机器学习-周志华-学习记录-第二章模型评估与选择 ,y 轴(真正例率轴)的单位刻度定为 机器学习-周志华-学习记录-第二章模型评估与选择,这样的话,根据真正例率和假正例率的定义可知,每次变动分类阈值时,若新增 i 个假正例,那么相应的 x 轴坐标也就增加 机器学习-周志华-学习记录-第二章模型评估与选择。同理,若新增 j 个真正例,那么
相应的 y 轴坐标也就增加机器学习-周志华-学习记录-第二章模型评估与选择,于是绘图如下:
机器学习-周志华-学习记录-第二章模型评估与选择

4.代价敏感错误率与代价曲线

(1)代价敏感错误率

书中给出了非均等代价的直观解释:
不同类型的错误所造成的后果不同。例如在医疗诊断中,错误地把患者诊断为健康人与错误地把健康人诊断为患者,看起来都是犯了”一次错误”但后者的影响是增加了进一步检查的麻烦,前者的后果却可能是丧失了拯救生命的最佳时机;再如,门禁系统错误地把口行人员拦在门外,将使得用户体验不佳,但错误地把陌生人放进门内,则会造成严重的安全事故。为权衡不同类型错误所造成的不同损失,可为错误赋予 “非均等代价”(unequal cost)

同时也给出了二分类任务的代价矩阵(cost matrix),下图所示。其中 机器学习-周志华-学习记录-第二章模型评估与选择 表示将第 机器学习-周志华-学习记录-第二章模型评估与选择 类样本预测为第机器学习-周志华-学习记录-第二章模型评估与选择样本的代价。.一般来说 机器学习-周志华-学习记录-第二章模型评估与选择;若将第 机器学习-周志华-学习记录-第二章模型评估与选择 类判别为第 机器学习-周志华-学习记录-第二章模型评估与选择 类所造成的损失更大,则 机器学习-周志华-学习记录-第二章模型评估与选择; 损失程度相差越大,机器学习-周志华-学习记录-第二章模型评估与选择值的差别越大。
代价矩阵

书中也提及多分类任务的代价敏感性度量,令机器学习-周志华-学习记录-第二章模型评估与选择中的机器学习-周志华-学习记录-第二章模型评估与选择取值不限于机器学习-周志华-学习记录-第二章模型评估与选择

(2)代价曲线

ROC曲线不能直接反映出学习器的期望总体代价,但代价曲线可以。代价曲线如下图所示:
机器学习-周志华-学习记录-第二章模型评估与选择

纵轴是取值为机器学习-周志华-学习记录-第二章模型评估与选择归一化代价:
机器学习-周志华-学习记录-第二章模型评估与选择
其中机器学习-周志华-学习记录-第二章模型评估与选择假正例率机器学习-周志华-学习记录-第二章模型评估与选择假反例率

代价曲线的绘制很简单:ROC曲线上每一点对应了代价平面上的一条线段。设ROC曲线上点的坐标为机器学习-周志华-学习记录-第二章模型评估与选择,则可相应计算出 机器学习-周志华-学习记录-第二章模型评估与选择,然后在代价平面上绘制一条从 机器学习-周志华-学习记录-第二章模型评估与选择线段,线段下的面积即表示了该条件下的期望总体代价;如此将 ROC 曲线上的每个点转化为代价平面上的一条线段,然后取所有线段的下界,围成的面积即为在所有条件下学习器的期望总体代价,如上图所示。

四、比较检验

有了评估方法与性能度量,接下来要做的就是对学习器的性能进行评估,但这个过程是复杂的。基于假设检验的统计学方法,可以为学习器的性能比较提供重要依据。接下来以错误率为性能度量,用机器学习-周志华-学习记录-第二章模型评估与选择表示。

1.假设检验

这部分对概率论的要求很高,我打算再复习一遍概率论的知识后再对次节的公式进行研究,这里先给出本节的结论。

2.交叉验证t检验

3.McNemar检验

4.Friedman检验与Nemenyi后续检验

五、偏差与方差

偏差-方差分解是解释学习算法泛化性能的一种重要工具。并且,偏差-方差分解试图对学习算法的期望泛化错误率进行拆解。下面给出几个参数来更好地解释偏差-方差分解。

假设测试样本机器学习-周志华-学习记录-第二章模型评估与选择机器学习-周志华-学习记录-第二章模型评估与选择数据集中的标记机器学习-周志华-学习记录-第二章模型评估与选择机器学习-周志华-学习记录-第二章模型评估与选择真实标记机器学习-周志华-学习记录-第二章模型评估与选择机器学习-周志华-学习记录-第二章模型评估与选择为训练集机器学习-周志华-学习记录-第二章模型评估与选择上学得模型机器学习-周志华-学习记录-第二章模型评估与选择机器学习-周志华-学习记录-第二章模型评估与选择上的预测输出

以回归任务为例,学习算法的期望预测机器学习-周志华-学习记录-第二章模型评估与选择

使用样本数相同的不同训练集产生的方差为:
机器学习-周志华-学习记录-第二章模型评估与选择
方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。

噪声为:
机器学习-周志华-学习记录-第二章模型评估与选择
噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。

期望输出与真实标记的差别称为偏差(bias),即:
机器学习-周志华-学习记录-第二章模型评估与选择
偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力。

接下来要对期望的泛化误差进行分解,但是我对泛化误差的了解的不是很深入,所以收集了一些相关资料:

泛化误差(Generalization Error) 即真实情况下模型的误差。机器学习里的模型一般是针对一个问题设计的,这个问题会有一个数据总体,包括所有可能的情况,比如研究对象是全国人的数据,全国人的数据就是一个总体。模型先经过训练再测试,都需要数据,就分别叫训练数据与测试数据。往往总体数据量很大,甚至是无法穷尽的,所以不可能把所有数据都用到,一般都是从总体里抽取一部分作为代表。模型在测试数据上测试,会得到一个误差,叫测试误差。但其实我们真正想要的是模型在总体上的误差,这就是泛化误差。而测试误差因为采样的关系,与泛化误差是有偏差的。此外,泛化误差也叫out of sample error,这是相对于in sample error讲的。in sample error是指模型在训练数据集上的误差。
经验误差即模型在训练集上的误差,即训练误差。相对于经验误差,泛化误差是模型在总体样本空间上的误差;而在真实情况中,我们不可能对所有样本进行采样,所以我们只能对其中的部分样本进行采样,得到经验误差。
测试误差指模型在测试集上的误差。

假定噪声期望为0,即 机器学习-周志华-学习记录-第二章模型评估与选择。通过简单的多项式展开合并,可对算法的期望泛化误差进行分解(该式子的推导会在之后补上):
机器学习-周志华-学习记录-第二章模型评估与选择

偏差-方差分解说明,泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的.给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小。

作者也提到了偏差-方差窘境(bias-variance
dilemma)
。在学习器训练不足时,拟合能力不强,训练数据的扰动不足以使学习器产生显著的变化,此时偏差主导了泛化错误率;随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率;在训练程度充足后,学习器的拟合能力已非常强,训练数据发生的轻微扰动都会导致学习器发生显著变化,若训练数据自身的、非全局的特性被学习器学到了,则将发生过拟合。上述过程如下图:
机器学习-周志华-学习记录-第二章模型评估与选择

总结

在比较检验模块与偏差-方差分解部分的公式推导还没有记录,在以后的学习中我会补充的。

参考

【1】周志华《机器学习》
【2】Datawhale《南瓜书》
【3】TP、TN、FP、FN超级详细解析
【4】什么是泛化误差

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2022年5月30日 上午11:37
下一篇 2022年5月30日 上午11:39

相关推荐