模型选择
训练误差和泛化误差
训练误差:模型在训练数据上的误差
泛化误差:模型在新数据上的误差
验证数据集和测试数据集
验证数据集:一个用来评估模型好坏的数据集
例如拿出50%的训练数据
不要跟训练数据混在一起(常犯错误)
测试数据集:只用一次的数据集
K-则交叉验证
解决没有足够多的训练数据(这是常态)
算法:
- 将训练数据分割成K块
- 依次使用第i块为验证数据集,其余的作为训练数据集
- 报告K个验证集误差的平均
常用:K=5或10
过拟合和欠拟合
模型容量:拟合各种函数的能力
低容量的模型难以拟合训练数据
高容量的模型可以记住所有的训练数据
模型容量的影响
模型容量的估计
不同种类算法之间难以比较
给定模型种类,将有两个因素
- 参数的个数
- 参数值的选择范围
VC维
定义:对于一个分类模型,VC等于一个最大的数据集的大小,不管如何给定标号,都能找到一个模型对它进行分类。
线性分类器的VC维
二维输入的感知机,VC维=3
支持N维输入的感知机的VC维是N+1
VC维的用处
- 提供为什么一个模型好的理论依据
它可以衡量泛化误差和训练误差之间的间隔
- 深度学习中很少使用
衡量不是很准确
深度学习模型的VC维通常很难计算
总结