从宏观上了解机器学习-模型评估与选择3

比较检验

书接上文,我们先使用某种实验评估方法测得学习器的某个性能度量结果,然后对这个结果进行比较,但怎么来做这个比较呢?下面为大家介绍几种常用的机器学习性能比较的方法。为便于讨论,书中此节默认以错误率为性能度量。(不讨论公式或者检验的具体过程,感兴趣的可以去翻书哈!)

对单个学习器泛化性能的假设进行检验

我们可使用二项检验来对泛化错误率是否不大于0.3这样的假设进行检验,很多时候我们并非仅做一次留出法估计,而是通过多次留出法或是交叉验证法等进行多次训练/测试,这样就会得到多个测试错误率,此时可使用t 检验。

对不同学习器的性能比较

k折交叉验证成对t检验

对两个学习器A和B,若我们使用k折交叉验证法分别得到了两组测试错误率,在相同的第i折训练集/测试集上得到的结果,则可用k折交叉验证成对t检验来进行比较检验。这里的基本思想是若两个学习器的性能相同,则他们使用相同的训练/测试集得到的测试错误率应相同。

欲进行有效的假设检验,一个重要的前提是测试错误率均为泛化错误率的独立采样,然鹅,通常情况下,由于样本有限,在使用交叉验证等试验估计方法时,不同轮次的训练集会有一定程度的重叠,这就使得测试错误率实际上并不独立,会导致过高估计假设成立的概率。为缓解这一问题,可采用5 x 2交叉验证法

McNemar检验

对二分类问题,还可获得两学习器分类结果的差别,然后再通过 检验进行分析

Friedman 检验与 Nemenyi 后续检验

很多时候,我们会在一组数据集上对多个算法进行比较,此时,一种做法是在每个数据集上分别列出两两比较的结果;另一种方法更为直接,即使用基于算法排序的Friedman检验。

若所有算法都相同这个假设被拒绝,则说明算法的性能显著不同,这时需进行后续检验进一步区分个算法,常用的有Nemenyi后续检验

偏差与方差

泛化误差可拆分为偏差、方差与噪声之和。

回顾偏差、方差和噪声的含义:偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响;噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下届,即刻画了学习问题本身的难度

偏差-方差分解说明,泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的,给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使得方差较小,即使得数据扰动产生的影响小。

还需知道的是,偏差与方差是有冲突的,这称为偏差-方差窘境(bias-variance dilemma)。训练不足时,偏差主导了泛化错误率;随着训练程度的加深,方差主导了泛化错误率。在训练程度重组后,若训练数据自身的、非全局的特性被学到了,则将发生过拟合。

你可能感兴趣的:(从宏观上了解机器学习-模型评估与选择3)