《机器学习》——模型评估与选择
经验误差与过拟合
训练误差/经验误差:学习器在训练集上的误差
- 泛化误差:学习器在新样本上的误差
- 过拟合:学习器的学习能力过于强大,将样本的特点当做了一般性质
- 欠拟合:学习器的学习能力低下,没有学习到样本的一般性质
评估方法
使用一个测试集对学习器进行测试,产生的测试误差作为泛化误差的近似,从而评估学习器的泛化能力
对数据集划分出训练集和测试集的方法
留出法:直接将数据集划分为两个互斥的集合,划分要尽可能保持数据分布的一致性
单次使用留出法的结果往往不可靠,通常需要多次随机划分,然后取所有划分产生结果的平均值
交叉验证法:将数据集划分为k个互斥的集合,每轮用其中的k-1个集合作为训练集,剩下的1个集合作为测试集,产生k个结果,取其平均值
留一法:交叉验证法的特例,每个子集中只包含一个样本
自助法:对m个样本的数据集进行m次有放回随机抽样,产生的集合作为训练集,原始数据集作为测试集
机器学习中的参数分为两类
- 超参数:人工设定的参数
- 模型参数:模型学习中产生的参数
验证集:在训练集的基础上进一步划分为训练集和验证集,通过模型在验证集上的性能来评估模型和调参
性能度量
均方误差
回归任务中常用的性能度量是均方误差MSE
\[E(f;D)={1\over m}\sum\limits^m_{i=1}(f(x_i)-y_i)^2\]错误率与精度
- 错误率:分类错误样本占总样本的比例
- 精度:分类正确的样本占总样本的比例
查准率与查全率
- 查准率:分类为正例中实际正例的比例,$P=\frac{TP}{TP+FP}$
- 查全率:分类正确的样本中实际正例的比例,$R=\frac{TP}{TP+FN}$
- PR曲线:查准率为纵轴,查全率为横轴构成的曲线
通过PR曲线判断模型的性能
平衡点:查准率等于查全率的点的取值,当模型A的平衡点大于模型B,可认为A性能优于B
F1分数:查准率与查全率的调和平均
\[F1=\frac{2\times P\times R}{P+R}\]F1分数的一般形式$F_\beta$
\[F_\beta=\frac{(1+\beta^2)\times P\times R}{(\beta^2\times P)+R}\]- 当$\beta=1$时,退化为F1
- 当$\beta>1$时,查全率影响更大
- 当$\beta<1$时,查准率影响更大
当产生多个二分类混淆矩阵时,有两种做法
- macro:对每个混淆矩阵计算查准率和查全率,再取平均,得到macro-P和macro-R,基于此,计算得到macro-F1
- micro:对混淆矩阵的每个元素取平均,即计算TP、FP、TN和FN的平均值,基于此计算得到micro-P和micro-R,进一步得到micro-F1
ROC与AUC
将TPR作为纵轴,FPR作为横轴构成ROC曲线,AUC为ROC曲线下的面积
- TPR:真正例率,$TPR=\frac{TP}{TP+FN}$
- FPR:假正例率,$FPR=\frac{FP}{TN+FP}$
代价敏感错误率与代价曲线
对于不同类型的错误,可以为错误赋予非均等代价
总体代价敏感错误率
\[E(f;D;cost)={1\over m}(\sum\limits_{x_i\in D^+}I(f(x_i)\ne y_i)\times cost_{01}+\sum\limits_{x_i\in D^-}I(f(x_i)\ne y_i)\times cost_{10})\]偏差与方差
偏差-方差分解可以用于解释泛化误差,泛化误差可理解为偏差、方差与噪声之和
- 偏差:表示了学习算法的期望预测与真实结果的偏离程度,表现了算法的拟合能力
- 方差:表示了训练集中数据的变动造成的学习性能变化
- 噪声:表示了当前任务上任何学习算法所能达到的期望泛化误差的下界,表现了学习问题本身的难度
偏差与方差随着算法拟合能力的变化而变化
- 当算法拟合能力不足时,期望预测与真实结果的偏离程度较大,而数据集中的数据变化不足以导致学习性能变化,此时偏差较大,方差较小
- 当算法拟合能力过强时,期望预测与真实结果的偏离程度较小,而数据集中的数据变化被学习器学习到,可能导致学习性能显著变化,此时偏差较小,方差较大
本文由作者按照 CC BY 4.0 进行授权