机器学习(2) -- 模型评估与选择

2.1 经验误差与过拟合

错误率:分类错误的样本数占总样本数的比例

精度 = 1 - 错误率

 

误差:学习器的实际预测输出与样本的真实输出之间的“差异”

 学习器在训练集上的误差称为“训练误差”或“经验误差”

 在新样本上的误差称为“泛化误差”

 

当学习器把训练样本学得太好的时候,很可能把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,会导致泛化性能下降,即过拟合,欠拟合指对训练数据的一般性质尚未学好

过拟合:学习能力过于强大。过拟合是机器学习面临的关键障碍,各类学习算法都必然带有一些针对过拟合的措施,但是无法彻底避免。

机器学习面临的问题通常是NP难甚至更难的问题,而有效的学习算法必然是在多项式时间内运行完成,若可避免过拟合,则通过经验误差最小化就能获得最优解,这就意味着我们构造性地证明了“P=NP”;因此,只要相信“P≠NP”,过拟合就不可避免。

欠拟合:学习能力低下

学习能力是否过于强大,是由学习算法和数据内涵共同决定的

无法直接获得泛化误差,训练误差由于过拟合的存在不适合作为标准,于是有了模型评估与选择方法

 

2.2 评估方法

留出法:数据集D划分为两个互斥集合,训练集S,测试集T,D=S+T,S∩T=∅,

训练/测试集的划分要尽可能保持数据分布的一致性。

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

测试集小时,评估结果的方差较大,训练集小时,评估结果的偏差较大

2/3~4/5的样本作为训练

 

交叉验证--K折交叉验证

常用10、5、20

 k折交叉验证通常要随机使用不同的划分重复P次,最终的评估结果是这P次k折交叉验证结果的均值;常见10次10折交叉验证

留一法:D中m个样本,当k=m时,留一法,评估结果比较准确,受样本规模变化影响小,但是计算复杂度又太高

 

上面两个方法,由于保留了一部分样本用于测试,因此实际评估的模型所使用的训练集比D小,必然会引入一些因训练样本规模不同而导致的估计偏差。

于是,想找一种减少训练样本规模不同造成的影响,同时能比较高效的进行实验估计的方法,自助法

 

自助法:D有m个样本,对D有放回抽样m次,得到D',D'训练集,D\D'测试集,测试集约36.8%。这样的测试结果亦称“外包估计”

自助法适合数据集小,难以有效划分训练/测试集时很有用;能从初始数据中产生多个不同的训练集,对集成学习有很大好处,但是改变了数据集分布,会引入估计偏差。

初始数据量足够,留出法和交叉验证法更常用

 

调参与最终模型

在模型选择完后,学习算法和参数配置已选定。此时应该用数据集D重新训练模型,使用了所有m个样本,这个才是最终模型

测试数据:学得的模型在实际使用中遇到的数据称为测试数据

验证集:模型评估与选择中用于评估测试的数据集称为验证集

 

2.3性能度量

什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求

回归任务:最常用的性能度量是“均方误差”

一般表述:

分类任务:错误率,精度,查准率,查全率,F1

 

查准率:准确率预测为对的那些有多少真对了

查全率:召回率原本是对的那些有多少预测对了

P-R曲线:查准率、查全率曲线,查准率为纵轴,查全率为横轴

P-R图

 

平衡点(BEP):查准率= 查全率时的取值

直观显示学习器在样本总体上的查全率、查准率,若一个学习器的P-R曲线被另一个学习器的曲线完全包住,则后者性能优于前者

若发生交叉则无法判断

比较P-R曲线下面积的大小,一定程度表征了查全率、查准率双高的比例

F1度量:F1=(2×P×R)/(P+R)= ( 2×TP)/(样例总数+TP-TN)

Fβ = F1=((1+β2)×P×R)/((β2×P)+R)

 

 

多个混淆矩阵的情况:

先在各个混淆矩阵上分别计算查准率、查全率,再计算平均值,得到宏查准率等

宏查准率,宏查全率,宏F1

先将各混淆矩阵对应元素平均,再基于这些平均值计算微查准率等

微查准率,微查全率,微F1

 

 

ROC曲线:全称“ 受试者工作特征”曲线,真正例率微纵轴,假正例率横轴,对角线对应于“随机猜测”模型,点(0,1)对应于将所有正例排在所有反例之前的“理想模型”

一个学习器的ROC曲线被另一个完全包住,则后者比前者性能好

AUC:ROC曲线下的面积

 

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

规范化”是将不同变化范围的值映射到相同的固定范围中,常见的是[0,1],此时亦称归一化

在非均等代价下,ROC曲线不能直接反映出学习器的期望总体代价,而“代价曲线”则可达到该目的

 

2.4 比较检验

根据测试错误率估推出泛化错误率的分布。

2.5 偏差与方差

yD为x在数据集中的标记,y为真实标记,有可能出现噪声使得yD≠y,f(x;D)为训练集D上学得模型f在x上的预测输出,为学习算法的期望预测,则:

样本数相同的不同训练集产生的方差

噪声

期望输出与真实标记的差别,偏差

于是

也就是说,泛化误差可分解为偏差、方差和噪声之和。

 

偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;

方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响;

噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。

 

偏差-方差分解说明,泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。

给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小

偏差-方差窘境

 

发布了27 篇原创文章 · 获赞 2 · 访问量 203

猜你喜欢

转载自blog.csdn.net/weixin_43575791/article/details/105451432