用不同数量的序列训练有状态 LSTM

数据挖掘 机器学习 神经网络 lstm rnn
2021-09-21 00:08:42

我使用有状态的 LSTM 进行股票市场分析,每只股票都有不同数量的数据,从 20 年到几周不等(即新上市股票)。

我至少使用 3 年的数据进行训练,因为我想在网络中创建一些状态。我设置了一年作为我的序列长度,所以如果我有 12 年的数据,那么我将提交 4 个批次,每个批次有 3 个序列。只有在我提交了所有批次之后,我才会重置网络状态,为下一个库存做好准备。

但是对于不同数量的序列进行训练有什么问题吗?例如,如果我在一家拥有 20 年数据的公司进行培训,那么网络将建立比我只有 3 年数据的公司更多的状态。

1个回答

在股市预测的情况下,我认为当序列长度达到某个点时,网络会学会忘记 6 个月前的开盘价或 3 年前的交易量。该数据不再与细胞状态相关,因为最近发生的事件更能反映股票价格的变化。
就存储长期和短期记忆的 LSTM 方法而言,LSTM 将具有“忘记”序列中较早的旧数据和不相关数据的功能,无论序列长度如何,都能保持稳定有效的细胞状态(当然,序列应该足够长,以使 LSTM 完全建立任何单元状态)。
希望这可以帮助。