模型选择

  1. 验证集
    数据量足够大的前提下可以划分为训练集、验证集和测试集,验证集用于对使用训练集训练得到的模型的验证,然后根据这个验证结构调整模型.
  • 简单交叉验证

    假设超参数集合为,谨记,我们的目的是选出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折交叉验证用于深入分析,留一交叉验证用于数据量少的时候.