我一直在閱讀有關(guān) Keras RNN 模型(LSTM 和 GRU)的文章,作者似乎主要關(guān)注語言數(shù)據(jù)或使用由先前時間步長組成的訓練實例的單變量時間序列。我的數(shù)據(jù)有點不同。我有20個變量,在10年中每年測量100,000個人,作為輸入數(shù)據(jù),將20年變量在11年級作為輸出數(shù)據(jù)。我想做的是預(yù)測第11年變量之一(而不是其他19個)的值。我的數(shù)據(jù)結(jié)構(gòu)為X.shape = [persons, years, variables] = [100000, 10, 20]和Y.shape = [persons, variable] = [100000, 1]。下面是我的 LSTM 模型的 Python 代碼。## LSTM model.# Define model.network_lstm = models.Sequential()network_lstm.add(layers.LSTM(128, activation = 'tanh', input_shape = (X.shape[1], X.shape[2])))network_lstm.add(layers.Dense(1, activation = None))# Compile model.network_lstm.compile(optimizer = 'adam', loss = 'mean_squared_error')# Fit model.history_lstm = network_lstm.fit(X, Y, epochs = 25, batch_size = 128)我有四個(相關(guān))問題,請:我是否為我擁有的數(shù)據(jù)結(jié)構(gòu)正確編碼了 Keras 模型?我從全連接網(wǎng)絡(luò)(使用扁平化數(shù)據(jù))和 LSTM、GRU 和 1D CNN 模型中獲得的性能幾乎相同,我不知道我是在 Keras 中犯了錯誤還是循環(huán)模型只是簡單的在這種情況下沒有幫助。我是否應(yīng)該將Y作為具有形狀的序列Y.shape = [persons, years] = [100000, 11],而不是將變量包括在X中,然后變量將具有形狀X.shape = [persons, years, variables] = [100000, 10, 19]?如果是這樣,如何獲取RNN以輸出預(yù)測的序列?當我使用時return_sequences = True,Keras返回錯誤。這是用我的數(shù)據(jù)進行預(yù)測的最佳方法嗎?Keras RNN模型甚至其他模型中是否有更好的選項選擇?如何模擬類似于我現(xiàn)有數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù),以使RNN模型優(yōu)于完全連接的網(wǎng)絡(luò)?
添加回答
舉報
0/150
提交
取消