Функция потерь не уменьшается, а точность дает и выдает 50% на двоичном softmax - PullRequest
0 голосов
/ 12 апреля 2019

Я тренирую глубокую модель, и функция потерь, похоже, не уменьшается.Я хотел бы знать, может ли кто-нибудь из вас взглянуть на мою архитектуру и сказать, что мне не хватает.Модель, похоже, ничего не изучает.Большое спасибо!

Я уже перетасовал данные, сделал модель шире и глубже.Это приводит только к переоснащению, архитектура, которой я делюсь, не переопределяет, но функция потерь не уменьшается.

Набор данных состоит из размера обучающих данных (623,25), преобразованного в (623,5,5), и тестирования (151,25) в (151,5,5).

метки обучения должны быть (623,2) и (151,2) после одного горячего кодирования.Модель представляет собой двоичный классификатор softmax.

network = models.Sequential()
network.add(Conv1D(filters=25, kernel_size=2, activation='relu',input_shape=(25,1)))
network.add(layers.Dense(100, activation='relu', input_shape=(25,)))
network.add(Dropout(0.8))
network.add(layers.Dense(30, activation='relu', input_shape=(25,)))
network.add(Dropout(0.5))
network.add(layers.Dense(15, activation='relu', input_shape=(25,)))
network.add(Conv1D(filters=25, kernel_size=2, activation='relu',input_shape=(25,)))
network.add(MaxPooling1D())
network.add(Flatten())
network.add(layers.Dense(2, activation='softmax'))
network.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])
history=network.fit(train_x, train_y,validation_split=0.25, epochs=20000, batch_size=12,shuffle=True)
test_loss, test_acc = network.evaluate(test_x, test_y)

Я ожидаю, что точность будет не менее 85%, возможно.

Большое спасибо!

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