- 错误率(error rate):分类错误的样本a/样本总数m,E=a/m
- 精度(accuracy):1-错误率,1-a/m
- 训练误差(training error)/经验误差(empirical error):学习器在训练集上的误差
- 泛化误差(generalization error):在新样本上的误差
我们希望找到在新样本中表现好的学习器,为此,应该从训练集中尽可能的学到适用与所有潜在样本的“普遍规律”
- 过拟合(overfitting):学习器把训练样本学习得太好了,很可能将样本集自身中的一些特点当作所有潜在样本都会具有的一般性质(学过头了)
- 欠拟合(underfitting):对训练样本的一般性质尚未学好(没学好)
过拟合是机器学习所面临的关键障碍
2.2评估方法
对于机器模型的“模型选择”,理想上是通过对候选模型的泛化误差进行评估,然后选择泛化误差最小的模型 。
但由于我们无法直接获得泛化误差,可以通过测试集来测试学习器对新样本判别能力,将测试集上的测试误差(testing error)作为泛化误差的近似。
我们只有一个包含 m个样例的数据集
既要训练又要测试,通过对D进行适当的处理,产生训练集S,测试集T 。处理方法:
2.2.1留出法(hold-out)
直接将数据集D划分为两个互斥的集合训练集S,测试集T 即
注意:单次使用留出法得到的估计结果不够可靠,一般采用若干次随机划分,重复进行实验评估后去平均值作为留出法的评估结果。 (2/3~4/5的样本用于训练,剩下的用于测试)
2.2.2交叉验证法(cross validation)
将数据集D划分为k个大小相似的互斥子集,即
每一个子集都尽可能的保证数据分布的一致性(从D中通过分层采样得到)
然后每次使用k-1个子集的并集作为训练集,余下的一个子集作为测试集,可获得k组训练集/测试集,
从而可进行k次训练和测试 ,
最终返回k个测试结果的均值(k通常取10, 5, 20)
特例:留一法
D中包含m个样本,令k=m,训练集与初始数据集只相差一个样本,测试集只有一个样本
所以在绝大多数情况下,留一法中被实际评估的模型与期望评估用D训练出来的模型很相似,所以留一法往往被认为比较准确的
缺陷:但数据集较大时,计算开销十分庞大