首页 > 代码库 > 交叉验证概述
交叉验证概述
交叉验证
- 中文名
- 交叉验证
- 外文名
- Cross validation
- 实 质
- 建模应用中
- 特 点
- PCR 、PLS 回归建模中
目录
- 1 概念
- 2 基本思想
- 3 目的
- 4 常见的交叉验证形式
- ? Holdout 验证
- ? K-fold cross-validation
- ? 留一验证
交叉验证概念
交叉验证基本思想
交叉验证目的
交叉验证常见的交叉验证形式
交叉验证Holdout 验证
交叉验证K-fold cross-validation
交叉验证留一验证
当假设空间含有不同复杂度(如不同参数数量)的模型时,就要进行模型选择。如果过度追求在训练数据集上误差小的模型,那么选出来的模型在测试数据集上的误差就可能很大,此时模型过拟合了训练数据集,图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),选择均方差最小 的,即二次拟合为最优模型。
线性拟合 | 二次拟合 | 点连接 |
---|---|---|
交叉验证概述