Redigerer
Softmax-funksjonen
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
I [[matematikk]] er '''softmax-funksjonen''', eller '''den normaliserte eksponentielle funksjonen'''<ref name="bishop"/>{{Rp|198}}, en generalisering av den logistiske funksjonen, som «skviser sammen» en ''K''-dimensjonal vektor <math>\mathbf{z}</math> av vilkårlige reelle verdier til en ''K''-dimensjonal vektor <math>\sigma(\mathbf{z})</math> av reelle verdier i intervallet (0, 1) med sum 1. Funksjonen er gitt ved :<math>\sigma(\mathbf{z})_j = \frac{e^{z_j}}{\sum_{k=1}^K e^{z_k}}</math> 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 [[flerklassesklassifiseringsmetode]]r, som for eksempel [[Multinomial logistic regression|multinomial logistisk regresjon]],<ref name="bishop">{{Kilde bok|tittel=Pattern Recognition and Machine Learning|etternavn=Bishop|fornavn=Christopher M.|utgiver=Springer}}</ref>{{Rp|206–209}} flerklasses [[Linear discriminant analysis|lineær diskriminantanalyse]], [[Naive Bayes classifier|naiv Bayes-klassifikatorer]], og [[Nevralt nettverk|kunstige nevrale nettverk]].<ref>ai-faq [http://www.faqs.org/faqs/ai-faq/neural-nets/part2/section-12.html What is a softmax activation function?]</ref> 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: :<math>P(y=j|\mathbf{x}) = \frac{e^{\mathbf{x}^\mathsf{T}\mathbf{w}_j}}{\sum_{k=1}^K e^{\mathbf{x}^\mathsf{T}\mathbf{w}_k}}</math> Dette kan sees på som sammensetningen (komposisjonen) av K lineære funksjoner <math>\mathbf{x} \mapsto \mathbf{x}^\mathsf{T}\mathbf{w}_1, \ldots, \mathbf{x} \mapsto \mathbf{x}^\mathsf{T}\mathbf{w}_K</math> og softmax-funksjonen (der <math>\mathbf{x}^\mathsf{T}\mathbf{w}</math> betegner det indre produktet av <math>\mathbf{x}</math> og <math>\mathbf{w}</math>). == Eksempel == 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 == 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: :<math> \frac{\partial}{\partial q_k}\sigma(\textbf{q}, i) = \dots = \sigma(\textbf{q}, i)(\delta_{ik} - \sigma(\textbf{q}, k))</math> Her brukes [[Kronecker-delta|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 == I feltet [[forsterkende læring]] brukes softmax funksjonen til å konvertere verdier til handlingssannsynligheter. Funksjonen som ofte brukes er:<ref>Sutton, R. S. and Barto A. G. ''Reinforcement Learning: An Introduction''. </ref> :<math> P_t(a) = \frac{\exp(q_t(a)/\tau)}{\sum_{i=1}^n\exp(q_t(i)/\tau)} \text{,} </math> der handlingsverdien <math>q_t(a)</math> tilsvarer forventet belønning av en påfølgende handling a, og <math>\tau</math> kalles en temperaturparameter (jamfør [[statistisk mekanikk]]). For høye temperaturer (<math>\tau\to \infty</math>) har alle handlinger nesten samme sannsynlighet. Desto lavere temperaturen er, desto mer forventes belønninger å påvirke sannsynligheten. For en svært lav temperatur (<math>\tau\to 0^+</math>) vil sannsynligheten for en handling med høyest forventet belønning tendere mot 1. == Softmax-normalisering == 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:<ref>{{Kilde bok|tittel=Artificial Neural Networks: An Introduction}}</ref> :<math> x_i' \equiv \frac{1}{1+e^{-\frac{x_i - \mu_i}{\sigma_i}}} </math> Den hyperbolske tangens-funksjonen, ''tanh'':<ref>{{Kilde bok|tittel=Artificial Neural Networks: An Introduction}}</ref> :<math> x_i' \equiv \frac{1-e^{-\frac{x_i - \mu_i}{\sigma_i}}}{1+e^{-\frac{x_i - \mu_i}{\sigma_i}}} </math> 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 funksjon|glatt]] [[Ulineær|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, ''[[Hyperbolske funksjoner|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 funksjon|glatt]], [[Monotoniegenskaper|monoton]] ikke-linearitet i begge ytterpunktene. Og, som sigmoid-funksjonen, er den fortsatt [[Derivasjon|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 [[linearisering|lineærisering]]<nowiki/>spunkt. == Forhold til Boltzmann-distribusjonen == Softmax-funksjonen er i tillegg sannsynligheten for at et atom blir funnet i en kvantetilstand med energi <math>\epsilon_i</math> når atomet er en del av et [[Ensemble (fysikk)|ensemble]] som har nådd termisk likevekt med temperatur <math>T</math>. Dette er kjent som [[Boltzmann distribution|Boltzmann-distribusjonen]]. Det forventede relative belegget til hver tilstand er <math>e^{-\frac{\epsilon_i}{k_BT}}</math> 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å <math>k_BT</math>. == Referanser == <references /> [[Kategori:Informasjonsvitenskap]] [[Kategori:Kunstig intelligens]] [[Kategori:Sannsynlighetsteori]]
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Maler som brukes på denne siden:
Mal:ISOtilNorskdato
(
rediger
)
Mal:Kilde bok
(
rediger
)
Mal:Rp
(
rediger
)
Modul:Citation/CS1
(
rediger
)
Modul:Citation/CS1/COinS
(
rediger
)
Modul:Citation/CS1/Configuration
(
rediger
)
Modul:Citation/CS1/Date validation
(
rediger
)
Modul:Citation/CS1/Identifiers
(
rediger
)
Modul:Citation/CS1/Utilities
(
rediger
)
Modul:Citation/CS1/Whitelist
(
rediger
)
Modul:ISOtilNorskdato
(
rediger
)
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon