Fonction softmax
En mathématiques, la fonction softmax, aussi appelée fonction softargmax ou fonction exponentielle normalisée, est une généralisation de la fonction logistique. Elle convertit un vecteur de K nombres réels en une distribution de probabilités sur K choix. Plus précisément, un vecteur
z
=
(
z
1
,
…
,
z
K
)
{\displaystyle \mathbf {z} =\left(z_{1},\dots ,z_{K}\right)}
est transformé un vecteur
σ
(
z
)
{\displaystyle \sigma \left(\mathbf {z} \right)}
de K nombres réels strictement positifs et de somme 1. La fonction est définie par :
σ
(
z
)
j
=
e
z
j
∑
k
=
1
K
e
z
k
{\displaystyle \sigma (\mathbf {z} )_{j}={\frac {\mathrm {e} ^{z_{j}}}{\sum _{k=1}^{K}\mathrm {e} ^{z_{k}}}}}
pour tout
j
∈
{
1
,
…
,
K
}
{\displaystyle j\in \left\{1,\ldots ,K\right\}}
,
c'est-à-dire que la composante j du vecteur
σ
(
z
)
{\displaystyle \sigma (\mathbf {z} )}
est égale à l'exponentielle de la composante j du vecteur z divisée par la somme des exponentielles de toutes les composantes de z.
En théorie des probabilités, la sortie de la fonction softmax peut être utilisée pour représenter une loi catégorielle – c’est-à-dire une loi de probabilité sur K différents résultats possibles. La fonction softmax est également connue pour être utilisée dans diverses méthodes de classification en classes multiples, par exemple dans le cas de réseaux de neurones artificiels. Cette fonction est parfois considérée pour une version régulière de la fonction argmax : si une composante
z
j
{\displaystyle z_{j}}
est strictement plus grande que les autres composantes
z
k
{\displaystyle z_{k}}
, alors
σ
(
z
)
j
{\displaystyle \sigma (\mathbf {z} )_{j}}
vaut presque 1 et
σ
(
z
)
k
{\displaystyle \sigma (\mathbf {z} )_{k}}
est quasiment nulle pour tout
k
≠
j
{\displaystyle k\neq j}
.