почему я получил 2 разных убытка для sparse_categorical_crossentropy и category_crossentropy? - PullRequest
0 голосов
/ 13 июля 2020

Я обучил модель для мультиклассовой классификации. Было три класса. В первом подходе я обучил модель, преобразовав классы в горячие векторы и обучив модель с функцией потерь, категориальной кроссэнтропией, я добился потери 0,07 за 1000 эпох. Но когда я использовал тот же подход, но на этот раз я не преобразовал классы в горячие векторы и использовал sparse_categorical_crossentropy в качестве функции потерь, на этот раз я добился потери 0,05 за 1000 эпох .. Означает ли это, что sparse_categorical_crossentropy является лучше, чемategorical_crossentropy?

Спасибо!

1 Ответ

0 голосов
/ 13 июля 2020

Невозможно сравнивать две функции потерь с точки зрения потерь, так как само определение потерь изменилось. вы можете сравнить производительность на одном и том же наборе тестовых данных.

Обычно используется sparse_categorical_crossentropy, когда ваши классы являются взаимоисключающими (например, когда каждый образец принадлежит точно одному классу), и categorical_crossentropy, когда один образец может иметь несколько классы или метки являются мягкими вероятностями (например, [0,5, 0,3, 0,2]).

У вас разные потери, потому что представление меток меняется, на самом деле в keras sparse_categorical_crossentropy определяется как категориальный crossentropy с целые числа

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