Нейронная сеть бинарной классификации: прогнозы потерь наночастиц и NaN - PullRequest
0 голосов
/ 24 сентября 2019

Эта модель пытается предсказать два состояния на основе массива с 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.Сигмовидная кишка остается сигмовидной!

1 Ответ

0 голосов
/ 25 сентября 2019

Проблема была решена с изменением функций активации на «tanh».Кажется, что отсев также должен быть 0,2 вместо 0,2, но это не является причиной проблемы.

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