我创建了一个模型来解决时间序列预测问题。我可以用来训练模型的时间序列数量有限,因此我决定扩充数据。我使用的数据增强策略非常基本,但已证明可以提高模型的准确性。
我使用 keras 中的 fit_generator 函数编写了自己的 data_generator 来训练我的模型。本质上,它吸收了我拥有的整个训练数据集,对所有时间序列进行了洗牌,并且增强过程专门在每个批次中进行。在每个批次中,我根据批次中的每个时间序列随机选择起点和终点,以便每个批次包含批次内每个系列的不同长度切片。这显然会产生几乎无穷无尽的数据流,但它完全依赖于模型运行的时期数,因为数据集没有预先增加。没有噪声或任何东西应用于数据集,增强纯粹来自改变时间序列的长度以及序列的起点和终点。
我观察到我的损失随着时间的推移继续减少,我尝试了 100、500、1000、5000 和 10,000 个 epoch。一般来说,模型预测的准确性确实会变得更好,但在某些时候收益会递减。很难说什么时候我还在调整模型架构和超参数。
这种增强策略是否会影响我如何解释模型的损失?随着我训练模型的时间越长,它看到的“新”数据就越多,而不是不断地看到相同的数据并对其进行训练。