误差与相关概念
关键概念
- 错误率
- 精度
- 训练误差(经验误差)
- 泛化误差
- 过拟合
- 欠拟合
以分类任务为例,错误率就是分类错误的样本数(a)占总样本数(m)的比例(a/m)。精度则是分类正确的样本数占总样本数的比例(1-a/m)。
误差是模型预测的输出与样本输出之间的差异。误差一般分为两类:经验误差和泛化误差。
经验误差指经过训练的模型在预测训练集上样本时的误差。而泛化误差指经过训练的模型在预测训练集之外的新样本时的误差。
过拟合与欠拟合也与经验误差,泛化误差的概念相关。过拟合指经验误差很低但泛化误差很高。欠拟合则主要指经验误差很高。
下文介绍了几种近似泛化误差来评估模型的评估方法
测试集的引入
测试集被用来测试模型对新样本的判别能力。需要注意的是:
- 我们假设测试集中的数据是从样本真实分布中独立同分布地采样出来的。
- 测试集应尽可能与训练集互斥(用于训练的数据没有在测试集中出现过)。
具体评估方法
1. 留出法(hold-out)
样本被分为训练集和测试集两部分。
两个数据集需要保持数据分布的一致性(误差可能由于两个数据集间的分布差异导致)
使用若干次随机划分,重复进行实验评估取平均值作为评估结果(不同比例的划分会导致不同的模型评估结果)
对于训练集以及测试集的划分比例也会影响训练效果以及评估结果稳定,准确程度。常见用2/3~4/5的数据用在训练集。
2. 交叉验证法(cross validation)
交叉验证法将数据集拆分成k份,其中1份当作测试集,其他的都当作训练集,这样将模型分别训练k次同时将k次的结果取平均数,得到最终的评估结果。(这里k常用取值为10)
与留出法类似,为减少划分所带来的可能误差,可以进一步将k折交叉验证再重复p次,每次所使用的是不同的划分方式,被称为“p次k折交叉验证”。
留一法是k=m(m是样本量)的特殊交叉验证法,由于用于训练的数据较多,通常是评估结果最好的方法。但它的弊端也很明显,就是需要训练并评估m个模型,计算量太大。
3. 自助法(booststrapping)
前两种方法中为了评估会使训练集小于已有数据,因此,当数据量小时,可以使用自助法进行模型评估从而使模型拥有最大的训练数据。
后续会继续补充...