标签:
当假设空间含有不同复杂度(如不同参数数量)的模型时,就要进行模型选择。如果过度追求在训练数据集上误差小的模型,那么选出来的模型在测试数据集上的误差就可能很大,此时模型过拟合了训练数据集,图1显示了训练误差和测试误差与模型复杂度之间的关系。
所以模型选择时应特别注意防止过拟合,本文首先回顾了过拟合,之后介绍防止过拟合常用的方法。
若训练得到的模型的复杂度超过真实模型的复杂度,就称发生了过拟合,反之为欠拟合。过拟合发生的原因是训练数据集中存在随机噪声和确定性噪声。
(注:图片来自 Tutorial Slides by Andrew Moore)
交叉验证(Cross-validation,CV)
目的:检测和预防过拟合
交叉验证方法 | 优点 | 缺点 |
---|---|---|
Test-set | 计算开销小 | 无法评估模型泛化能力 |
Leave-one-out cross validation(LOOCV) | 不浪费数据 | 计算开销大 |
k-fold cross validation | 计算开销相对LOOCV小 | 浪费1/k的数据 |
Test-set
将数据集中的全部数据用于模型训练,不考虑模型验证,选择训练集上误差最小的模型为最优模型,易产生过拟合。
LOOCV (Leave-one-out Cross Validation)
下图示例了使用LOOCV方法对线性回归、二次回归、直接点连接模型进行选择的过程.从大小为n的数据集中抽出一个作为模型验证样本,其他的(n-1)个样本用于模型训练,这样对于线性拟合、二次拟合、点连接三种模型分别有n个模型和对应得3个的均方误差(MSE),选择均方差最小 的,即二次拟合为最优模型。
线性拟合 | 二次拟合 | 点连接 |
---|---|---|
k-fold cross validation
以k=3为例,下图示例了使用3-fold交叉验证的方法对线性回归、二次回归、直接点连接模型进行选择的过程,数据集被随机划分为3份,其中2份用来训练模型,1份用来验证,这样针对线性、二次拟合、点连接模型分别有3个训练好的模型和均方误差(MSE),选择均方差最小 的,即二次拟合为最优模型。
线性拟合 | 二次拟合 | 点连接 |
---|---|---|
基于VC维的结构风险最小化方法,如在损失函数中添加权重衰减项
标签:
原文地址:http://blog.csdn.net/foolsnowman/article/details/51351460