在数据预处理中,使用分层 shuffle来确保原始数据集的分布在训练、测试和验证数据集中得到体现。
小批量梯度下降使用随机洗牌来确保小批量的随机性。
我的疑问是 - 如果要在训练后期以随机方式随机洗牌,我们为什么要在数据集上实施分层洗牌?
在数据预处理中,使用分层 shuffle来确保原始数据集的分布在训练、测试和验证数据集中得到体现。
小批量梯度下降使用随机洗牌来确保小批量的随机性。
我的疑问是 - 如果要在训练后期以随机方式随机洗牌,我们为什么要在数据集上实施分层洗牌?
不是,训练模型时的工作流程是这样的:
如果我们跳过步骤 1 中的分层洗牌,训练集、验证集和测试集的类将不会均匀分布。
如果我们在步骤 3 中的每个 epoch 之前跳过洗牌,那么每个 epoch 中的小批量将是相同的。
训练集、验证集和测试集的比例当然可以变化。