Эта модель пытается предсказать два состояния на основе массива с 400 числами.Во время первого тренировочного раунда модель начинает с потери на первых + - 200 образцах, а затем переходит в потерю Нана.Точность остается около 50%, и когда я печатаю прогнозы для тестового набора, он только предсказывает NaN.Моя X_train
имеет форму (1934, 400, 1)
, а моя y_train
- (1934,)
.Я уже пробовал проверять наличие NaN в наборе данных, но их не было.
Моя модель выглядит следующим образом:
model = Sequential()
model.add(LSTM(128, input_shape=(400,1), activation='relu', return_sequences=True))
model.add(Dropout(0,2))
model.add(LSTM(128, activation='relu'))
model.add(Dropout(0,2))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0,2))
model.add(Dense(1, activation='sigmoid'))
opt = tf.keras.optimizers.Adam(lr=0.01)
# mean_squared_error = mse
model.compile(loss='binary_crossentropy',
optimizer=opt,
metrics=['accuracy'])
history = model.fit(X_train, y_train, epochs=3, validation_split = 0.1, shuffle=True, batch_size = 64)
edit: Решено путем изменения функции активации на tanh.Сигмовидная кишка остается сигмовидной!