Почему такая большая разница в количестве между ошибкой обучения и ошибкой валидации? - PullRequest
0 голосов
/ 16 июня 2019

Вопрос

  1. Почему такая большая разница между моими 'Потери в поезде' и 'Потери при проверке' , как показано на рисунке ниже?Является ли это сигналом того, что мои коды неверны и моя обученная сеть также неверна?

enter image description here

Вот некоторые из моих кодов:

DATA_SPLIT_PCT = 0.2

timesteps =  5
n_features =  20

epochs = 100
batch = 32
lr = 0.0001

lstm_autoencoder = Sequential([
# Encoder
LSTM(8, activation='relu', input_shape=(timesteps, n_features), return_sequences=True),
LSTM(4, activation='relu', return_sequences=False),
RepeatVector(timesteps),

# Decoder
LSTM(4, activation='relu', return_sequences=True),
LSTM(8, activation='relu', return_sequences=True)
TimeDistributed(Dense(n_features)),
])

adam = optimizers.Adam(lr)
lstm_autoencoder.compile(loss='mse', optimizer=adam)

for stock in stock_list:  # 500 stocks in stock_list
    lstm_autoencoder_history = lstm_autoencoder.fit(X_train_dict[ticker], X_train_dict[ticker], 
                                                epochs=epochs, 
                                                batch_size=batch, 
                                                validation_data=(X_valid_dict[ticker], X_valid_dict[ticker]),
                                                verbose=False).history

plt.plot(lstm_autoencoder_history['loss'], linewidth=2, label='Train')
plt.plot(lstm_autoencoder_history['val_loss'], linewidth=2, label='Valid')
plt.show()

Я использовал цикл for для подачи своих данных в lstm_autoencoder сеть.В переменной словаря stock_list есть 500 названий акций, таких как «AAPL».

Я подготовил lstm_autoencoder_history['loss'] и lstm_autoencoder_history['val_loss'], и это странно, потому что обычно потери при проверке превышают потери при поезде.

Мне любопытночтобы знать, почему мой график имеет меньшую сумму проверки.Для вашей информации я использовал Keras в качестве основы глубокого обучения.И поскольку я использовал Keras, я думал, что эта библиотека будет обрабатывать различную пропорцию размера обучающего набора и размера проверочного набора путем усреднения ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...