Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Funzione softmax - Teknopedia
Funzione softmax - Teknopedia

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

[modifica | modifica wikitesto]

Si consideri un vettore in input ( 1 ; 2 ; 3 ; 4 ; 1 ; 2 ; 3 ) {\displaystyle (1;2;3;4;1;2;3)} {\displaystyle (1;2;3;4;1;2;3)}.

La funzione softmax produce il vettore ( 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)} {\displaystyle (0,024;\ 0,064;\ 0,175;\ 0,475;\ 0,024;\ 0,064;\ 0,175)}.

In tale risultato è possibile notare che:

  • il valore massimo viene assegnato alla quarta posizione;
  • tale valore è circa 20 volte maggiore di quello associato alla prima posizione.

Questa funzione mette in evidenza i valori più grandi e nasconde quelli significativamente più piccoli rispetto al valore massimo.

Reti neurali artificiali

[modifica | modifica wikitesto]

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} {\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)).} {\displaystyle {\frac {\partial }{\partial q_{k}}}\sigma ({\textbf {q}},i)=\dots =\sigma ({\textbf {q}},i)(\delta _{ik}-\sigma ({\textbf {q}},k)).}

Apprendimento per rinforzo

[modifica | modifica wikitesto]

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

Normalizzazione softmax

[modifica | modifica wikitesto]

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}}}}}}.} {\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}}}}}}.} {\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} {\displaystyle 0} e 1 {\displaystyle 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} {\displaystyle -1} e 1 {\displaystyle 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

[modifica | modifica wikitesto]
  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

[modifica | modifica wikitesto]
  • 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
Estratto da "https://it.wikipedia.org/w/index.php?title=Funzione_softmax&oldid=144055502"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022