模型评估与选择-----第三部分

    xiaoxiao2021-04-02  34

    四、比较检验

    有了学习器的性能度量结果,但还需要对结果进行比较,这里面涉及几个重要因素: 1、我们希望比较的是泛化性能,而通过实验评估方法我们获得的只是测试集上的性能,这两者的对比结果可能未必相同; 2、测试集上的性能与测试集本身的选择有很大的关系。 3、很多机器学习算大本身有一定的随机性,即使用相同的参数设置在同一个测试集上多次运行,其结果也会有所不同。 对此,可用假设检验进行验证,下面默认以错误率为性能度量; 泛化错误率为 的学习器在一个样本上犯错的概率是 ;测试错误率 意味着在m个测试样本中恰有 *m个被误分类。假定测试样本是从总体分布中独立采样得到,那么泛化错误率为 的学习器将其中 个样本误分类,其余样本全部分类正确的概率是 ;由此可估算出其恰将 个样本误分类的概率: ,这也表达了在包含m个样本的测试集上,泛化错误率为 的学习器被测得测试错误率为 的概率。 给定测试错误率,解 可知, 在 是最大。 我们可以用“二项检验”来对 (即泛化错误率不大于 )这也的假设进行检验。则在1- 的概率内所能观测到的最大错误率如下: 此时若测试错误率 小于临界值 ,则根据二项检验可得出结论:在 的显著性水平下,假设不能被拒绝,即能以1- 的置信度认为学习器的泛化错误率不大于 很多时候我们通过多次重复留出法或是交叉验证法等进行多次训练/测试,会得到多个测试错误率,此时可用“t检验”。假定得到k个测试错误率,则平均测试错误率和方差为:                                       考虑到这k个测试错误率可看作泛化错误率 的独立采样,则变量                                服从自由度为k-1的t分布。 2、交叉验证t检验 对于两个学习器A和B,若使用K折交叉验证得到的测试错误率分别为 和 ,其中 和 是在相同的第i折训练/测试集上得到的结果,可使用成对t检验来进行比较检验; 思想:若两个学习器性能相同,则它们使用相同的训练/测试集得到的测试错误率应相同,即 。 具体操作; 对K折交叉验证产生的K对测试错误率:先对每对结果求差,若性能相同,得差值的均值为零,因此可根据差值来对学习器A和B性能相同这个假设做t检验,计算出差值的均值和方差,在显著度 下,若变量                                                                   小于临界值 ,则不能拒绝原假设,即认为两个学习器的性能没有显著的差异。 欲进行有效的假设检验,一个重要的前提是测试错误率均为泛化错误率的独立采样,然后通常情况下由于样本量有限,在使用交叉验证等试验估计方法时,不同轮次的训练集会有一定程度的重叠,这使得测试错误率实际上并不独立,会导致高估假设成立的概率,为缓解这个问题,可采用“5*2交叉验证”。 5*2交叉验证: (即第一次2折交叉验证的结果的平均值),而方差与前面的方差一样,采用全部数据,变量                                                                                             服从自由度为5的t分布。 McNemar检验: Friedman检验:在一组数据集上对多个算法进行比较:使用基于算法排序的检验

    五、偏差与方差

    即泛化误差可分解为偏差、方差和噪声之和; 偏差:度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力; 方差:度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响; 噪声:表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。 偏差--方差分解说明:泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度共同决定的;
    转载请注明原文地址: https://ju.6miu.com/read-665850.html

    最新回复(0)