小批量梯度下降是否会抵消分层对训练数据集的影响?

数据挖掘 神经网络 scikit-学习 数据清理
2022-03-07 23:55:18

在数据预处理中,使用分层 shuffle来确保原始数据集的分布在训练、测试和验证数据集中得到体现。

小批量梯度下降使用随机洗牌来确保小批量的随机性。

我的疑问是 - 如果要在训练后期以随机方式随机洗牌,我们为什么要在数据集上实施分层洗牌?

1个回答

不是,训练模型时的工作流程是这样的:

  1. 使用分层洗牌从数据集中创建 10 个均匀分布的拆分
  2. 训练集 = 8 次拆分;验证集 = 1 拆分;测试集 = 1 拆分
  3. 打乱训练集和验证集并从中创建小批量
  4. 使用批次训练一个时期
  5. 从第 3 步开始重复,直到所有 epoch 都结束
  6. 使用测试集评估模型

如果我们跳过步骤 1 中的分层洗牌,训练集、验证集和测试集的类将不会均匀分布。

如果我们在步骤 3 中的每个 epoch 之前跳过洗牌,那么每个 epoch 中的小批量将是相同的。

训练集、验证集和测试集的比例当然可以变化。