我从头开始构建了一个神经网络,为超参数选择任意数字:学习率、隐藏层和神经元的数量、时期数和小批量的大小。现在我已经能够构建一些可能有用的东西(测试数据的准确率约为 93%,以前的模型看不到),我想专注于超参数调整。
训练集和验证集之间的概念差异很明显并且很有意义。很明显,该模型偏向于训练集,因此使用它来调整超参数或评估其性能是没有意义的。
但是,如果更改任何参数强制我再次重建新模型,我该如何使用验证集?最终预测取决于 X 个 MxN 矩阵(权重)和 X 个 N 个向量(偏差)的值,其值取决于学习率、批量大小和 epoch 数;其尺寸取决于隐藏层的数量和大小。如果我更改其中任何一个,我需要再次重建我的模型。所以我会使用这个验证集来训练不同的模型,最后就像第一步一样:从头开始拟合模型。
总结一下:我遇到了一个递归问题,我需要用看不见的数据微调我的模型的超参数,但是更改这些超参数中的任何一个都意味着重建模型。