Neural network 在时间序列预测任务的中间层应该使用哪种激活函数

Neural network 在时间序列预测任务的中间层应该使用哪种激活函数,neural-network,deep-learning,time-series,lstm,recurrent-neural-network,Neural Network,Deep Learning,Time Series,Lstm,Recurrent Neural Network,我想用LSTM建立一个时间序列预测模型 中间层应使用哪种激活功能 线性激活函数适用于最终层还是输出层 我在(0,1)范围内对输入数据进行归一化,并在预测后进行反向归一化 这是我的模型: model = Sequential() model.add(LSTM(32, input_shape=(input_n, n_features),return_sequences=True,activation='relu')) model.add(LSTM(32, input_shape=(n_feature

我想用LSTM建立一个时间序列预测模型

中间层应使用哪种激活功能

线性激活函数适用于最终层还是输出层

我在(0,1)范围内对输入数据进行归一化,并在预测后进行反向归一化

这是我的模型:

model = Sequential()
model.add(LSTM(32, input_shape=(input_n, n_features),return_sequences=True,activation='relu'))
model.add(LSTM(32, input_shape=(n_features, input_n), return_sequences=True,activation='relu'))
model.add(Dense(output_n))
model.add(Activation("linear"))
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
model.summary()
在这里,我在中间层使用了“relu”,在输出层使用了线性激活。 这个方法正确吗,或者在中间层我也应该尝试使用tanh和sigmoid。 如果我不在中间层使用任何激活函数,会发生什么,LSTM会处理这个问题吗。
实际上,LSTM已经具有用于内部闸门计算的tanh和sigmoid激活功能。

警告:这是我的主观印象,大部分(但不完全)是由科学研究支持的

我可以验证ReLU及其衍生物(PReLU、Leaky ReLU等)在过去为我产生了最好的结果


如果您有能力的话,这些实现中的哪一个将为您产生最好的结果可能最好通过尝试来确定

ReLU对于深度学习模型来说是一种更好的激活函数。它将您的输入和输出标准化为[0,1]范围,并添加非线性

ReLU代表校正线性单位,是一种激活函数。从数学上讲,它被定义为y=max(0,x)。所以relu的输出不是[0,1]。我在这里寻找,是使用relu还是Sigmoid还是tanh。无论如何,也可以尝试Relu的变体。