模型选择
- 验证集
数据量足够大的前提下可以划分为训练集、验证集和测试集,验证集用于对使用训练集训练得到的模型的验证,然后根据这个验证结构调整模型.
- 简单交叉验证
假设超参数集合为,谨记,我们的目的是选出P中最合适的超参数。
1 2 3 4 5 6 7 8 9 10 11 12
| for(i=1;i<=N;i++): { for(j=1;j<=M;j++)//验证M次 { 1. 随机打乱数据,随机取验证和训练集 2. 在上诉训练集上训练 3. 在验证集上验证模型指标 } 指标取平均,就是参数为P[i]下的模型指标 } 得到N个模型指标,取模型指标最大的参数P[max],为了避免数据浪费,往往会在这个参数集为P[max]下用所有模型在训练一遍 取得分最高的模型
|
- S折交叉验证
假设超参数集合为,谨记,我们的目的是选出P中最合适的超参数。
1 2 3 4 5 6 7 8 9 10 11 12 13
| 将所有数据均为为S分 for(i=1;i<=N;i++): { for(j=1;j<S;j++) { 1. 第j份用于验证,其他S-1份用于训练 2. 用S-1份数据训练 3. 在第j份数据上验证模型指标 } 指标取平均,就是参数为P[i]下的模型指标 } 得到N个模型指标,取模型指标最大的参数P[max],为了避免数据浪费,往往会在这个参数集为P[max]下用所有模型在训练一遍 取得分最高的模型
|
- 留一交叉验证
1
| 是S交叉验证中S=N,即只用一个样本作为测试集,其他的都是训练集
|
简单交叉验证用于初步分析,S折交叉验证用于深入分析,留一交叉验证用于数据量少的时候.