0%

模型评估与选择(参考自西瓜书)

经验误差与过拟合

  • 错误率:如果在$m$个样本中有$a$个样本分类错误,则错误率$E=\frac{a}{m}$
  • 精度(accuracy):$1-\frac{a}{m}$,即“精度=1-错误率”
  • 误差:学习器的实际预测输出与样本的真实输出之间的差异
  • 训练误差:学习器在训练集上的误差。
  • 泛化误差:学习器在新样本上的误差。
  • 过拟合(overfitting)欠拟合(underfitting)

评估方法

数据集的划分

  1. 留出法:直接将数据集$D$划分为两个互斥的集合,其中一个作为训练集$S$,另一个作为测试集$T$,即$D=S\cup T, S\cap T=\phi$。为了保证划分后数据分布的一致性。通常采用“分层抽样”(stratified sampling)的方法。
  2. 交叉验证法:将数据集$D$划分为$k$个大小相似的互斥子集,即$D=D_{1}\cup D_{2}\cup…\cup D_{k},D_{i}\cap D_{j}=\phi(i\neq j)$,每个子集$D_{i}$都尽可能保证数据分布的一致性,即来自分层抽样。然后每次用$k-1$个子集的并集作为训练集,剩下的那个子集作为测试集,这样就得到$k$组 训练/测试集,从而可以进行$k$次训练和测试,最终返回的是这$k$个测试结果的均值,称为“$k$折交叉验证”(k-fold cross validation)
  3. 自助法(bootstrapping):给定包含$m$个样本的数据集$D$,我们对它进行采样产生数据集$D’$:每次随机从$D$中挑选一个样本,将其拷贝放入$D’$,然后再将该样本放入$D$中,使得该样本在下次采样时任有可能被采到;重复这个过程$m$次后,我们就得到了含有$m$个样本的数据集$D’$。做一个简单的估计,样本每次采样不被采到的概率为$1-\frac{1}{m}$,则$m$次不被猜到的概率为$(1-\frac{1}{m})^m$,当$m$足够大时有:即通过自助采样,初始数据集$D$中大约有$36.8\%$的样本没有出现在$D’$中。适用于数据集较小,难以划分的数据集。

调参与最终模型

性能度量

回归任务中常用的均方误差

更一般的,对于数据分布$\mathfrak{D}$和概率密度函数$p(\cdot)$,均方误差可描述为

查准率、查全率与$F1$

对于二分类问题,可将样例的真实类别与学习器的预测类别的组合划分为:

  • 真正例(true positive):预测的正例实际上就是正例
  • 假正例(false positive):预测的正例实际上是反例
  • 真反例(true negative):预测的反例实际上就是负例
  • 假反例(false negative):预测的反例实际上是正例

由以上的概念可以得出,$真实的正例=TP+FN,真实的反例=TN+FP,预测的正例=TP+FP,预测的反例=TN+FN$,可组成混淆矩阵(confusion matrix)。

  • 查准率:$P=\frac{TP}{TP+FP}=\frac{预测正确的正例}{预测的正例数}$,即考量预测正例的准确率
  • 查全率:$R=\frac{TP}{TP+FN}=\frac{预测正确的正例}{真实的正例数}$,即考量预测正例的完整率
  • P-R曲线与平衡点(Break-Event Point,简称BEP,它是查准率=查全率时的取值)
  • $F1$度量比平衡点更常用:
  • 对查全率与查准率的重视程度不同,定义$\beta>0$度量了查全率对查准率的相对重要性:
  • 很多时候会多次的训练/测试,得到多个混淆矩阵。从而使用各种指标的均值来进行考量

ROC与AUC

ROC(Reveiver Operating Characteristic)全称是“受试者工作特征”,它考察“真正例率”(TPR)与“假正例率”(FPR):

AUC即ROC曲线下的面积

本文标题:模型评估与选择(参考自西瓜书)

文章作者:SkecisAI

发布时间:2020年06月03日 - 14:36:48

最后更新:2020年06月07日 - 14:47:52

原始链接:http://www.skecis.top/2020/06/03/模型评估与选择/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

感谢你的支持,希望本文能助你一臂之力。