交叉验证
交叉验证(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=3为例,下图示例了使用3-fold交叉验证的方法对线性回归、二次回归、直接点连接模型进行选择的过程,数据集被随机划分为3份,其中2份用来训练模型,1份用来验证,这样针对线性、二次拟合、点连接模型分别有3个训练好的模型和均方误差(MSE),选择均方差最小 的,即二次拟合为最优模型。
![]() |
| 线性拟合 |
![]() |
| 二次拟合 |
![]() |
| 点连接 |







