一、经验误差与过拟合
错误率:分类错误样本占总数的比例。E=a/m(a为分类错误样本数,m为样本总数)
精度:1-E
误差:学习器的实际预测输出与样本的真实输出之间的差异
经验误差,训练误差:学习器在训练集上的误差
泛化误差:在新样本上的误差
过拟合:学习器被训练的太好,把训练样本自身的一些特点当作了所有潜在样本都会有的一般性质
欠拟合:指对训练样本的一般性质尚未学好
二、评估方法
1、大体思路
需要使用一个测试集,将测试误差作为泛化误差的近似,测试集应尽量与测试集互斥。
2、常用做法
1.留出法
直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另外一个作为测试集T,即D=S∪T,S∩T=∅。一般采用若干次随机划分,重复进行实验评估后取平均值作为留出法的评估结果。
值得注意的是:训练/测试集的划分要尽可能保持数据发布的一致性。使用方法为分层采样。若S,T的类别比例差异很大,则会产生偏差。
通常而言,约2/3~4/5的样本用于训练,剩余样本用于测试。测试集至少应含30个样例。
2.交叉验证法
先将数据集D划分为k个大小相似的互斥子集,即D=D1∪D2∪…∪Dk,Di∩Dj=∅(i≠j),每个子集的Di都尽可能保持数据分布的一致性,即从D中通过分层采样获得。然后,每次用k-1个子集作为测试集,剩下的那个子集作为测试集;这样就可以获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值。10折交叉验证如图:
留一法为特殊的交叉验证法,与交叉验证法的不同在于,留一法划分的每一个子集只有一个样本。
留一法的估测结果往往比较准确,但数据量大时,计算开销大,由“没有免费午餐”定理可得留一法估测也未必准确。
3.自助法
给定包含m个样本的数据集D,对它进行采样产生数据集D:每次随机从D中挑选一个样本,将其拷贝放入D‘,然后再将该样本放回原始数据D中,使得该样本在下次采样时仍可能被取到;该过程重复执行m次后,我们就得到了包含m个样本的数据集D’。
该方法一般在数据集较小时使用,会引入估计误差。
4.调参与最终模型
由于参数配置不同,学得模型性能往往有显著差别,所以需要调参。
现实中常用做法,对每一个参数选定一个范围和步长,通过评估,最终从候选值中产生选定值。在模型选择完成后,需用数据集D重新训练模型。
测试集:把学得模型在实际使用中遇到的数据
验证集:模型评估与选择中用于评估测试的数据集