在 LSTM 网络中使用 sigmoid 进行多步预测

人工智能 长短期记忆 激活函数 回归 预测
2021-11-04 04:50:04

我正在尝试使用 LSTM 网络开发多步预测模型。该模型将三个时间步作为输入并预测两个时间步。输入和输出列都使用 minmax_scalar 在 0 和 1 范围内进行归一化。

请参阅以下模型架构

模型架构

model = Sequential()
model.add(LSTM(80,input_shape=(3,1),activation='sigmoid',return_sequences=True))
model.add(LSTM(20,activation='sigmoid',return_sequences=False))
model.add(Dense(2))

在这种情况下,使用 sigmoid 作为激活函数是否正确?

3个回答

是的,由于输入、输出被限制在零和一之间,这将是唯一可行的激活函数。

你的代码有问题,你想在最后一层使用“sigmoid”。为您显示的代码在最后一层使用线性激活。

您不应该将自己限制在最后一层的激活函数中使用 sigmoid。通常你正在规范化你的数据集,但是当你测试/评估模型时,你将缩放变换的逆应用到预测中,所以你可以很容易地使用在 [-1, 1] 上定义的 tanh