Какой тип оптимизации следует выполнить в моей модели LSTM классификации текста с несколькими метками с помощью Keras?

#keras #optimization #deep-learning #nlp #lstm

Вопрос:

Я использую компьютер с Windows 10. Библиотеки: Keras с встраиванием Tensorflow 2.0: Перчатка(100 измерений).

Я пытаюсь реализовать архитектуру LSTM для классификации текста с несколькими метками.

Я использую различные типы тонкой настройки для достижения лучших результатов, но пока безуспешно.

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

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

Для метрик я использую в основном ROC и F1.

Я также последовал предложению участника StackOverflow, который сказал удалить некоторые из моих примеров, чтобы я мог сбалансировать свой набор данных, но если я это сделаю, у меня будет очень мало примеров.

  1. Что бы вы мне предложили?
  2. Если кто-то может предоставить код, основанный на моей реализации для стратифицированного разделения, я был бы признателен, потому что я проверил все онлайн-ресурсы, но не могу его реализовать.
  3. Любые советы, предложения будут действительно полезны.

Графики Показателей

Форма набора данных Форма встраивания форма разделения обучающего теста

Распределение меток набора данных

Моя реализация LSTM

Комментарии:

1. Вы пробовали присваивать веса своим образцам?

2. Не могли бы вы подробнее остановиться на этом? Я не уверен, что понимаю, как я могу этого достичь?

3. Проверьте эту статью: tensorflow.org/tutorials/structured_data/imbalanced_data

4. Я понимаю основную идею, но, похоже, не могу реализовать ее для классификации с несколькими метками из 6 функций.