Funzione softmax

In matematica, una funzione softmax, o funzione esponenziale normalizzata,[1] è una generalizzazione di una funzione logistica che mappa un vettore K {\displaystyle K} -dimensionale z {\displaystyle \mathbf {z} } di valori reali arbitrari in un vettore K {\displaystyle K} -dimensionale σ ( z ) {\displaystyle \sigma (\mathbf {z} )} di valori compresi in un intervallo ( 0 , 1 ) {\displaystyle (0,1)} la cui somma è 1 {\displaystyle 1} . La funzione è data da:

σ : 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}{\Big |}z_{i}>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}}}}}    per j = 1 , , K . {\displaystyle j=1,\ldots ,K.}

La funzione softmax è anche il gradiente della funzione LogSumExp. La funzione softmax è usata in vari metodi di classificazione multi-classe, come la regressione logistica multinomiale,[2] analisi discriminante lineare multiclasse, classificatori bayesiani e reti neurali artificiali.[3]

Esempio

Dato in input un vettore ( 1 ; 2 ; 3 ; 4 ; 1 ; 2 ; 3 ) {\displaystyle (1;2;3;4;1;2;3)} , la funzione softmax restituirà ( 0 , 024 ;   0 , 064 ;   0 , 175 ;   0 , 475 ;   0 , 024 ;   0 , 064 ;   0 , 175 ) {\displaystyle (0,024;\ 0,064;\ 0,175;\ 0,475;\ 0,024;\ 0,064;\ 0,175)} . Il risultato assegna gran parte del peso al numero 4 {\displaystyle 4} , il cui valore in uscita risulta essere circa 20 volte maggiore del valore associato a 1 {\displaystyle 1} . Questo è esattamente ciò per cui la funzione solitamente è usata: mettere in evidenza i valori più grandi e nascondere quelli che sono significativamente più piccoli del valore massimo.

Reti neurali artificiali

La funzione softmax è spesso usata nello strato finale dei classificatori basati su reti neurali. Tali reti sono solitamente allenate in un regime di entropia incrociata, ottenendo una variante non lineare di regressione logistica multinomiale.

Dato che la funzione mappa un vettore e una specifica posizione i {\displaystyle i} ad un valore reale, per derivare bisogna tener conto della posizione:

q k σ ( q , i ) = = σ ( q , i ) ( δ i k σ ( q , k ) ) . {\displaystyle {\frac {\partial }{\partial q_{k}}}\sigma ({\textbf {q}},i)=\dots =\sigma ({\textbf {q}},i)(\delta _{ik}-\sigma ({\textbf {q}},k)).}

Apprendimento per rinforzo

Nel campo dell'apprendimento per rinforzo, una funzione softmax può essere usata per convertire valori in probabilità. Una delle funzioni solitamente usate è:

P t ( a ) = exp ( Q t ( a ) / τ ) i = 1 n exp ( Q t ( i ) / τ ) {\displaystyle P_{t}(a)={\frac {\exp(Q_{t}(a)/\tau )}{\sum _{i=1}^{n}\exp(Q_{t}(i)/\tau )}}}

dove Q t ( a ) {\displaystyle Q_{t}(a)} è la funzione Q e τ {\displaystyle \tau } è un parametro chiamato "temperatura".[4] L'uso di questa funzione è generalmente indicato in alternativa alla strategia ε {\displaystyle \varepsilon } -greedy,[4][5]

Normalizzazione softmax

Una normalizzazione sigmoidale (o normalizzazione softmax) serve a ridurre l'influenza di valori estremi o di outlier nei dati senza rimuoverli dal dataset. I dati sono trasformati in maniera non lineare usando una funzione sigmoidea.

La funzione sigmoidea logistica:[6]

x i 1 1 + e x i μ i σ i . {\displaystyle x_{i}'\equiv {\frac {1}{1+e^{-{\frac {x_{i}-\mu _{i}}{\sigma _{i}}}}}}.}

La funzione tangente iperbolica:[6]

x i 1 e x i μ i σ i 1 + e x i μ i σ i . {\displaystyle x_{i}'\equiv {\frac {1-e^{-{\frac {x_{i}-\mu _{i}}{\sigma _{i}}}}}{1+e^{-{\frac {x_{i}-\mu _{i}}{\sigma _{i}}}}}}.}

La funzione sigmoidea limita fra 0 {\displaystyle 0} e 1 {\displaystyle 1} l'intervallo dei valori normalizzati. La funzione è approssimativamente lineare vicino alla media ed ha una non-linearità liscia presso entrambi gli estremi.

La tangente iperbolica limita fra 1 {\displaystyle -1} e 1 {\displaystyle 1} l'intervallo dei valori normalizzati. La funzione è approssimativamente lineare vicino alla media, ma è pendente la metà rispetto alla funzione sigmoidea. Come la sigmoidea, è non lineare, liscia e monotona in entrambi gli estremi.

Note

  1. ^ Bishop, p. 198.
  2. ^ Bishop, pp. 206-209.
  3. ^ Raquel Urtasun, Lecture 4: Neural Networks (PDF), su Introduction to Machine Learning, cs.toronto.edu, Università di Toronto - Dipartimento di Informatica, 2015, p. 19. URL consultato il 22 aprile 2017.
  4. ^ a b R. S. Sutton, A. G. Barto, 2.3 Softmax Action Selection, in Reinforcement Learning: An Introduction, Cambridge, The MIT Press, 1998. URL consultato il 22 aprile 2017 (archiviato dall'url originale il 25 giugno 2016).
  5. ^ (EN) S. Syafiie, F. Tadeo, E. Martinez, Softmax and ε-greedy policies applied to process control, in IFAC Proceedings Volumes, vol. 32, n. 12, IFAC Publisher, agosto-settembre 2004, pp. 729-734, DOI:10.1016/S1474-6670(17)31556-2.
  6. ^ a b Priddy, Keller, pp. 16–17.

Bibliografia

  • Christopher M. Bishop, Pattern Recognition and Machine Learning, Cambridge, Springer, 2006, ISBN 978-0387-31073-2.
  • Kevin L. Priddy; Paul E. Keller, Artificial Neural Networks: An Introduction, SPIE Press, 2005, ISBN 9780819459879.
  Portale Informatica
  Portale Ingegneria
  Portale Matematica