I matematikk er softmax-funksjonen, eller den normaliserte eksponentielle funksjonen[1]:198, en generalisering av den logistiske funksjonen, som «skviser sammen» en K-dimensjonal vektor av vilkårlige reelle verdier til en K-dimensjonal vektor av reelle verdier i intervallet (0, 1) med sum 1. Funksjonen er gitt ved

   for j = 1, …, K.

I sannsynlighetsteori blir output av softmax-funksjonen brukt til å representere en kategorisk fordeling – altså en sannsynlighetsfordeling over k ulike mulige utfall. Faktisk er det en gradient-log-normalisator av den kategoriske sannsynlighetsfordelingen.

Softmax-funksjonen blir brukt i ulike flerklassesklassifiseringsmetoder, som for eksempel multinomial logistisk regresjon,[1]:206–209 flerklasses lineær diskriminantanalyse, naiv Bayes-klassifikatorer, og kunstige nevrale nettverk.[2] I multinomial logistisk regresjon og lineær diskriminantanalyse er input til funksjonen resultatet av K forskjellige lineære funksjoner; da er den predikerte sannsynligheten for den j-te klassen gitt en vektor x for utvalget og en vektor w for vektingen lik:

Dette kan sees på som sammensetningen (komposisjonen) av K lineære funksjoner og softmax-funksjonen (der betegner det indre produktet av og ).

Eksempel rediger

Hvis vi lar input være [1,2,3,4,1,2,3], vil softmax av det være [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]. Output har det meste av vekten der tallet 4 var i det opprinnelige input. Det er dette funksjonen normalt blir brukt til: å vektlegge den største verdien, og dempe verdier som er betydelig lavere enn maksimumsverdien.

Kunstige nevrale nettverk rediger

Softmax-funksjonen blir ofte brukt i det siste laget av nevrale nettverk brukt i klassifiseringsproblemer. Slike nettverk er vanligvis trent med kryssentropi/logistisk tap, noe som gir en ikke-lineær variant av multinomial logistisk regresjon.

Siden softmax-funksjonen tilordner en vektor og en bestemt indeks j til en reell verdi, må derivasjonen ta høyde for indeksen:

 

Her brukes Kronecker-deltaet for enkelthets skyld (jamfør den deriverte av en sigmoid-funksjon, som blir uttrykt via funksjonen selv).

Multinomial logit er en sannsynlighetsmodell som bruker softmax-aktiveringsfunksjonen.

Forsterkende læring rediger

I feltet forsterkende læring brukes softmax funksjonen til å konvertere verdier til handlingssannsynligheter. Funksjonen som ofte brukes er:[3]

 

der handlingsverdien   tilsvarer forventet belønning av en påfølgende handling a, og   kalles en temperaturparameter (jamfør statistisk mekanikk). For høye temperaturer ( ) har alle handlinger nesten samme sannsynlighet. Desto lavere temperaturen er, desto mer forventes belønninger å påvirke sannsynligheten. For en svært lav temperatur ( ) vil sannsynligheten for en handling med høyest forventet belønning tendere mot 1.

Softmax-normalisering rediger

Sigmoidal- eller softmax-normalisering lar deg redusere påvirkningen av ekstreme verdier eller utliggere i data uten å fjerne dem fra datasettet. Det er nyttig når vi ønsker å ta med utliggere i datasettet mens vi fortsatt bevarer betydningen av data innenfor et standardavvik fra gjennomsnittet. Data blir ikke-lineært transformert ved hjelp av en av de følgende sigmoidal-funksjonene.

Den logistiske sigmoid-funksjonen:[4]

 

Den hyperbolske tangens-funksjonen, tanh:[5]

 

Sigmoid-funksjonen begrenser rekkevidden av normalisert data til verdier mellom 0 og 1. Sigmoid-funksjonen er nesten lineær nær gjennomsnittet og har glatt ikke-linearitet på begge ytterpunktene, og sikrer at alle datapunkt er innenfor et begrenset område. Dette opprettholder oppløsningen for de fleste verdier innenfor et standardavvik over gjennomsnittet.

Den hyperbolske tangens-funksjonen, tanh, begrenser rekkevidden av normalisert data til verdier mellom -1 og 1. Den hyperbolske tangens-funksjonen er nesten lineær nær gjennomsnittet, men har en stigning på halvparten av sigmoid-funksjonen. Som sigmoid-funksjonen har den glatt, monoton ikke-linearitet i begge ytterpunktene. Og, som sigmoid-funksjonen, er den fortsatt deriverbar overalt og tegnet (+/-) på den deriverte (stigningen) er upåvirket av normalisering. Dette sikrer at algoritmer for optimalisering og numerisk integrasjon kan stole på derivat for å estimere endringer i output (normalisert verdi) produsert av endringer i input i regionen i nærheten av ethvert lineæriseringspunkt.

Forhold til Boltzmann-distribusjonen rediger

Softmax-funksjonen er i tillegg sannsynligheten for at et atom blir funnet i en kvantetilstand med energi   når atomet er en del av et ensemble som har nådd termisk likevekt med temperatur  . Dette er kjent som Boltzmann-distribusjonen. Det forventede relative belegget til hver tilstand er   og dette er normalisert slik at summen over energinivåene blir til 1. I denne analogien er input til softmax-funksjonen den negative energien til hver kvantetilstand delt på  .

Referanser rediger

  1. ^ a b Bishop, Christopher M. Pattern Recognition and Machine Learning. Springer. 
  2. ^ ai-faq What is a softmax activation function?
  3. ^ Sutton, R. S. and Barto A. G. Reinforcement Learning: An Introduction.
  4. ^ Artificial Neural Networks: An Introduction. 
  5. ^ Artificial Neural Networks: An Introduction.