文章

《机器学习》——模型评估与选择

经验误差与过拟合

训练误差/经验误差:学习器在训练集上的误差

  • 泛化误差:学习器在新样本上的误差
  • 过拟合:学习器的学习能力过于强大,将样本的特点当做了一般性质
  • 欠拟合:学习器的学习能力低下,没有学习到样本的一般性质

评估方法

使用一个测试集对学习器进行测试,产生的测试误差作为泛化误差的近似,从而评估学习器的泛化能力

对数据集划分出训练集和测试集的方法

  • 留出法:直接将数据集划分为两个互斥的集合,划分要尽可能保持数据分布的一致性

    单次使用留出法的结果往往不可靠,通常需要多次随机划分,然后取所有划分产生结果的平均值

  • 交叉验证法:将数据集划分为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})\]

偏差与方差

偏差-方差分解可以用于解释泛化误差,泛化误差可理解为偏差、方差与噪声之和

  • 偏差:表示了学习算法的期望预测与真实结果的偏离程度,表现了算法的拟合能力
  • 方差:表示了训练集中数据的变动造成的学习性能变化
  • 噪声:表示了当前任务上任何学习算法所能达到的期望泛化误差的下界,表现了学习问题本身的难度

偏差与方差随着算法拟合能力的变化而变化

  • 当算法拟合能力不足时,期望预测与真实结果的偏离程度较大,而数据集中的数据变化不足以导致学习性能变化,此时偏差较大,方差较小
  • 当算法拟合能力过强时,期望预测与真实结果的偏离程度较小,而数据集中的数据变化被学习器学习到,可能导致学习性能显著变化,此时偏差较小,方差较大

image-20240608214435364

本文由作者按照 CC BY 4.0 进行授权