第二章-模型评估与选择
一、概览:对于同一数据集而言,给定不同的算法,会提取不同的模型,甚至对于同一算法给定不同的参数,也会得到不同的模型,选择最佳的模型的过程称为模型选择。模型选择会遵循一定的标准,首先需要将数据集分成若干部分,一部分用于训练模型,一部分用于测试模型的泛化能力,对于测试的结果给定一个性能参数,从数值上比较不同模型的泛化能力,通过复杂的比较检验方法,对不同的模型进行比较,最后对于模型的性能尝试给出一个解释。
1、经验误差与过拟合。
2、对学习器的泛化误差进行评估的方法:留出法,交叉验证法,自助法。
3、性能度量:衡量模型泛化能力的评价标准。错误率,精度,查准率,查全率,F1,ROC,AUC,代价敏感错误率与代价曲线。
4、比较检验:对学习器的性能进行评估比较,假设检验,交叉验证t检验,McNemar检验,Friedman检验,Nemenyi后续检验。
5、偏差与方差,了解学习算法为什么具有这样的性能,偏差-方差分解是解释学习算法泛化性能的一种重要工具。
二,名词解释:
1、错误率:分类错误的样本数占样本总数的比例。
2、精度:分类正确的样本数占样本总数的比例,错误率+精度=1。
3、误差:学习器的实际预测输出与样本真实输出之间的差异。
4、训练/经验误差:学习器在训练集上的误差。
5、泛化误差:学习器在新样本上的误差。
6、过拟合:学习的学习能力过强,将训练样本自身的一些特点当做了所有潜在样本都会具有的一般性质。
7、欠拟合:学习能力过弱,对学习样本的一般性质尚未学好。
三,评估方法
当只有一个数据集,在既要训练又要测试的时候,我们必须对数据集进行一定的处理,从中产生出数据集S和训练集T,以下是常见的几种方法:
1、留出法:
将数据集D直接划分为两个互斥的集合,一个作为训练集S,另一个作为测试集T。使用留出法应采用若干次随机划分,重复进行试验评估后取均值作为结果
2、交叉验证法:
将数据集D划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集S余下的那个子集作为测试集T。此时可以进行k次训练和测试,最终返回这k个测试结果的均值,特别的,如果数据集D中包含m个样本,令k = m则得到交叉验证法的一个特例,留一法。
3,自助法:
给定包含m个样本的数据集D,对D中的样本进行m次有放回的抽样,并把每次抽取的样本拷贝放入D`中,将D`用作训练集S,将D中不在D`内的样本即D\D`用作测试集T。
D中的一部分样本在m次采样中始终不被采到的概率是(1-1/m)^m,取极限后约等于36.8%。
自助法更适用于数据集较小,难以有效划分训练集,测试集的时候使用。
四、性能度量
1、性能度量:衡量模型泛化能力的评价标准。
2、回归任务最常用的性能度量是均方误差:
3、分类任务中常用的性能度量
(1)对于样例集D,
分类错误率定义为:
精度则定义为:
(2)查准率,查全率与F1
FN:False Negative,即“假反例”。被判定为负样本,但事实上是正样本。
FP:False Positive,即“假正例”。被判定为正样本,但事实上是负样本。
TN:True Negative,即“真反例”。被判定为负样本,事实上也是负样本。
TP:True Positive,即“真正例”。被判定为正样本,事实上也是正样本。
查准率:真正例的个数,占我们所认为的正确的总个数的比例。
查全率:真正例的个数,占整个数据集里中的正确的总个数的比例。
P(查准率)= TP/(TP+FP)
R(查全率)=TP/(TP+FN)
例如,在100个西瓜中,我们认定当中的80个是好瓜。而这80个好瓜中,真正的好瓜数是60个。那么此时“查准率”是 60/80*100%=75%
又如,在100个西瓜中,有80个是真正的好瓜。在我们认定的好瓜数中,有40个是真正的好瓜。那么此时“查全率”是40/80*100%=50%
查准率与查全率是一对矛盾的度量,实际中往往会综合考虑这两者,去这两者的综合性能更好的。“尽量做到既查的准又查的全”。
平衡点BEP就是人们设计的一个综合考虑查准率与查全率的性能度量,它是查准率=查全率时的取值。
F1度量:
F1度量的一般形式Fβ:
其中,β>0度量了查全率对查准率的相对重要性。β=1时,退化为标准的F1;β>1时查全率有更大影响;β<1时,查准率有更大影响。
(3)RUC与AUC
ROC(Receiver Operating Characteristic)曲线和AUC(Area Under the Curve)值常被用来评价一个二值分类器(binary classifier) 的优劣。ROC曲线的面积就是AUC,AUC用于衡量“二分类问题”机器学习算法性能(泛化能力)。
(4)代价敏感错误率与代价曲线
本质上就是为权衡不同类型错误所造成的不同损失,可为错误赋予非均等代价unequal cost。
五、比较检验
1、比较学习器的性能
(1)假设检验
假设检验中的假设就是对学习器泛化错误率分布的某种判断或猜想。
(2)交叉验证t检验
(3)McNemar检验
(4)Friedman检验与Nemenyi后续检验
2、偏差与方差
偏差: 描述模型输出结果的期望与样本真实结果的差距。
方差: 描述模型对于给定值的输出稳定性。