Softmax-Funktion

In der Mathematik ist die sogenannte Softmax-Funktion oder normalisierte Exponentialfunktion[1]:198 eine Verallgemeinerung der logistischen Funktion, die einen K {\displaystyle K} -dimensionalen Vektor z {\displaystyle \mathbf {z} } mit reellen Komponenten in einen K {\displaystyle K} -dimensionalen Vektor σ ( z ) {\displaystyle \sigma (\mathbf {z} )} ebenfalls als Vektor reeller Komponenten in den Wertebereich ( 0 , 1 ) {\displaystyle (0,1)} transformiert, wobei sich die Komponenten zu 1 {\displaystyle 1} aufsummieren. Der Wert 1 {\displaystyle 1} kommt nur im Sonderfall K = 1 {\displaystyle K=1} vor. Die Funktion ist gegeben durch:

σ : R K { z R K z i 0 , i = 1 K z i = 1 } {\displaystyle \sigma :\mathbb {R} ^{K}\to \left\{z\in \mathbb {R} ^{K}\mid z_{i}\geq 0,\sum _{i=1}^{K}z_{i}=1\right\}}
σ ( z ) j = e z j k = 1 K e z k {\displaystyle \sigma (\mathbf {z} )_{j}={\frac {e^{z_{j}}}{\sum _{k=1}^{K}e^{z_{k}}}}}    für j = 1, …, K.

In der Wahrscheinlichkeitstheorie kann die Ausgabe der Softmax-Funktion genutzt werden, um eine kategoriale Verteilung – also eine Wahrscheinlichkeitsverteilung über K {\displaystyle K} unterschiedliche mögliche Ereignisse – darzustellen. Tatsächlich entspricht dies der gradient-log-Normalisierung der kategorialen Wahrscheinlichkeitsverteilung. Somit ist die Softmax-Funktion der Gradient der LogSumExp-Funktion.

Die Softmax-Funktion wird in verschiedenen Methoden der Multiklassen-Klassifikation verwendet, wie bspw. bei der multinomialen logistischen Regression (auch bekannt als Softmax-Regression)[1]:206–209[2], der multiklassen-bezogenen linearen Diskriminantenanalyse, bei naiven Bayes-Klassifikatoren und künstlichen neuronalen Netzen[3]. Insbesondere in der multinomialen logistischen Regression sowie der linearen Diskriminantenanalyse entspricht die Eingabe der Funktion dem Ergebnis von K {\displaystyle K} distinkten linearen Funktionen, und die ermittelte Wahrscheinlichkeit für die j {\displaystyle j} -te Klasse gegeben ein Stichprobenvektor x {\displaystyle x} und einem Gewichtsvektor w {\displaystyle w} entspricht:

P ( y = j x ) = e x T w j k = 1 K e x T w k {\displaystyle P(y=j\mid \mathbf {x} )={\frac {e^{\mathbf {x} ^{\mathsf {T}}\mathbf {w} _{j}}}{\sum _{k=1}^{K}e^{\mathbf {x} ^{\mathsf {T}}\mathbf {w} _{k}}}}}

Dies kann angesehen werden als Komposition von K {\displaystyle K} linearen Funktionen x x T w 1 , , x x T w K {\displaystyle \mathbf {x} \mapsto \mathbf {x} ^{\mathsf {T}}\mathbf {w} _{1},\ldots ,\mathbf {x} \mapsto \mathbf {x} ^{\mathsf {T}}\mathbf {w} _{K}} und der Softmax-Funktion (wobei x T w {\displaystyle \mathbf {x} ^{\mathsf {T}}\mathbf {w} } das innere Produkt von x {\displaystyle \mathbf {x} } und w {\displaystyle \mathbf {w} } bezeichnet). Die Ausführung ist äquivalent zur Anwendung eines linearen Operators definiert durch w {\displaystyle \mathbf {w} } bei Vektoren x {\displaystyle \mathbf {x} } , so dass dadurch die originale, möglicherweise hochdimensionale Eingabe in Vektoren im K {\displaystyle K} -dimensionalen Raum R K {\displaystyle \mathbb {R} ^{K}} transformiert wird.

Zusammenhang zur Logit-Funktion

Bei der binären logistischen Regression benötigt man zur vollständigen Beschreibung lediglich die Wahrscheinlichkeit einer Klasse: P ( Y = 1 ) = 1 P ( Y = 0 ) {\displaystyle P(Y=1)=1-P(Y=0)} . Für zwei Klassen ist die Softmax-Funktion:

σ ( z ) j = e z j e z 1 + e z 2 {\displaystyle \sigma (\mathbf {z} )_{j}={\frac {e^{z_{j}}}{e^{z_{1}}+e^{z_{2}}}}}    für j = 1, 2 und σ ( z ) 2 = 1 σ ( z ) 1 {\displaystyle \sigma (\mathbf {z} )_{2}=1-\sigma (\mathbf {z} )_{1}} .

Da die z j {\displaystyle z_{j}} um eine beliebige Konstante verschoben werden können ohne das Ergebnis zu ändern, gilt:

σ ( z ) 1 = e z 1 e z 1 + e z 2 = e z 1 e z 1 + e z 2 e z 2 e z 2 1 = e z 1 e z 2 e z 1 e z 2 + 1 = e z ~ e z ~ + 1 = logit 1 ( z ~ ) , {\displaystyle \sigma (\mathbf {z} )_{1}={\frac {e^{z_{1}}}{e^{z_{1}}+e^{z_{2}}}}={\frac {e^{z_{1}}}{e^{z_{1}}+e^{z_{2}}}}\underbrace {\frac {e^{-z_{2}}}{e^{-z_{2}}}} _{1}={\frac {e^{z_{1}}e^{-z_{2}}}{e^{z_{1}}e^{-z_{2}}+1}}={\frac {e^{\tilde {z}}}{e^{\tilde {z}}+1}}=\operatorname {logit} ^{-1}({\tilde {z}}),}

mit z ~ = z 1 z 2 {\displaystyle {\tilde {z}}=z_{1}-z_{2}} und der Inversen der Logit-Funktion.

Alternativen

Softmax erzeugt Wahrscheinlichkeitsvorhersagen welche über ihrem Träger dicht besetzt sind. Andere Funktionen wie sparsemax oder α {\displaystyle \alpha } -entmax können benutzt werden, wenn dünn besetzte Wahrscheinlichkeitsvorhersagen erzeugt werden sollen[4].

Einzelnachweise

  1. a b Christopher M. Bishop: Pattern Recognition and Machine Learning. Springer, 2006. 
  2. Computer Science Department: Unsupervised Feature Learning and Deep Learning Tutorial. Stanford University, abgerufen am 30. Januar 2019 (englisch). 
  3. Sophia Tamm: Einführung in neuronale Netze. In: Seminar Maschinelles Lernen - Dr. Zoran Nikolić. Universität Köln, 30. Mai 2019, abgerufen am 24. Mai 2022. 
  4. Speeding Up Entmax, Maxat Tezekbayev, Vassilina Nikoulina, Matthias Gallé, Zhenisbek Assylbekov https://arxiv.org/abs/2111.06832v3