Softmax - hvad kan det?

C-niveau
Kort
  • Eksponentialfunktioner, herunder \(\mathrm{e}^x\).
  • Sandsynlighedsfelter.

Tidsforbrug: Ca. 60 minutter.

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\%\]

Opgave 1: Udregn sandsynligherne
  • Udregn sandsynlighederne for hver af de 3 andre typer boxmadrasser.
  • Læg sandsynlighederne sammen og se, at det giver 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.
Opgave 2: Hvad sker der med negative værdier?
  • Beregn “sandsynlighederne” med samme metode, hvis de fire værdier i stedet var -1, 0, 1 og 2.
  • Forklar, hvorfor resultaterne ikke kan være sandsynligheder.

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\%\]

Opgave 3: Udregn sandsynligherne med Softmax
  • Udregn sandsynlighederne for hver af de 3 andre typer boxmadrasser fra opgave 1 med Softmax metoden.

  • Læg sandsynlighederne sammen og se, at det giver 1.

  • Udregn på samme måde sandsynlighederne ud fra pointallene fra opgave 2 med Softmax.

  • Læg sandsynlighederne sammen og se, at det giver 1.

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.

Opgave 4: Udregn sandsynligherne for store forskellige værdier
  • Udregn sandsynligheder både med metoden fra opgave 1 og med Softmax, hvis de fire pointtal er 2, 9, 11 og 16.

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.

Løsninger til opgaver

Facitliste.