Perché la funzione softmax viene utilizzata per calcolare le probabilità sebbene possiamo dividere ciascun valore per la somma del vettore?


20

L'applicazione della funzione softmax su un vettore produrrà "probabilità" e valori compresi tra e . 01

Ma possiamo anche dividere ogni valore per la somma del vettore e questo produrrà probabilità e valori tra e .01

Ho letto la risposta qui, ma dice che il motivo è perché è differenziabile, sebbene entrambe le funzioni siano differenziabili.


1
Penso che sia meglio se guardi prima alla regressione logistica. il tuo 'obiettivo' è trasformare monotonicamente in (0,1). Questo è ciò che fa la funzione logistica. Si noti che qualsiasi funzione di distribuzione cumulativa (probabilità) sulla linea reale funziona anche: vedere la regressione probit che utilizza la normale funzione di distribuzione. (-,)
seanv507,

Risposte:


36

La funzione che proponi ha una singolarità ogni volta che la somma degli elementi è zero.

Supponiamo che il tuo vettore sia . Questo vettore ha una somma di 0, quindi la divisione non è definita. La funzione non è differenziabile qui.[-1,13,23]

Inoltre, se uno o più degli elementi del vettore sono negativi ma la somma è diversa da zero, il risultato non è una probabilità.

Supponiamo che il tuo vettore sia . Questo ha una somma di 1, quindi l'applicazione della tua funzione produce , che non è un vettore di probabilità perché ha elementi negativi e elementi che superano 1.[-1,0,2][-1,0,2]

Adottando una visione più ampia, possiamo motivare la forma specifica della funzione softmax dal punto di vista dell'estensione della regressione logistica binaria al caso di tre o più risultati categorici.

-XXexp(X)X


Grazie mille. Siamo in grado di risolvere entrambi i problemi dividendo per la somma dei valori assoluti, giusto?
floyd

2
No. Cosa succede se sommi i valori assoluti di entrambi i miei esempi e poi dividi per quella somma?
Sycorax dice Ripristina Monica il

Xio2/Sum(X2)

8
[0,0,0]

8
Xio2/ΣjXj2|Xio|/Σj|Xj|exp(X)

4

Softmax ha due componenti:

  1. Trasforma i componenti in e ^ x. Ciò consente alla rete neurale di lavorare con le probabilità logaritmiche, invece delle normali probabilità. Questo trasforma in aggiunta l'operazione comune di moltiplicare le probabilità, che è molto più naturale per la struttura lineare basata su algebra delle reti neurali.

  2. Normalizza la loro somma a 1, poiché questa è la probabilità totale di cui abbiamo bisogno.

Una conseguenza importante di ciò è che il teorema di bayes è molto naturale per una tale rete, poiché è solo una moltiplicazione delle probabilità normalizzate dal denominatore.

Il caso banale di una rete a singolo strato con attivazione softmax equivale alla regressione logistica.

Il caso speciale del softmax a due componenti equivale all'attivazione sigmoide, che è quindi popolare quando ci sono solo due classi. Nella classificazione multi-classe viene utilizzato il softmax se le classi si escludono a vicenda e si utilizza sigmoid per componente se sono indipendenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.