Какую функцию потерь Keras использовать для тройной классификации? - PullRequest
0 голосов
/ 01 ноября 2018

Мои входные выборки LSTM состоят из действительных чисел в диапазоне [-1, 1], а цели (категории) - -1, 0 и 1.

Я выбрал sparse_categorical_crossentropy для функции потерь, но, похоже, он не поддерживает отрицательные числа - он говорит: «InvalidArgumentError: Получено значение метки -1, которое выходит за допустимый диапазон [0, 1)», когда я начать тренировку.

Какую функцию потерь я должен использовать вместо этого для этой задачи?

Я также не могу понять, почему в нем говорится [0, 1), что означает число, равное или большее нуля, но меньшее 1 AFAIK, но то, что я прочитал о sparse_categorical_crossentropy, говорит, что оно предназначено для поддерживать любое целое число.

1 Ответ

0 голосов
/ 01 ноября 2018

Ваши цели должны быть целыми числами от 0 до num_classes - 1, они не могут быть отрицательными числами, как вы делаете классификацию. Это своего рода стандарт для многоклассовой классификации, и вы должны следовать ему.

Также убедитесь, что ваш последний слой выводит 3 числа с активацией softmax, которая будет представлять распределение по классам.

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