目录
4、比较检验
这部分主要介绍当我们使用某种实验评估方法测得学习器的某个性能度量结果时,我们要如何进行比较,判断学习器的优劣。也就是性能比较,性能比较主要有以下几个重要因素:
我们一开始就应该很明确,我们希望比较的是学习器的泛化性能,但性能度量结果可能和泛化性能并不相同;
测试集上的性能与测试集本身的选择有很大的关系,测试集不同,结果可能也会发生改变;
很多机器学习算法具有很大的随机性,同一份测试集多次测试结果也可能不同;
统计假设检验(hypothesis test)为学习器性能的比较提供了重要依据。它的重要作用是:基于假设验证的结果,我们可以推断出,若在测试集上观察到的学习器A比B好,则A的泛化性能是否在统计意义上比B好,以及这个结论的把握有多大。
-
假设检验
关于单个学习器泛化性能的假设进行检验;假设测试错误率为a,通过统计学公式计算可得,在A概率下泛化错误率小于等于a,在1-A概率下泛化错误率大于a。概率A反映了结论的“置信度”(confidence)
如果想看推理计算过程,可以查阅周志华老师《机器学习》2.4节。
-
交叉验证t检验
-
McNemar检验
-
Friedman检验与Nemenyi后续检验
交叉验证t检验和McNemar检验都是在一个数据集上比较两个算法的性能,当我们需要在一组数据集上对多个算法进行比较时,一种做法是:在每个数据集上分别列出两两比较的结果,而在两两比较时可使用上面几种方法;另一种方法更为直接,即使用基于算法排序的Friedman检验。
5、偏差和方差
泛化误差 = 偏差 + 方差 + 噪声
偏差:度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;
方差:度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响;
噪声:表达了在当前任务上任何算法所能达到的期望泛化误差的下线,即刻画了学习问题本身的难度;
“偏差-方差分解”说明,泛化性能是由学习算法的能力、数据额充分性以及学习任务本身的难度所共同决定的。
给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小。
一般来说,方差和偏差是冲突的,这称为偏差-方差窘境(bias-variance dilemma);
本一章节理论性较强,看的有点吃力,特别是公式推导的部分,所以有兴趣的同学还是去看原书的公式推导过程会比较清晰。