Apri il menu principale

Funzione softmax

funzione che mappa un vettore di k valori reali in una distribuzione di probabilità categorica

In matematica, una funzione softmax, o funzione esponenziale normalizzata,[1] è una generalizzazione di una funzione logistica che comprime un vettore -dimensionale di valori reali arbitrari in un vettore -dimensionale di valori compresi in un intervallo la cui somma è . La funzione è data da:

   per

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]

EsempioModifica

Dato in input un vettore  , la funzione softmax restituirà  . Il risultato assegna gran parte del peso al numero  , il cui valore in uscita risulta essere circa 20 volte maggiore del valore associato a  . 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 artificialiModifica

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   ad un valore reale, per derivare bisogna tener conto della posizione:

 

Apprendimento per rinforzoModifica

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

 

dove   è la funzione Q e   è un parametro chiamato "temperatura".[4] L'uso di questa funzione è generalmente indicato in alternativa alla strategia  -greedy,[4][5]

Normalizzazione softmaxModifica

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]

 

La funzione tangente iperbolica:[6]

 

La funzione sigmoidea limita fra   e   l'intervallo dei valori normalizzati. La funzione è approssimativamente lineare vicino la media ed ha una non-linearità liscia presso entrambi gli estremi.

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

NoteModifica

  1. ^ Bishop, p. 198.
  2. ^ Bishop, pp. 206-209.
  3. ^ Raquel Urtasun, Lecture 4: Neural Networks (PDF), in Introduction to Machine Learning, 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.

BibliografiaModifica

  • 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.