Вопрос или проблема
Мне интересно, какая активационная функция для многоклассовой классификации дает истинную вероятность.
Согласно:
https://ai.stackexchange.com/questions/37889/are-softmax-outputs-of-classifiers-true-probabilities
похоже, что выходная вероятность (для softmax) не представляет собой истинную вероятность.
Так ли это, когда мы используем функцию sigmoid?
Существуют ли вероятности sigmoid (для каждого класса) более надежные, чем softmax?
Ответ или решение
Вопрос о том, какая функция активации — softmax или sigmoid — дает истинные вероятности для многоклассовой классификации, требует внимательного рассмотрения как теоретических аспектов, так и практического применения этих функций.
1. Определение функций активации
Softmax: Эта функция применяется к выходам модели для многоклассовой классификации. Softmax принимает вектор значений (логитов) и преобразует их в вероятности, которые в сумме равны 1. Каждый элемент результирующего вектора интерпретируется как вероятность принадлежности к соответствующему классу. Формула для вычисления softmax выглядит следующим образом:
[
P(y = i | \mathbf{x}) = \frac{\exp(zi)}{\sum{j=1}^{K} \exp(z_j)}
]
где ( z_i ) — это логиты, соответствующие классу ( i ), а ( K ) — общее количество классов.
Sigmoid: Эта функция чаще всего используется в задачах бинарной классификации, но также может применяться в многоклассовых задачах при наличии одного выхода для каждого класса. Sigmoid применяется к каждому логиту независимо, что приводит к получению вероятности для каждого класса, не нормализуя их:
[
P(y = 1 | \mathbf{x}) = \frac{1}{1 + \exp(-z_i)}
]
В отличие от softmax, вероятности, полученные с помощью sigmoid, не ограничены суммой 1, что может вызывать трудности в интерпретации как «истинных» вероятностей.
2. Оценка истинных вероятностей
Softmax и истинные вероятности: Несмотря на то, что выходы softmax нормализованы, они могут не всегда отражать «истинные» вероятности в рамках конкретной задачи. Это связано с тем, что softmax предполагает, что классы являются взаимно исключающими. В реальных сценариях часто возникают ситуации, когда это предположение не оправдано, и выходы модели могут не соответствовать истинным вероятностям.
Sigmoid и истинные вероятности: При использовании sigmoid, когда классы не являются взаимно исключающими, каждая вероятность интерпретируется независимо. Это может быть более подходящим для некоторых задач, однако отсутствие нормализации делает такие вероятности менее надежными для принятия решения о классе. Кроме того, вероятность, производимая sigmoid, может вызывать проблемы при интерпретации, когда группы классов имеют высокую корреляцию.
3. Сравнительный анализ
Достоинства softmax:
- Гарантирует, что выходы нормализованы и суммируются до 1.
- Подходит для задач, где классы являются взаимно исключающими.
Достоинства sigmoid:
- Гибкость в интерпретации вероятностей для непересекающихся классов.
- Может быть более надежным в ситуациях, где классы могут одновременно присутствовать.
4. Заключение
Выбор между softmax и sigmoid должен зависеть от специфики задачи. Если у вас есть строгая многоклассовая классификация, где действительно можно выбрать только один класс, softmax будет лучшим выбором, но учитывайте возможность искажения истинных вероятностей. Если же задача допускает несколько активных классов одновременно, рекомендуется использовать sigmoid для каждой категории отдельно, с аккуратным обращением к интерпретации выходов.
В целом, ни одна из функций не может гарантировать абсолютную истинность вероятностей. На практике важно учитывать контекст задачи и проводить тщательную валидацию моделей, направленную на проверку адекватности прогнозируемых вероятностей.