Definizione della funzione softmax


8

Questa domanda fa seguito a stats.stackexchange.com/q/233658

Il modello di regressione logistica per le classi {0, 1} è

P(y=1|x)=exp(wTx)1+exp(wTx)P(y=0|x)=11+exp(wTx)

Chiaramente queste probabilità si sommano a 1. Impostando potremmo anche definire la regressione logistica comew=β1β0

P(y=c|x)=exp(βcTx)exp(β0Tx)+exp(β1Tx)c{0,1}

Tuttavia, la seconda definizione viene utilizzata raramente perché i coefficienti e non sono univoci. In altre parole, il modello non è identificabile, proprio come la regressione lineare con due variabili che sono multipli l'una dell'altra.β0β1

Domanda

Nell'apprendimento automatico, perché il modello di regressione softmax per le classi {0, 1, ..., K - 1} è generalmente definito come segue?

P(y=c|x)=exp(βcTx)exp(β0Tx)++exp(βK1Tx)c{0,,K1}

Non dovrebbe invece essere

P(y=c|x)=exp(wcTx)1+exp(w1Tx)++exp(wK1Tx)c{1,,K1}P(y=0|x)=11+exp(w1Tx)++exp(wK1Tx)

Nota a margine: nelle statistiche, la regressione del softmax è chiamata regressione logistica multinomiale e le classi sono {1, ..., K}. Lo trovo un po 'imbarazzante perché quando K = 2, le classi sono {1, 2} invece di {0, 1}, quindi non è esattamente una generalizzazione della regressione logistica.


Di solito è definito in questo modo? Puoi indicare un riferimento?
The Laconic,

@TheLaconic Vedi la definizione di softmax su scikit-learn.org/stable/modules/neural_networks_supervised.html e www.tensorflow.org/versions/r1.1/get_started/mnist/beginners
farmer

OK. Ho chiesto perché non ho mai visto i modelli di regressione MNL definiti in questo modo. Ma a quanto pare è "solito" nel contesto delle reti neurali - e ora ho la stessa domanda come te.
The Laconic,

1
Non sono sicuro di come rispondere a una domanda "non dovrebbe essere X". La definizione data è differenziabile e definisce una distribuzione di probabilità (somma a 1). Sembra che quelle siano le parti importanti, quindi perché non dovrebbe essere quello invece dell'altro?
kbrose,

@kbrose a causa della mancanza di identificabilità
Taylor,

Risposte:


2

Sì, hai ragione nel dire che c'è una mancanza di identificabilità a meno che uno dei vettori coerenti sia fisso. Ci sono alcuni motivi che non menzionano questo. Non posso parlare del motivo per cui omettono questo dettaglio, ma ecco una spiegazione di cosa si tratta e come risolverlo.

Descrizione

Diciamo che avete osservazioni e predittori , dove va da a e indica il numero / indice di osservazione. Dovrai stimare i vettori del coefficiente dimensionale .yi{0,1,2,,K1}xiRpi1nK pβ0,β1,,βK1

La funzione softmax è infatti definita come che ha proprietà piacevoli come la differenziabilità, si somma a , ecc.

softmax(z)i=exp(zi)l=0K1exp(zl),
1

La regressione logistica multinomiale utilizza la funzione softmax per ogni osservazione sul vettore i

[xiβ0xiβ1xiβK1,]

che significa

[P(yi=0)P(yi=1)P(yi=K1)]=[exp[xiβ0]k=0K1exp[xiβk]exp[xiβ1]k=0K1exp[xiβk]exp[xiβK1]k=0K1exp[xiβk]].

Il problema

Tuttavia, la probabilità non è identificabile perché più raccolte di parametri daranno la stessa probabilità. Ad esempio, lo spostamento di tutti i vettori di coefficiente dello stesso vettore produrrà la stessa probabilità. Questo può essere visto se moltiplichi ciascuno il numeratore e il denominatore di ciascun elemento del vettore per una costante , nulla cambia:cexp[xic]

[exp[xiβ0]k=0K1exp[xiβk]exp[xiβ1]k=0K1exp[xiβk]exp[xiβK1]k=0K1exp[xiβk]]=[exp[xi(β0c)]k=0K1exp[xi(βkc)]exp[xi(β1c)]k=0K1exp[xi(βkc)]exp[xi(βK1c)]k=0K1exp[xi(βkc)]].

Risolvendolo

Il modo per risolvere questo problema è limitare i parametri. Risolvere uno di questi porterà all'identificabilità, perché non sarà più consentito spostarli tutti.

Esistono due opzioni comuni:

  • impostare , che significa (menzionalo), ec=β0β0=0
  • set , che significa .c=βK1βK1=0

Ignorandolo

A volte, tuttavia, la restrizione non è necessaria. Ad esempio, se eri interessato a formare un intervallo di confidenza per la quantità , allora questo è lo stesso di , quindi deduzione su le quantità relativamente non contano davvero. Inoltre, se l'attività è la previsione anziché l'inferenza dei parametri, le previsioni non saranno influenzate se vengono stimati tutti i vettori di coefficiente (senza vincolarne uno).β10β12β10c[β12c]

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.