机器学习相关学习笔记

西瓜书学习笔记-模型评估与误差

2018-04-25  本文已影响14人  edwin1993

模型评估与误差

1 经验误差与过拟合

错误率:m个样本中a个分错,错误率为:E = a/m
精度:1 - 错误率
误差:预测输出与真实输出的差异
训练误差:训练集上的误差
泛化误差:测试集上的误差

2 评估方法

通过实验测试来对学习器的泛化误差进行评估进而选择,为此我们需要一个测试集,用测试误差来近似泛化误差。
一般而言,我们假设测试样本的分布符合真是分布。且测试集和训练集尽量互斥。

常见的用来分割数据集为测试集和训练集的方法有:

3 性能度量

对模型的泛化能力进行评估,不仅需要可行的实验估计方法,还需要衡量其泛化能力的评价标准,这就是性能度量。

查全率与查准率相互矛盾

上图中,如果一个学习器的P-R曲线完全被另一个学习器的P-R曲线所包裹,那么后者优于前者。
平衡点BEP是P = R时的取值。通过BEP比较可以判断哪个学习器更加优秀。
更常见的是F1度量

当应用场景对P、R的重视程度不同时:
β > 1时查全率有更大的影响。

当然、当我们有多个混淆矩阵结果的时候,可以用取均值的方法获得宏P、宏R、宏F1等。

ROC绘制规则为:
从(0,0)开始,对于给与的m1个正例和m2个反例,根据预测结果进行排序,依次将这些样例化为正例,若为真正例,则y值增加 1/m1,否则x值增加 1/m2,最后将这些点连线。所获得面积为AUC。

代价敏感错误率为:

在非均等代价下,ROC曲线不能直接反应出学习器的期望总代价。

代价曲线绘制方法:
设ROC曲线上某一点坐标(TPR,FPR),计算出FNR = 1 - TPR,在平面绘制(0,FPR)到(1,FNR)的直线,线段下的面积表示了该条件下的期望的总体代价。ROC上的每个点都可以转为一条直线,然后取所有直线的下界,所围成的面积为在所有条件下学习器的期望总代价。

4 比较检验

上述的评估与度量方法并不能彻底得出学习器的性能结果,原因有以下三点:

  1. 结果是基于测试集的,而非真实泛化性能。
  2. 测试集上的性能与测试集本身的选择有关系。
  3. 学习算法有随机性。

所以,我们要使用统计假设检验作为重要的依据。
基于假设检验我们可以得出,若测试集上A的表现优于B,那么A的泛化性能是否在统计意义上优于B,以及这个结论的把握有多大。

比如ϵ0=0.3,根据二项分布,如果是10个样本,那么有3个错误分类的概率最大。
具体计算时只需把错误样本数大于3的概率求和,看是否小于α即可。

5 偏差与方差

在估计了学习算法的泛化性能后,我们还希望了解它为什么能具有这样的性能。“偏差-方差分解”就是用来解释学习算法泛化性能的一种工具。

x:测试样本
y_D:x在数据集上的标记
y:x的真是标记
f(x,D):为训练集D上学得的模型f在x上的预测输出
f(x)均值:为期望预测

有E(f;D)=bias2(x)+var(x)+ϵ2
即泛化误差分解为偏差、方差、噪声之和。

回顾三者的定义,

偏差-方差分解说明,泛化性能是由学习算法的能力、数据的充分性及学习任务本身的难度共同决定的。

一般来说,偏差与方差是有冲突的

在训练不足的时候,学习器拟合能力不够,训练数据的扰动不足以影响学习器,这个时候,偏差主导了泛化错误率。
当训练加深到一定程度的时候,学习器拟合能力加强,训练数据的扰动逐渐可以被学习器学到,方差主导了泛化错误率。
训练充足的时候,学习器的拟合能力非常强,训练数据的轻微扰动都会导致学习器的变化,若训练数据自身的非全局特性被学习器学到,就发生了过拟合。

上一篇 下一篇

猜你喜欢

热点阅读