Найти тему

Категориальная кросс-энтропия (Categorical Cross-Entropy): раскрывая ее потенциал в задачах многоклассовой классификации

Оглавление

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

Где используется категориальная кросс-энтропия?

Категориальная кросс-энтропия широко используется во многих приложениях машинного обучения, включая:

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

Преимущества категориальной кросс-энтропии

  • Вероятностная интерпретация: Категориальная кросс-энтропия предоставляет вероятностную интерпретацию. Она позволяет модели выводить вероятности каждого класса, что может быть полезно для понимания уверенности модели в своих решениях.
  • Стабильность: При использовании с функцией активации softmax категориальная кросс-энтропия может быть довольно стабильной, поскольку она менее вероятно достигнет крайних значений.
  • Производительность: Она часто приводит к лучшей производительности в задачах классификации по сравнению с другими функциями потерь, такими как среднеквадратичная ошибка.

Недостатки категориальной кросс-энтропии

  • Числовая стабильность: Несмотря на общую стабильность, логарифмические операции в категориальной кросс-энтропии иногда могут приводить к числовой нестабильности.
  • Требуется кодирование в one-hot: Фактические метки должны быть закодированы в one-hot. Это может увеличить использование памяти.
  • Чувствительность к несбалансированным данным: Категориальная кросс-энтропия может быть чувствительной к несбалансированным наборам данных, где количество образцов в каждом классе не равно.

Формула потерь категориальной кросс-энтропии

Формула потерь категориальной кросс-энтропии:

-2

где:

  • y - это истинное распределение вероятностей (обычно в виде векторов, закодированных в one-hot)
  • y^ - это предсказанное распределение вероятностей (выход softmax)

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

Ниже вы можете увидеть Python код:

метод реализованный вручную
метод реализованный вручную
с использованием PyTorch
с использованием PyTorch

Весь код, и даже больше, в моем телеграм канале.