Я работаю с проблемой мультиклассовой классификации, используя последовательные модели Keras. В моем наборе данных выходной класс имеет одно из следующих значений: (1, 2, 3, 4, 5)
.
Да, я уже пытался выполнить горячее кодирование вывода и использовать categorical_crossentropy
в качестве функции потерь и softmax
в выходном слое.
Однако я не думаю, что softmax и категориальная кросс-энтропия - правильный выбор в моем случае. В моем наборе данных выходные классы имеют определенную «дискретность» (или масштаб). Класс 1
- это «худший», а класс 5
- «лучший».
Скажем, если на конкретном входе c модель прогнозирует 2
, а истинный класс равен 1
, это гораздо лучший прогноз, когда модель прогнозирует класс 5
, а истинный класс равен 1
.
Мне бы хотелось, чтобы функция потерь учитывала эти "мелкие ошибки" и не учитывала все ошибки точно так же.
Подводя итог, мне интересно, какие у меня есть варианты с точки зрения функции потерь и активации выходного слоя для данной задачи.