博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模型评估与选择
阅读量:5917 次
发布时间:2019-06-19

本文共 1696 字,大约阅读时间需要 5 分钟。

经验误差与过拟合

  • 常见概念

误差:学习器的实际预测输出与样本的真实输出之间的差异

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

泛化误差:在新样本上的误差

过拟合:指学习时选择的模型所包含的参数过多,以至于出现这一模型对已知数据预测得很好,但对未知数据预测得很差的现象

欠拟合:指对训练样本的一般性质尚未学好

评估方法

  • 留出法

定义:将数据集 D 划分为两个互斥的集合,其中一个集合作为训练集 S,另一个作为测试集 T,即 D = S \cup T, S \cap T = \varnothing.在 S 上训练出模型后,用 T 来评估其测试误差,作为对泛化误差的估计。

不同的划分将导致不同的训练/测试集,相应的,模型的评估结果也会有差别。因此,单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复进行试验评估后取平均值作为留出法的评估结果。

  • 交叉验证法

先将数据集 D 划分成 k 个大小相似的互斥子集,即D = D_1 \cup D_2 \cup ... \cup D_k ,D_i \cap D_j = \varnothing (i\neq j ).然后,每次用 k - 1 个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得 k 组训练/测试集,从而可进行 k 次训练和测试,最终返回这 k 个测试结果的均值。通常把这称为 k 折交叉验证, k 的取值影响着交叉验证评估结果的稳定性和保真性。将数据集 D 划分为 k 个子集存在多种划分方式,为减少因样本划分不同而引入的差别,k 折交叉验证通常要随机使用不同的划分重复 p 次,最终的评估结果为这 p 次 k 折交叉验证结果的均值。

  • 自助法

定义:给定包含 m 个样本的数据集 D,我们对它进行采样产生数据集 D^{'}:每次随机从 D 中挑选一个样本,将其拷贝放入 D^{'},然后再将该样本放回初始数据集 D 中,使得该样本在下次采样时仍有可能被采样到;这个过程重复执行 m 次后,我们就得到了包含 m 个样本的数据集 D^{'},这就是自助采样的结果。

性能度量

  • 错误率与精度

定义:错误率是分类错误的样本数占样本总数的比例,精度是分类正确的样本数占样本总数的比例

  • 查准率、查全率与 F1

对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例、假正例、真反例、假反例四种情形,令TP、FP、TN、FN分别表示其对应的样例数,则显然有 TP + FP + TN + FN = 样例总数。分类结果的混淆矩阵如表所示:

查准率 P 、查全率 R 与 F1 分别定义为:

P = \frac{TP}{TP + FP}
R = \frac{TP}{TP + FN}
F1 = \frac{2 \times P \times R}{P + R} = \frac{2 \times TP}{样例总数 + TP - TN}
  • ROC 与 AUC

ROC 全称是“受试者工作特征”曲线,ROC 曲线的纵轴是“真正例率”(TPR),横轴是“假正例率”(FPR)。TPR 和 FPR 公式如下:

TPR = \frac{TP}{TP + FN}
FPR = \frac{FP}{TN + FP}

进行学习器的比较时,若一个学习器的 ROC 曲线被另一个学习器的曲线完全“包住”,则可断言后者性能优于前者;若两个学习器的 ROC 曲线发生交叉,则难以一般性地断言两者孰优孰劣。此时如果一定要进行比较,则较为合理的判据是比较 ROC 曲线下的面积,即 AUC。

偏差与方差

对测试样本 x,令y_D为 x 在数据集中的标记, y 为 x 的真实标记,f(x;D) 为训练集 D 上学得模型 f 在 x 上的预测输出。以回归任务为例,学习算法的期望预测为:

\bar f(x) = E_D[f(x;D)]

使用样本数相同的不同训练集产生的方差为:

var(x) = E_D[{(f(x;D) - \bar f(x))}^2]

噪声为:

\epsilon^2 = E_D[{(y_D - y)}^2]

期望输出与真实标记的差别为偏差,即:

bias^2(x) = {(\bar f(x) - y)}^2

期望泛化误差

E(f;D) = bias^2(x) + var(x) + \epsilon^2

也就是说,泛化误差可分解为偏差、方差与噪声之和

偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响;噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度

一般来说,偏差与方差是有冲突的,这称为偏差-方差窘境

  • 在训练不足时,学习器的拟合能力不够强,训练数据的扰动不足以使学习器产生显著变化,此时偏差主导了泛化错误率

  • 随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率

  • 在训练程度充足后,学习器的拟合能力已非常强,训练数据发生轻微的扰动都会导致学习器发生显著变化,若训练数据自身的、非全局的特性被学习器学到了,则会发生过拟合

转载地址:http://ijzvx.baihongyu.com/

你可能感兴趣的文章
mongodb 表达式
查看>>
hibernate 5.x版本中中schemaexport的使用
查看>>
div下的img标签中图片的大小设定
查看>>
Numerical Geometry of Image
查看>>
阿德莱德大学
查看>>
浅谈javascript中的闭包
查看>>
工作流引擎Oozie(二):coordinator
查看>>
ORM 关键
查看>>
replace和replaceAll方法 的区别
查看>>
笔记本电脑如何同时上内外网(通过usb外接网卡实现虚拟机连外网)
查看>>
PHP知识点--方法函数
查看>>
ASUS主板ALC887声卡,RTL81XX网卡,黑苹果驱动安装
查看>>
26基本数据类型的常用方法
查看>>
[Node.js]EventEmitter
查看>>
文本超出部分省略(包括多行文本超出部分省略显示)
查看>>
2.3.3练习
查看>>
天地图之定位信息详解
查看>>
ifconfig命令详情
查看>>
c#学习笔记
查看>>
解决Android中图片圆角——.9图
查看>>