Softmax - hvad kan det?
Formål
Formålet med dette forløb er
- at se, at eksponentialfunktioner, eller mere konkret \(\mathrm{e}^x\), kan bruges til andet end funktioner med procentvækst.
- at bruge sandsynlighedsfelter til noget lidt mere kompliceret end terningkast.
- at blive introduceret til Softmax, som senere anvendes i visse neurale netværk blandt andet i forbindelse med store sprogmodeller.
Sengetester i IKEA
Du er blevet ansat som sengetester af IKEA til 138 kr. i timen – dit drømmejob. Du skal sove på 4 typer af boxmadrasser og give hver af dem point fra 1 til 5.
Efter at have sovet dejligt længe og tjent nogle gode penge, er resultatet følgende for 4 forskellige af IKEA’s madrasser:
- Skotterud 3 point
- Snarum 2 point
- Stuvland 3 point
- Stavanger 5 point
IKEA vil så på baggrund af din særdeles grundige videnskabelige test justere deres produktion, så de producerer de 4 typer boxmadrasser i forhold til dine resultater. De vil naturligvis producere flest Stavanger og færrest Snarum, men hvor mange procent af hver slags skal de producere?
Vi skal altså have lavet et ikke-symmetrisk sandsynlighedsfelt, hvor udfaldsrummet er de 4 typer madrasser og sandsynlighederne tilsammen giver 1, som det jo skal.
Det simpleste ville nok være at lægge alle pointene sammen, og så dividere pointtallet for hver madras med summen.
\[P(\mathrm{ Skotterud }) = \frac{3}{3+2+3+5} \approx 23,1\%\]
Det fungerer jo sådan set meget godt. Der er dog nogle ting, som gør, at man ofte gør det lidt mere kompliceret:
- Hvis nogle af pointene er negative, risikerer man at skulle dividere med 0.
- Hvis nogle af pointene er negative, kan brøken give et negativt tal.
Softmax
Man benytter derfor nogle gange metoden Softmax, hvor man opløfter tallet \(\mathrm{e}\) i hvert pointtal, og derefter regne sandsynlighederne på samme måde som før.
Så bliver \[P(\mathrm{ Skotterud }) = \frac{\mathrm{e}^{3}}{\mathrm{e}^{3}+\mathrm{e}^2+\mathrm{e}^3+\mathrm{e}^{5}} \approx 10,2\%\]
Bemærk, at sandsynlighederne for de 4 typer madrasser er blevet mere forskellige med Softmax, end da du regnede i første omgang.
Hvis pointene bliver store og forskellige, vil næsten al sandsynligheden samle sig omkring den største værdi med Softmax. Det kan naturligvis være ønskeligt i situationer, hvor "the winner takes it all", men i andre situationer kan det ses som et problem.
I mange anvendelser med Softmax er det derfor netop meningen, at hovedparten af sandsynligheder gives til tilfældet med flest point eller at der er mange tilfælde med næsten samme pointal. Det kan du måske komme til i 2.g eller 3.g. f.eks. i Simple kunstige neurale netværk til multiple klassifikation eller WordToVec.