DamiRocK

Softmax для logits (2,1,0): вероятности трёх классов

Вычитаем максимальный logit для численной устойчивости и получаем вероятности ≈0,6652;0,2447;0,0900. Добавление общей константы не меняет softmax.

Задача

Для трёх классов logits z=(2,1,0). Найдите softmax.

Формула

p_k=e^{z_k}/Σ_j e^{z_j}.

Устойчивая запись

Вычтем максимум 2: новые logits (0,−1,−2). Это не меняет вероятности, потому что общий множитель e^{-2} сокращается.

Знаменатель 1+e^{-1}+e^{-2}≈1,503215. Поэтому

p≈(0,665241;0,244728;0,090031).

Проверка

Вероятности положительны и суммируются в 1. Разность logits определяет отношение вероятностей: p₁/p₂=e^{2−1}=e.

Инвариантность

Softmax(z+c1)=softmax(z). Поэтому абсолютный общий уровень logits не идентифицируется из вероятностей; важны их различия.

При очень больших положительных logits прямое вычисление e^z может переполнить float. Вычитание максимума — стандартный численно устойчивый приём.

Редакционная практика по вероятностной многоклассовой классификации в тематике mlearn_pro · CC BY 4.0.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.