Категориальная кросс-энтропия - это функция потерь, которая используется в задачах многоклассовой классификации. Это задачи, в которых пример может принадлежать к одной из многих возможных категорий, и модель должна решить, к какой именно.
Где используется категориальная кросс-энтропия?
Категориальная кросс-энтропия широко используется во многих приложениях машинного обучения, включая:
- Задачи классификации изображений, где изображение должно быть классифицировано в одну из многих категорий.
- Задачи обработки естественного языка, такие как перевод языка и анализ тональности, где слово или фраза должны быть классифицированы в одну из многих категорий.
- Любой другой тип задачи машинного обучения, которая включает классификацию примера в одну из многих возможных категорий.
Преимущества категориальной кросс-энтропии
- Вероятностная интерпретация: Категориальная кросс-энтропия предоставляет вероятностную интерпретацию. Она позволяет модели выводить вероятности каждого класса, что может быть полезно для понимания уверенности модели в своих решениях.
- Стабильность: При использовании с функцией активации softmax категориальная кросс-энтропия может быть довольно стабильной, поскольку она менее вероятно достигнет крайних значений.
- Производительность: Она часто приводит к лучшей производительности в задачах классификации по сравнению с другими функциями потерь, такими как среднеквадратичная ошибка.
Недостатки категориальной кросс-энтропии
- Числовая стабильность: Несмотря на общую стабильность, логарифмические операции в категориальной кросс-энтропии иногда могут приводить к числовой нестабильности.
- Требуется кодирование в one-hot: Фактические метки должны быть закодированы в one-hot. Это может увеличить использование памяти.
- Чувствительность к несбалансированным данным: Категориальная кросс-энтропия может быть чувствительной к несбалансированным наборам данных, где количество образцов в каждом классе не равно.
Формула потерь категориальной кросс-энтропии
Формула потерь категориальной кросс-энтропии:
где:
- y - это истинное распределение вероятностей (обычно в виде векторов, закодированных в one-hot)
- y^ - это предсказанное распределение вероятностей (выход softmax)
Эта формула вычисляет сумму произведения истинной метки и логарифма предсказанной вероятности для каждого класса, а затем отрицает результат. Потери высоки, когда предсказания модели уверенны, но неверны, и низки, когда предсказания модели соответствуют истинным меткам. Это побуждает модель делать точные и уверенные предсказания.
Ниже вы можете увидеть Python код:
Весь код, и даже больше, в моем телеграм канале.