码迷,mamicode.com
首页 > 其他好文 > 详细

模型选择

时间:2016-05-12 21:49:40      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

当假设空间含有不同复杂度(如不同参数数量)的模型时,就要进行模型选择。如果过度追求在训练数据集上误差小的模型,那么选出来的模型在测试数据集上的误差就可能很大,此时模型过拟合了训练数据集,图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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!