En av de vanligaste aktiveringsfunktionerna inom maskininlärning, eller närmare bestämt inom neurala nätverk, är den sigmoida funktionen. I backpropagationssteget vid träning av ett neuralt nätverk måste man hitta derivatan av förlustfunktionen med avseende på varje vikt i nätverket. För att göra detta måste du hitta derivatan av din aktiveringsfunktion. Den här artikeln syftar till att reda ut all förvirring om hur man hittar derivatan av den sigmoida funktionen.

För att börja, här är den sigmoida funktionen:

För att testa, ta sigmoiden av 5 på din miniräknare. Du bör få 0,99330714907.

För derivatan kan denna funktion också skrivas som:

Det första jag lade märke till med den här funktionen, är att den är en sammansättning av funktioner. Den första funktionen är

och den andra är

Håll dig till minnet i kalkyl, när det finns en sammansättning av funktioner, derivatan, är den första funktionen med avseende på den andra multiplicerad med den andra funktionen med avseende på variabeln, i det här fallet x. Så här:

Så är den sigmoida funktionens derivat med avseende på x den sigmoida funktionens derivat med avseende på m gånger derivatet av m med avseende på x. Du kan se denna regel för funktionssammansättning som en slags mellanliggande beräkning som resulterar i den ursprungliga derivatan som du ville ha genom korskallulering:

Nu när vi vet att sigmoidfunktionen är en sammansättning av funktioner är allt vi behöver göra för att hitta derivatan, är:

  1. Hitta derivatan av sigmoidfunktionen med avseende på m, vårt mellanvärde
  2. Hitta derivatan av m med avseende på x
  3. Multiplicera dessa värden med varandra

Derivatan av sigmoidfunktionen med avseende på m

Låts oss titta tillbaka på hur sigmoidfunktionen ser ut med m som vårt mellanvärde:

Att hitta derivatan av detta med avseende på m är ganska enkelt om vi kan komma ihåg potensregeln:

Derivatan av x^n är n gånger derivatan av x till potensen av n-1.

Så,

Om vi nu ersätter vårt ursprungliga värde på m tillbaka i ekvationen, får vi

Enligt

Yay! Vi har slutfört steg 1.

Hitta derivatan av m med avseende på x

Här är m:

För att hitta derivatan måste vi hitta derivatan av varje term med avseende på x. Den första termen är enkel:

Den andra termen är lite mer komplicerad.

Låt oss

och

.

Vi vet att

Om det inte är tydligt att komma till e^u, läs det här.

Nu använder vi kedjeregeln igen,

Så, vi multiplicerar bara de härledningarna som vi just räknat ut för att få derivatan med avseende på x:

Allt sammantaget för steg 2,

Multiplicera derivaten

Håll dig till minnet att när vi väl funnit de två mellanliggande derivaten måste vi multiplicera dem. Så här är en snabb sammanfattning:

Nu, om du kommer ihåg hur man multiplicerar :), kan vi äntligen avsluta detta!

Du kan nu ta detta värde och använda det som härledning av sigmoidfunktionen. En intressant sak inträffar dock efter att du har manipulerat detta resultat. Det visar sig att du kan skriva om derivatan så här:

Derivatan av sigmoidfunktionen är sigmoiden gånger 1 minus sigmoiden. Wow. Jag känner mig lurad. 🙂