Softmax-funksjonen
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
redigerHvis 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
redigerSoftmax-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
redigerI 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
redigerSigmoidal- 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
redigerSoftmax-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å .