Я тренирую глубокую модель, и функция потерь, похоже, не уменьшается.Я хотел бы знать, может ли кто-нибудь из вас взглянуть на мою архитектуру и сказать, что мне не хватает.Модель, похоже, ничего не изучает.Большое спасибо!
Я уже перетасовал данные, сделал модель шире и глубже.Это приводит только к переоснащению, архитектура, которой я делюсь, не переопределяет, но функция потерь не уменьшается.
Набор данных состоит из размера обучающих данных (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%, возможно.
Большое спасибо!