Запрос о функциях потерь для моделей LSTM (двоичная классификация)

Я работаю над созданием модели LSTM для двоичной классификации движений цен.

Мои обучающие данные - это данные, которые я смоделировал, это фрейм данных ценовых движений 2000 строк * 3780 столбцов. У меня есть отдельный файл меток, в котором движение цены классифицируется как 1 или 2 (из-за памяти).

Из того, что я прочитал, похоже, что для двоичной классификации наиболее подходят две функции потерь:

  1. Двоичная кросс-энтропия
  2. Потеря шарнира

Я реализовал две отдельные модели LSTM в Google Colab, которые работают должным образом.

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

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

Выходной сигнал потери шарнира:

Результат обучения:

  1. Потеря начинается с 0,3, затем увеличивается до 0,20 и остается практически неизменной в течение оставшихся 98 эпох.
  2. MSE незначительно снижается в разные эпохи с 2,8 до 1,68 в конце. Средняя MSE = 1,72.
  3. Точность составляет 0,00 для каждой эпохи (что я не понимаю).

Результат проверки:

  1. Потеря валидации начинается с 0,0117 и к концу достигает 9,8264e-06.
  2. MSE проверки начинается с 2,4 и заканчивается на 1,54. Среднее значение MSE проверки = 1,31.
  3. Точность проверки составляет 0,00 для каждой эпохи (что снова я не понимаю).

Выход двоичной кросс-энтропии:

Результат обучения:

  1. Убыток начинается с 8,3095, затем идет до 3,83 и остается практически неизменным в течение оставшихся 97 эпох.
  2. MSE незначительно снижается в разные эпохи с 2,8 до 1,68 в конце. Средняя MSE = 1,69.
  3. Точность начинается с 0,00 и увеличивается примерно до 0,8 к концу.

Результат проверки:

  1. Потеря валидации начинается с -0,82 и к концу достигает -,89.
  2. MSE проверки начинается с 1,56 и заканчивается на 1,53. Среднее значение MSE проверки = 1,30.
  3. Точность проверки начинается с 0,00 и к концу увеличивается примерно до 0,997.

Итак, теперь у меня вопрос:

Почему точность модели SHL 0.00? В моей модели есть ошибка?

Мой код сохранен здесь:https://nbviewer.jupyter.org/github/Ianfm94/Financial_Analysis/blob/master/LSTM_Workings/LSTM_Model.ipynb

Данные обучения * и данные меток сохраняются в следующем месте:https://github.com/Ianfm94/Financial_Analysis/tree/master/LSTM_Workings

* Данные обучения здесь разделены на два отдельных файла из-за ограничения Github размера файла до 25 МБ.

Любая помощь будет принята с благодарностью.

Спасибо.

0 ответов

Другие вопросы по тегам