11. 模型选择+过拟合&&欠拟合【动手学深度学习v2】

笔记源于:李沐老师的视频讲解

1. 模型选择

  • 误差

    • 训练误差:模型在训练数据上的误差
    • 测试误差:在测试数据上的误差,也叫泛化误差
  • 数据集

    • 训练数据集:用于训练模型参数
    • 验证数据集:用于评估模型的好坏。调参使用
    • 测试数据集:用于测试,只用一次
  • K-则交叉验证
    将训练数据集分为k份,选其中一份作为验证集,剩下作为训练集,循环k次不同的验证集。以k次的均值作为最终的精度衡量

    • 在没有足够多的数据时使用。
    • K一般取5或10,数据集小的情况K取值较大;反之可以小一点
  • 固定验证集
    从训练集中拨出一部分数据作为验证集进行调参。数据集通常采用8-1-1作为训练-验证-测试

  • 参数选择
    对于多个参数,通常使用网格搜索(选择组合),更为普遍的做法是固定其余参数对剩下的一个参数进行调整

2. 过拟合&&欠拟合

11. 模型选择+过拟合&&欠拟合【动手学深度学习v2】_第1张图片
模型容量越高,模型就越复杂,能够拟合的事物(曲面)就越复杂,能力越强;反之越简单,例如线性模型。

  • 模型容量:表示拟合各种函数的能力。低容量的模型难以拟合训练数据;高容量的模型能够记住所有训练数据
    11. 模型选择+过拟合&&欠拟合【动手学深度学习v2】_第2张图片

  • 模型容量与误差之间的关系
    11. 模型选择+过拟合&&欠拟合【动手学深度学习v2】_第3张图片
    训练误差随着模型容量升高而降低,因为模型越复杂能够记住的训练样本越多,训练本身是让模型在训练样本上进行优化。而测试误差在模型复杂到一定的程度之后逐渐上升。这里的泛化gap通常用来衡量模型是否过拟合。
    核心任务:降低泛化误差以及降低gap。过拟合本身并不是一件很差劲的事情,一般来讲我们需要模型有一定的能力(足够大),然后通过一定的手段控制模型的容量

  • 模型容量的估计

    • 难以在不同种类算法之间比较。例如树模型和神将网络
    • 对于固定种类模型,估计模型容量的两个因素:参数的个数;参数值的选择范围
  • 数据复杂度衡量(相对直观概念)

    • 样本个数
    • 样本元素个数
    • 样本的时间、空间结构(例如视频)
    • 数据多样性(例如类别)

小结:模型容量需要匹配数据复杂度。

你可能感兴趣的:(学习笔记,深度学习,机器学习,人工智能)