我的数据采用哪种 lstm 体系结构,我应该执行哪些数据处理



我正在尝试构建 LSTM 架构来预测疾病率(0%-100%(。我的输入是一个维度为 4760x10 的数组(每个城镇每个年龄的病人数量,咨询次数......我的输出或 y 是疾病率。

我是机器学习的新手,我尝试了几个技巧,例如更改优化器、层节点号和 dropout 值,但我的模型没有收敛(最低 mse 为 =616.245(。我还尝试使用"MinMaxScaler"扩展我的数据。所以你们能帮我一些建议来改变架构或一些数据处理来帮助模型收敛吗?

这是 LSTM 模型,它给了我 MSE=616.245

def build_modelz4():
 model = Sequential()
 model.add(LSTM(10, input_shape=(1, 10), return_sequences=True))
 model.add(LSTM(84, return_sequences= True))  
 model.add(LSTM(84, return_sequences=False))  
 model.add(Dense(1,activation='linear'))
 model.compile(loss='mean_squared_error', optimizer='adam', metrics=['mean_squared_error'] )
 model.summary()
 return model
lstmz4 = build_modelz4()
checkpointer = ModelCheckpoint(filepath="weightslstmz4.hdf5", verbose=1, save_best_only=True)
newsclstmhis = lstmz4.fit(trainX,trainY,epochs=1000,batch_size=221, validation_data=(testX, testY) ,verbose=2, shuffle=False, callbacks=[checkpointer])

请注意,当我使用 ann 模型时,它收敛于 mse=0.8。所以使用 lstm 它应该收敛并提前感谢您

> 4760 是 LSTM 的极少数尺寸。另外,它似乎是一个非常简单的分类模型,尝试使用更简单的算法,如svm进行该过程,但如果您坚持使用深度学习,请使用具有密集层的顺序模型,而不是比这个层多的层,这肯定会给你更好的结果。

相关内容