机器学习的模型评估与选择

机器学习的模型评估与选择


前言

这是我自己整理的机器学习西瓜书第二章的学习笔记和一些心得总结,水平有限仅供参考


一、误差与过拟合

1.概念

  • 误差(error):学习器的实际预测输出与样本真实输出之间的差异
  • 训练误差(training error):学习器在训练集上产生的误差,也叫作 “经验误差”(empirical error)
  • 泛化误差(generalization):学习器在新样本上产生的误差
  • 过拟合(overfitting):由于学习能力过强,将训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,导致泛化能力下降。
  • 欠拟合(underfitting):由于学习能力不足,对训练样本的一般性质尚未学好。

我们期望获得的学习器具有很强的泛化能力,并且具备尽可能低的泛化误差。过拟合和欠拟合都会使泛化能力下降,泛化误差提升。


2.过拟合和欠拟合的解决措施

  • 欠拟合的解决措施往往比较简单,例如在决策树的学习中扩展分支,在神经网络学习中增加训练轮数等,总之只要想办法提升学习和训练的强度即可。
  • 过拟合是机器学习中无法避免的问题,是面临的关键性障碍,过拟合只能缓解而无法彻底克服。



二、评估方法

对于学习器模型的选择问题,我们通常是采用对候选模型的泛化误差进行评估,从而选择出泛化误差最小的模型作为最优模型。为了近似地获得泛化误差,我们使用一个“测试集”来测试学习器对新样本的判别能力,然后以该测试集上的误差近似地作为泛化误差。测试集应尽可能与训练集互斥以保证测试误差的有效性。

1.留出法

留出法:直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另外一个集合作为测试集T。

注意:使用留出法时应注意分层采样,并且通过若干次随机采样,重复进行实验评估后取平均值。

  • 分层采样:即让两个集合中样本的结构与总集合尽可能一致,避免因划分数据过程中引入额外的偏差而对最终结果产生影响。
  • 多次重复随机采样进行实验:单次留出法采样仍因划分方式的多样性而不稳定,所以需要通过多次随机采样后进行测试后取平均值作为最终评估结果。

留出法对数据集划分存在的问题:若划分的训练集S过小,则不能很好地体现数据集D的特性,而如果训练集S划分得过大,则测试集T变小,测试结果的偶然性变大,测试结果不够准确稳定。该问题没有完美的解决方案,常见的做法是将大约2/3~4/5的样本用于训练。

2.交叉验证法

交叉验证法:先将数据集D划分为k个大小相似的互斥子集。每个子集Di都尽可能的保持数据分布的一致性,即进行分层采样。
  然后每次用k-1个子集作为训练集,余下的一个子集作为测试集。这样得到k组训练/测试集,从而可以进行k次训练和测试。最终返回k个测试结果的均值。
  由于交叉验证法评估结果的稳定性和保真性取决于k的值,所以又被称为“k折交叉验证法”.其中k最常用的取值是10,此时称为10折交叉验证法。



留一法: 留一法是交叉验证法的特例,即若数据集D中包含m个样本,另k=m时,将数据集划分成m个单样本组成的互斥子集。

优点: 这样的做法好处不受随机样本划分方式的影响,因为这样划分k个子集的方式是唯一的,并且因为每次使用的训练集和初始数据集只相差1个样本,所以训练出的模型比较可靠。(与用D训练出的很接近)评估结果往往比较准确。
缺陷: 当集合D包含的样本量m比较大时,训练m个模型的计算开销过大。

3.自助法

自助法: 从包含m个样本的数据集D中,每次随机从D中挑取一个样本,将它复制到 D’ 中,重复执行m次该过程,得到包含m个样本的数据集D’ 。(自助采样)

经过m次采样,D中有一部分样本不会在 D’ 中出现,某一样本在m次采样中始终不被采到的概率如下:

在这里插入图片描述

通过重要极限的变形很容易计算出上式结果。即初始数据集D中36.8%的样本数据未出现在D’ 中,所以可以用D’ 进行训练,用剩下36.8%的部分作为测试集。

优点: 实际与期望评估中都使用了m个样本的训练集,解决了因训练规模不同产生的误差,自助法在数据集较小,难以有效划分训练/测试集时使用;
缺陷: 自助法产生的数据集改变了初始数据集的分布,会引入估计偏差。(即改变了样本的结构)

三.性能度量

为了衡量模型泛化能力,我们需要对此有一个评价标准,所以引入了以下一系列的性能度量参数:

1.均方误差

均方误差(mean squared error):可以简单理解为 预测点与真实点 之间距离平方的加权和,用来表示预测误差的大小,我们希望该值越小越好。均方误差是回归任务(对连续值预测的任务)最常用的性能度量。

在这里插入图片描述
服从数据分布D和概率密度函数p(·)的均方误差描述:
在这里插入图片描述

2.错误率与精度

错误率与精度: 错误率是分类错误的样本数量占样本总数的比例,精度则是分类正确的样本数量占样本总数的比例。

在这里插入图片描述
服从数据分布D和概率密度函数p(·)的错误率与精度描述:

在这里插入图片描述在这里插入图片描述

3.查准率,查全率与F1

在这里插入图片描述

查准率(precision):真正例占预测正例的比例,即P=TR/(TR+FR),意义可以理解为“挑出的西瓜是好瓜的比例”,“检索出的信息中有多少比例是用户感兴趣的”。

查全率(recall):真正例占真实情况下正例的比例,即 R=TR/(TR+FN)
,意义可以理解为“所有好瓜中有多少被挑了出来”,“用户感兴趣的信息中有多少被检索了出来”。

通俗地讲,查准率就是预测的结果中,真实的正例占预测出的总正例的比例;而查全率是指预测出的正例中的真实正例占真实情况下总正例的比例。查全率和差准率通常情况下是一对矛盾的度量,一般当查全率越高时,查准率往往越低;当查准率越高时,查全率也会越低。

在这里插入图片描述

P-R曲线:P-R曲线是这样获得的,我们根据预测结果对所有样例进行排序,排在前面的是学习器认为“最可能”是正例的样本,排在最后面的则是学习器认为“最不可能”是正例的样本。按照这样的顺序,每次增加一个样本作为正例进行预测,并且每次计算出当前的查全率和查准率。以查准率为纵轴,以查全率为横轴作图。就得到了查准率-查全率曲线。

从刚才我们获得曲线的过程中就可以看出,我们一开始假如正例预测的样本本身就是很有可能是正例的,所以起初查准率很高,但是由于预测的数很少,所以查全率很低,往后逐渐假如的样本本身是正例的概率逐渐下降,查准率自然就降低了,而由于预测的范围越来越大,查全率自然就提升了。

度量P-R曲线中两条曲线优劣的标准:

1.曲线包含:

若一个学习器的P-R曲线被另一个学习器的曲线完全包住,则可断言后者性能优于前者。

2.平衡点(BEP):

P-R曲线中查准率等于查全率的取值,该值越高,曲线性能越好,由该指标考量可得,上面曲线图中,学习器A优于学习器B。

3.F1度量

在这里插入图片描述
下面是F1的一般形式Fβ:
在这里插入图片描述F1数值越大越模型越稳定

我们使用调和平均而不是简单的算术平均的原因是:调和平均可以惩罚极端情况。一个具有 1.0 的精度,而召回率为 0 的分类器,这两个指标的算术平均是 0.5,但是 F1 score 会是 0。F1 score 给了精度和召回率相同的权重,它是通用 Fβ指标的一个特殊情况,在 Fβ中,β 可以用来给召回率和精度更多或者更少的权重。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值