一、经验误差与过拟合
1.错误率(分类错误的样本数占样本总数的比例),即如果在 m 个样本中有α个样本分类错误,则错误率E=α/m;
2.精度(1-错误率)即1-a/m;
3.误差(学习器的实际预测输出与样本的真实输出之间的差异);
训练误差/经验误差(学习器在训练集上的误差);
泛化误差(在新样本上的误差);
我们实际希望的,是在新样本上能表现得很好的学习器。为了达到这个目的,应该从训练样本中尽可能学出适用于所有潜在样本的"普遍规律",这样才能在遇到新样本时做出正确的判别。基于这个会出现“过拟合”和“欠拟合”两种现象。
4.过拟合(学习器把训练样本学得太好,导致泛化性能下降);欠拟合(学习器对训练样本得一般性质尚未学好)如图所示:

二、评估方法
1、留出法
直接将数据集D划分为两个互斥的集合,一个为训练集S,另一个为测试集T,即D=S∪T,S∩T=Ø,在S上训练出模型后,用T来评估其测试误差;
需注意的是,训练/测试集的划分要尽可能保持数据分布的一致性,避免困数据划分过程引入额外的偏差而对最终结果产生影响,例如在分类任务中至少要保持样本的类别比例相似。
单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
同时,留出法还存在一个很大的问题,若令训练集S包含绝大多数样本,则训练出的模型可能更接近于用D训练出的模型, 但由于T比较小,评估结果可能不够稳定准确;若令测试集T多包含一些样本,则训练集S与D差别更大了,被评估的模型与用D训练出的模型相比可能有较大差别,从而降低了评估结果的保真性;常见做法是将大约 2/3 ~ 4/5 的样本用于训练,剩余样本用于测试。
2、交叉验证法
先将数据集 D 划分为 k 个大小相似的互斥子集,即D=D1∪D2∪...∪Dk,Di∩Dj=Ø(i≠j)。每个子集 Di 都尽可能保持数据分布的一致性,即从D中通过分层采样得到。每次用 k-1个子集的并集作为训练集,余下的那个子集作为测试集;获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值,因此交叉验证法又可称为为 "k折交叉验证",k最常用的取值是10。k折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值。

假定数据集D 中包含m个样本, 若令k=m,则得到了交叉验证法的一 个特例:留一法;显然, 留一法不受随机样本划分方式的影响,因为m个样本只有唯一的方式划分为m个子集一一每个子集包含一个样本。
3、自助法
给定包含m个样本的数据集D,对它进行采样产生数据集D': 每次随机从D中挑选一个样本,将其拷贝放入D' ,然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m 个样本的数据集D',样本在m次采样中始终不被采到的概率是(1-1/m)^m,取极限得到

所以我们可以将D'用作训练集, D-D'用作测试集。
4、三种评估方法的优劣
自助法在数据集较小、难以有效划分训练/测试集时很有用;能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处。然而,自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。
留出法和交叉验证法在初始数据量足够时更常用一些。
5、调参与最终模型
在进行模型评估与选择时,除了要对适用学习算法进行选择,还需对算法参数进行设定,这一过程称为“参数调节”,简称“调参”。常用的做法是对每个参数选定一个范围和变化步长,显然,这样选定的参数值往往不是"最佳"值,但这是在计算开销和性能估计之间进行折中的结果,通过这个折中,学习过程才

周志华-机器学习-第二章 模型评估与选择&spm=1001.2101.3001.5002&articleId=140994043&d=1&t=3&u=b71b1a901faf4261a8be1e19ab965565)
502

被折叠的 条评论
为什么被折叠?



