This repository has been archived on 2020-04-25. You can view files and clone it, but cannot push or open issues or pull requests.
ml/basic/evaluation.md
2020-02-23 22:14:06 +08:00

6.4 KiB
Raw Blame History

评估方法

留出法

留出法(hold-out)直接将数据集D划分为两个互斥的集合其中一个集合作为训练集S,另一个作为测试集T即有$$D=ST,S∩T=∅ $$ 建议:
训练集/测试集2/3~4/5

交叉验证法

交叉验证法(cross validation)先将数据集D划分为k个大小相似的互斥子集。即有$$D=D1D2...Dk,Di∩Dj=∅$$ 每个子集Di都尽可能保持数据分布的一致性即从D中通过分层采样得到。然后每次用k-1个子集的并集作为训练集余下的那个子集 作为测试集这样就可以获得k组训练/测试集。从而可以进行k次训练与测试最终返回的是这k个测试结果的均值。
交叉验证法
缺陷:数据集较大时,计算开销。同时留一法的估计结果也未必比其他评估方法准确。

自助法

简单的说它从数据集D中每次随机取出一个样本将其拷贝一份放入新的采样数据集D,样本放回原数据集中重复这个过程m次就得 到了同样包含m个样本的数据集D,显然D中会有一部分数据会在D中重复出现。样本在m次采样中始终不被采样到的概率是 概率,取极限得到:
自助法
即通过自助法初始数据集中约有36.8%样本未出现在采样数据集D中。可将D作为训练集D\D作为测试集(\表示集合的减法)。保 证了实际评估的模型与期望评估的模型都是用m个训练样本而有数据总量约1/3的、没在训练集中出过的样本用于测试这样的测试结 果,也叫做”包外估计”(out-of-bagestimate).

适用场景

自助法在数据集较小、难以有效划分训练/测试集很有用;此外自助法可以从初始数据集中产生多个不同的训练集,这对集成学习等方法 有很大好处。

缺点

自助法产生的数据集改变了初始数据集的分布,引入估计偏差。故在数据量足够时,留出法与交叉验证更为常用。

性能度量

在预测任务中,给定样本集 样本集 其中yi是示例xi的真实标记。回归任务中最常用的性能度量是均方误差(mean squeared error),f(x)是机器学习预测结果
均方误差
更一般的形式(数据分布D概率密度函数p(x))
均方误差

错误率和精度

错误率的定义:
错误率
更一般的定义:
错误率
精度的定义:
精度
更一般的定义:
精度

查准率、查全率与F1

下表是二分类结果混淆矩阵将判断结果分为四个类别真正例TP、假正例FP、假反例FN、真反例TN
二分类问题
查准率:【真正例样本数】与【预测结果是正例的样本数】的比值。
查全率:【真正例样本数】与【真实情况是正例的样本数】的比值。
P-R曲线

  • 当曲线没有交叉的时候:外侧曲线的学习器性能优于内侧;
  • 当曲线有交叉的时候:
    • 第一种方法是比较曲线下面积,但值不太容易估算;
    • 第二种方法是比较两条曲线的平衡点,平衡点是“查准率=查全率”时的取值,在图中表示为曲线和对角线的交点。平衡点在外侧的 曲线的学习器性能优于内侧。
    • 第三种方法是F1度量和Fβ度量。F1是基于查准率与查全率的调和平均定义的Fβ则是加权调和平均。
      F1
      Fb

ROC与AUC

ROC曲线便是从这个角度出发来研究学习器泛化性能的有力工具。
与P-R曲线使用查准率、查全率为横纵轴不同ROC的纵轴是”真正样例True Positive Rate简称TPR横轴是“假正例率False Positive Rate简称FPR两者分别定义为
ROC
显示ROC的曲线图称为“ROC图”
pic
进行学习器比较时与P-R如相似若一个学习器的ROC曲线被另一个学习器的曲线“包住”则可断言后者的性能优于前者若两个学习 器的ROC曲线发生交叉则难以一般性的断言两者孰优孰劣。此时如果一定要进行比较则较为合理的判断是比较ROC曲线下的面积 即AUCArea Under ROC Curve

注意AUC计算公式没看懂

代价敏感错误率与代价曲线

在现实任务中会遇到这样的情况:不同类型错误所造成的后果不同。以二分类任务为例,我们可根据任务领域知识设定一个“代价矩阵”, 如下图所示,
代价矩阵
在非均等代价下ROC曲线不能直接反映出学习器的期望总体代价而“代价曲线cost curve”则可达到目的。代价曲线图的横轴是取 值为[01]的正例概率代价,
正概率代价
纵轴是取值为[01]的归一化代价
归一化代价
画图表示如下图所示
图

比较检验