经验误差与过拟合
错误率(error rate)指的是分类错误的样本占样本总数的比例。如果m个样本中有a个样本错误,
错误率表示为:
精度(accuracy)表示为:
我们把学习器实际预测的输出与样本的真实输出之间的差异称为“误差”(error)。学习器在训练集上的误差叫“训练误差”(training error) 或 经验误差(empirical error),在新样本上的误差叫“泛化误差”(generalization error)。
评估方法
对于一个包含 个样例的数据集
,对
进行处理,从中产生训练集
和 测试集
。
留出法
留出法(hold-out) 直接将数据集 划分为两个互斥的集合,其中一个当做训练集
, 另一个当做测试集
,
即
在使用留出法时,一般采用若干次随机划分,重复实验评估后获取平均值作为结果。一般是取 2/3 ~ 4/5 的样本作为训练集,剩余样本做测试集。
交叉验证法
交叉验证法(cross validation) 先将数据集 D 划分为 k 个大小相似的互斥子集,
即:,
然后每次使用 k - 1 个子集的并集作为训练集,余下的那个子集作为测试集;这样就得到 k 组训练/测试集,从而进行 k 次训练和测试,最终返回的是 k 个测试结果的均值。交叉验证的结果稳定性和保真性取决于 k 的取值,称为 “k折交叉验证”(k-fold cross validation),k 通常取 10。
假定数据集 D 中包含 m 个样本,若令 k = m,则得到了交叉验证法的一个特例:留一法(Leave-One-Out, LOO) 。留一法不受随机样本划分方式的影响,因为 m 个样本只要一个唯一的方式划分为 m 个子集,每一个子集包含一个样本。留一法的评估结果往往是比较准确,但是当数据集比较大时,开销也比较大。
自助法
自助法是直接以自助采样法为基础,给定包含 m 个样本数据集 D, 我们对它进行采样产生数据集 :每次随机从 D 中挑选一个样本拷贝进
,然后将该样本放回初始数据集 D ,这个过程重复执行 m 次后,我们就得到一个包含 m 个样本的数据集
, 这就是自助采样的结果。
m 次采集中始终没被采到的概率是 , 取极限得到:
即通过自助采样,初始数据集 D 中约有 36.8% 的样本没有出现在采集数据集 中,我们可以将
作为训练集,
\
用作测试集。
性能度量
学习模型适用于新样本的能力,称为泛化(generalization)能力。
对学习器的泛化能性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量(performance measure)。
在预测任务中,给定样例数据集,其中
是示例
的真实标记,要评估学习器
的性能,就要把学习器预测结果
与真实标记
进行比较。
回归任务最常用的性能度量是“均方误差”(mean squared error)
更一般的,对于数据的分布 和概率密度函数
,均方误差可以表示为
错误率与精度
错误率和精度是分类任务中最常用的两种性能度量,既适用于二分类任务,也适用于多分类任务。
错误率是分类错误的样本数占样本总数的比例,精度是分类正确的样本数占样本总数的比例,对于样本 D,分类错误率定义为:
其中, 表示指示函数,若 · 为真取值 1,否则取 0 。
精度定义为:
更一般的,对于数据分布 和概率密度函数
,错误率和精度可分别描述为:
查准率、查全率与F1
“查准率”(precision) 也称准确率,“查全率”(recall) 也称“召回率”。
对于二分类问题,我们根据真实类别与学习器的预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negation) 四种形式,分别使用 TP、FP、TN、FN 表示样例数,则 TP + FP + TN + FN = 样例总数。
查准率 P 与 查全率 R 分别表示为
