multi-Class neurala nätverk: Softmax

minns att logistisk regression ger en decimalmellan 0 och 1.0. Till exempel föreslår en logistisk regressionsutgång på 0,8 från en e-postklassificerare en 80% chans att anemail är spam och en 20% chans att det inte är spam. Det är uppenbart att summan av sannolikheten för att ett e-postmeddelande är antingen spam eller inte spam är 1.0.

Softmax utökar denna ide till en flerklassvärld. Det vill säga, Softmax tilldelar decimala sannolikheter till varje klass i ett flerklassproblem.Dessa decimala sannolikheter måste lägga till upp till 1.0. Denna ytterligare begränsninghjälper träningen att konvergera snabbare än vad den annars skulle göra.

till exempel, återvänder till bildanalysen vi såg i Figur 1, Softmaxmight producera följande sannolikheter för en bild som tillhör apartikulär klass:

klass Sannolikhet
äpple 0.001
björn 0.04
godis 0.008
hund 0.95
ägg 0.001

Softmax implementeras genom ett neuralt nätverkskikt strax föreutgångsskiktet. Softmax-skiktet måste ha samma antal nodersom utgångsskiktet.

ett djupt neuralt nät med ett ingångslager, två icke-beskrivna dolda lager, sedan ett Softmax-lager och slutligen ett utgångslager med samma antal noder som Softmax-lagret.

Figur 2. Ett Softmax-lager i ett neuralt nätverk.

klicka på plusikonen för att se Softmax-ekvationen.

Softmax-ekvationen är som följer:

$$p(y = j /\textbf{x}) = \frac{e^{(\textbf{w}_j^{T}\textbf{x} + b_j)}}{\sum_{k\in k} {e^{(\textbf{w}_k^{t}\textbf{x} + b_k)}}} $$

Observera att denna formel i princip utökar formeln för logistikrepression till flera klasser.

Softmax alternativ

Tänk på följande varianter av Softmax:

  • Full Softmax är Softmax vi har diskuterat; det vill säga, Softmax beräknar en sannolikhet för varje möjlig klass.

  • Kandidatprovtagning innebär att Softmax beräknar en sannolikhet för alla positiva etiketter men endast för ett slumpmässigt urval av negativa etiketter. Om vi till exempel är intresserade av att bestämmaom en inmatningsbild är en beagle eller en blodhund, behöver vi inte ge sannolikheter för varje icke-doggy-exempel.

Full Softmax är ganska billigt när antalet klasser är småmen blir oöverkomligt dyrt när antalet klasser klättrar.Kandidatprovtagning kan förbättra effektiviteten i problem med en storantal klasser.

en etikett vs. många etiketter

Softmax förutsätter att varje exempel är medlem i exakt en klass.Några exempel kan dock samtidigt vara medlem i flera klasser.För sådana exempel:

  • Du får inte använda Softmax.
  • Du måste lita på flera logistiska regressioner.

anta till exempel att dina exempel är bilder som innehåller exakt ett objekt—fruktbit. Softmax kan bestämma sannolikheten för den därobservera en päron, en apelsin, ett äpple och så vidare. Om dina exempel är bilderinnehållande alla möjliga saker-skålar av olika typer av frukt—dådu måste använda flera logistiska regressioner istället.

Lämna ett svar

Din e-postadress kommer inte publiceras.