Я использую lstm для обучения модели, чтобы предсказать цену акций, я использовал режим много к одному, как этот:
O
|
O O O O
| | | |
O O O O
, и я использовал keras framework для построения сети, но, похоже,NN не может быть легко создан ...
вот мой исходный код lstm NN на python:
def lstm_rls(num_in,num_out=1, batch_size=128, step=1,dim=1):
model = Sequential()
model.add(LSTM(
1024,
input_shape=(step, num_in),
return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(
512,
return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(1))
model.add(Activation('linear'))
model.compile(loss='mse', optimizer='rmsprop')
return model
Я обучил около 512 эпох, но потеря всегда составляет около7
Эпоха 1/512
3968/3968 [====================================] - 4s 978us / step - потеря: 48.6274
Epoch 2/512
3968/3968 [==============================] - 1 с 220 мс / шаг - потеря: 11,1913
Эпоха 3/512
3968/3968 [==============================] - 1с 221ус / шаг - потеря: 6,8059
Эпоха 4/512
3968/3968 [==============================] - 1 с 220 мс / шаг - потеря: 6,7905
Эпоха 5/512
3968/3968 [=============================] - 1 с 221 мс / шаг- потеря: 6,8151
Эпоха 6/512
3968/3968 [==============================] - 1с219us / step - потеря: 6.7907
Epoch 7/512
3968/3968 [=============================] - 1 с 220 мс / шаг - потеря: 6,8060
Эпоха 8/512
3968/3968 [==============================] - 1 с 221 мс / шаг - потеря: 6,7824
... ... ...
Эпоха 509/512
3968/3968 [=============================] -1 с 222 долл. / Шаг - потеря: 6,7807
Эпоха 510/512
3968/3968 [====================================] - 1 с 223 мкс / шаг - потеря: 6,8199
Эпоха 511/512
3968/3968 [==============================] - 1 с 222 мс / шаг - потеря: 6,7726
Эпоха 512/512
3968/3968 [==============================] - 1 с 222 мс / шаг - потеря: 6,7715