模型评估与选择

107 阅读4分钟

一、经验误差与过拟合

  1. 错误率E:
    • 是什么:
      • 分类错误的样本数占样本总数的比例
    • 公式:
      • a/m:在m个样本里有a个样本分类错误
  2. 精度:
    • 公式:
      • 1 - 错误率
    • 形式:
      • 一般写成百分比
  3. 误差:
    • 是什么:
      • 学习器的实际预测输出与样本的真实输出之间的差异
    • 分类:
      • 训练误差/经验误差:
        • 是什么:
          • 学习器在训练集上的误差
      • 泛化误差:
        • 是什么:
          • 在新样本上的误差
  4. 过拟合:
    • 是什么:
      • 学习器把训练样本学得太好了,以至于把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,导致泛化性能下降的现象
  5. 欠拟合:
    • 是什么:
      • 对训练样本的一般性质尚未学好,泛化性能不好的现象

二、评估方法:

  1. 使用测试集:
    • 用途:
      • 测试学习器对新样本的判别能力,将测试集上的“测试误差”作为泛化误差的近似
    • 注意:
      • 测试样本也是从样本真实分布中独立同分布采样而得
      • 要尽量使测试集与训练集互斥
    • 如何从数据集产生训练集S和测试集T
      • 方法1:留出法(hold-out)
        • 过程:
          • 直接将数据集D划分为两个互斥的集合,尽可能保持数据分布的一致性
        • 存在问题:
          • 测试集或训练集小时,评估结果方差较大
        • 常见划分比例:
          • 2/3~4/5的样本用于训练,剩余样本用于测试
        • 缺陷:
          • 在数据集较大时,训练m个模型的计算开销非常大
      • 方法2:(k折)交叉验证法(cross validation)
        • 过程:
          • 先将数据集D划分为k个大小相似的互斥子集,每个子集尽可能保持数据分布的一致性,k-1个子集作为训练集,余下的子集作为测试集,做k组测试和训练,最后返回k个测试结果的均值
          • 为了减小因样本划分不同而引入的差别,要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值
      • 方法3:自助法(bootstrapping)
        • 过程:
          • 以自助采样法为基础,给定包含m个样本的数据集D,我们对它进行采样产生数据集D1:每次随机从D中挑选一个样本,将其拷贝放入D1,然后再将该样本放回初始数据集D1中,使得该样本在下次采样时仍有可能被采到;这个过程重复了m次后,我们就得到了包含了m个样本的数据集D1
        • 数据集划分:
          • 训练集:D1
          • 测试集:
        • 适用于:
          • 数据集较小,难以有效划分训练/测试集时很有用
          • 从初始数据集中产生多个不同的训练集
        • 不足:
          • 会引入估计偏差
      • 方法4:调参与最终模型
        • 过程:
          • 用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参

三、性能度量

  1. 是什么:
    • 衡量模型泛化能力的评价标准
  2. 常用的性能度量:
    • 均方误差: image.png
    • 错误率:
      • 是分类错误的样本数占样本总数的比例 image.png image.png
    • 精度:
      • 是分类正确的样本数占样本总数的比例 image.png image.png
    • 查准率(P): image.png
    • 查全率(R): image.png
    • 平衡点(BEP):
      • 是查准率=查全率的取值
    • F1度量: image.png image.png

四、比较检验

  1. 比较对象:
    • 泛化性能
  2. 比较检验方法:
    • 假设检验
      • 最基本的两种假设检验:
        • 关于“假设”:是对学习器泛化错误率分布的某种判断或猜想
        • 哪两种:
          • 二项检验
          • t检验
      • 比较学习器性能的假设检验方法:
        • 交叉验证t检验
        • McNemar检验
        • Friedman检验
        • Nemenyi后继检验

五、偏差-方差分解

  1. 做什么:
    • 解释学习算法泛化性能的一种重要工具