Запрос о функциях потерь для моделей LSTM (двоичная классификация)
Я работаю над созданием модели LSTM для двоичной классификации движений цен.
Мои обучающие данные - это данные, которые я смоделировал, это фрейм данных ценовых движений 2000 строк * 3780 столбцов. У меня есть отдельный файл меток, в котором движение цены классифицируется как 1 или 2 (из-за памяти).
Из того, что я прочитал, похоже, что для двоичной классификации наиболее подходят две функции потерь:
- Двоичная кросс-энтропия
- Потеря шарнира
Я реализовал две отдельные модели LSTM в Google Colab, которые работают должным образом.
У меня один и тот же код для обеих моделей, только функция потерь изменена с потери квадратного шарнира в первом случае на бинарную перекрестную энтропию во втором.
Моя проблема заключается в том, чтобы решить, какая модель лучше, поскольку выходные данные модели дают противоречивые результаты.
Выходной сигнал потери шарнира:
Результат обучения:
- Потеря начинается с 0,3, затем увеличивается до 0,20 и остается практически неизменной в течение оставшихся 98 эпох.
- MSE незначительно снижается в разные эпохи с 2,8 до 1,68 в конце. Средняя MSE = 1,72.
- Точность составляет 0,00 для каждой эпохи (что я не понимаю).
Результат проверки:
- Потеря валидации начинается с 0,0117 и к концу достигает 9,8264e-06.
- MSE проверки начинается с 2,4 и заканчивается на 1,54. Среднее значение MSE проверки = 1,31.
- Точность проверки составляет 0,00 для каждой эпохи (что снова я не понимаю).
Выход двоичной кросс-энтропии:
Результат обучения:
- Убыток начинается с 8,3095, затем идет до 3,83 и остается практически неизменным в течение оставшихся 97 эпох.
- MSE незначительно снижается в разные эпохи с 2,8 до 1,68 в конце. Средняя MSE = 1,69.
- Точность начинается с 0,00 и увеличивается примерно до 0,8 к концу.
Результат проверки:
- Потеря валидации начинается с -0,82 и к концу достигает -,89.
- MSE проверки начинается с 1,56 и заканчивается на 1,53. Среднее значение MSE проверки = 1,30.
- Точность проверки начинается с 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 МБ.
Любая помощь будет принята с благодарностью.
Спасибо.