一、LSTM
长期短期记忆(LSTM) 是递归神经网络(RNN)的一个特殊情况。这种类型的神经网络用于处理数据序列,顺序在其中起到重要了作用。 RNN 和 LSTM 常用于自然语言处理,因为句子中的单词有一个顺序,改变这个顺序可以完全改变句子的意思,而时间序列中数据顺序也很重要,它们的顺序也是不可改变的。
LSTM主用有三个门组成,遗忘门、输入门与输出门,遗忘门决定哪些来自过去和现在的信息必须保留,输入门决定来自序列的当前元素的相关信息,输出门使用存储在内存中的信息生成预测。
二、LSTM模型使用
与DNN的使用类似,LSTM的使用仅需将Sequential函数中的Dense替换为LSTM即可。此次发现个问题,书本《Time Series Forecasting in Python》中的第十五章代码中在LSTM单步与多输出模型中,LSTM使用的是为了便于观看的相对宽度更大的单步数据窗口(wide_window),而之前基线、线性、DNN使用的是单步数据窗口(single_step_window),因此为了后续学习实验的准确性,同一都使用数据窗口(wide_window)。
1、单步模型
lstm_model = Sequential([
LSTM(32, return_sequences=True),
Dense(units=1)
])
history = compile_and_fit(lstm_model, wide_window)