Как мне сделать мою модель LSTM более чувствительной к изменениям в последовательности? - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть многозначная модель LSTM для мультиклассовой классификации. Для справки, это архитектура модели

    model.add(LSTM(147, input_shape=(1000, 147)))
    model.add(Dense(5, activation='softmax'))
    model.compile(loss='categorical_crossentropy',
                  optimizer='rmsprop',
                  metrics=['accuracy'])

. Модель обучена 5 типам последовательностей, способна эффективно классифицировать каждую последовательность, которую я передаю в модель с высокой точностью. Теперь моя новая цель - объединить эти последовательности вместе, чтобы сформировать новую последовательность.
Например,
Я обозначаю элементы из класса '1' с последовательностью:
[1,1,1,1,1,1,1]
Так что, когда я ввожу вышеуказанную последовательность в модель LSTM для прогнозирования она классифицирует последовательность как класс '1' с точностью 0,99

. И я обозначаю элементы из класса 2 с последовательностью:
[2,2,2]
Аналогично для вышеуказанной последовательности модель LSTM классифицирует последовательность как класс '2' с точностью 0,99

Теперь я объединяю эти последовательности вместе и подаю их в модель:
Новая последовательность: [1,1,1,1,1,1,1,2,2,2]
Однако модель, похоже, не чувствительна к наличию последовательности класса '2' и все же классифицирует последовательность как класс «1» с точностью 0,99.

Как мне сделать модель более "чувствительной", что означает, что я ожидаю, что модель LSTM все еще может предсказывать класс '1', но с падением точности, скажем, до 0,8? Или LSTM неспособен обнаружить включение последовательностей класса 2?

Спасибо.

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