0%

机器学习之交叉验证

机器学习中数据是十分重要的资源,先来看看传统的验证方法,传统的验证方法大概分为 4 步:

第一步

将所有样本分为训练数据测试数据两部分,假设训练数据占 70%,测试数据占 30%。训练数据用于训练模型,测试数据用来测试模型性能。

第二步

在给定超参数下,用 70% 的训练数据得到模型。

第三步

用剩下的 30% 测试数据测试严重上述二中得到的模型。

第四步

为了不浪费数据,再将所有 100% 的数据来验证模型,继续修正参数得到最终的模型。

机器学习中数据是最为宝贵的资源的之一,传统的验证方法无法充分利用样本,因此,在传统验证方法基础上,提出了交叉验证思想。

为使数据得到充分利用,提出了一种优化的交叉验证方法,具体执行步骤如下:

第一步

第一步首先将数据分成 3 部分,训练集、验证集和测试集,假设各占 70%、15%、15%,

第二步

在同一组训练集上,使用若干个不同的超参数,训练得到不同的模型,如图所示,假设 3 个模型分别为 A、B、C。

第三步

在相同的验证集上分别验证上述步骤二中得到的 A、B、C,选取最佳超参数所对应的模型。

第四步

在上述三所得到的最优模型基础上,继续用训练集和验证集对模型进行进一步优化,进一步修正模型的参数。

第五步

在测试集上测试上述四中得到的模型,通常情况下,这时的模型会比较好。

第六步

用所有数据继续训练所得到的模型,就是最终的模型。

通过上述步骤,能够充分利用训练样本集,得到最优的模型。