![](https://i-blog.csdnimg.cn/blog_migrate/afb5dbd3beeb6c7f9cf5d44709037db1.jpeg)
目录
一、经验误差与过拟合
- 过拟合:有多种因素可能导致,最常见的情况是**学习能力过于强大,以至于把训练样本所包含的不太一般的特性都学到了。很麻烦
- 欠拟合:通常是由于学习能力低下而造成的的。比较容易克服
二、评估方法
- 测试集:指学的模型在实际使用中遇到的数据集
- 验证集:模型评估和选择中用于评估测试的数据集
- 训练集
在对比不同算法的泛化性能时,我们用测试集上的判别效果来估计模型在实际使用时的泛化能力;而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参。
1 留出法
直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T。
!单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
!训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。——分层采样
2 交叉验证法
先将数据集D划分为 k 个大小相似的互斥子集。
!分层采样
!为减小因样本划分不同而引入的差别,k 折交叉验证通常要随机适用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值
3 留一法
受样本训练规模变化的影响较小,但计算复杂度太高。
4 自助法
希望评估的是用D训练出的模型。
自助法,直接以自助采样法为基础,得到一个与D同样大小的训练集D’,D\D’用作测试集。
- 适用于数据集较小、难以有效划分训练/测试集时很有用。
- 留出法和交叉验证法中,由于保留了一部分样本用于测试,因此实际评估的模型所使用的训练集比D小,这必然会引入**一些因训练样本规模不同而导致的估计偏差。
三、性能度量-分类
1 错误率和精度
- 错误率:分类错误的样本占样本总数的比例
- 精度:分类正确的样本数占样本总数的比例
2 查准率、查全率和F1
- 查准率P:挑出的正例中有多少比例是真正例
- 查全率R:所有的真正例中挑出来的正例的比例
- F1:基于查准率和查全率的调和平均值: 1 F 1 = 1 2 ( 1 P + 1 R ) \frac{1}{F1}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R}) F11=21(P1+R1),加权调和平均: 1 F 1 = 1 1 + β 2 ( 1 P + β 2 R ) \frac{1}{F1}=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R}) F11=1+β21(P1+Rβ2)
-
- 补充知识,算术平均计算方法: ( P + R 2 ) (\frac{P+R}{2}) (2P+R),几何平均计算方法: P ∗ R \sqrt{P*R} P∗R
3 ROC与AUC
4 代价敏感错误率与代价曲线
四、比较检验
- 交叉验证t检验
- McNemar检验
- Friedman检验与Nemenyi检验
-
- t检验和McNemar检验都是在一个数据集上比较两个算法的性能。而在很多时候,我们会在一组数据集上对多个算法进行比较,当有多个算法参与比较时,一种做法是在每个数据集上分别列出两两比较的结果,而在两两比较时可使用前两种方法;另一种方法则比较直接,即使用基于算法排序的Friedman检验(若“所有算法的性能相同”这个假设被拒绝,则说明算法的性能显著不同。这时需进行“后续检验”来进一步区分各算法。常用的有Nemenyi后续检验)
五、偏差和方差1
- 偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力
- 方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响
- 噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度
- 偏差-方差分解说明,泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。
在给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据, 并且使方差较小,即使得数据扰动产生的影响小。
周志华. 机器学习 : = Machine learning[M]. 清华大学出版社, 2016. ↩︎