Koneoppimisessa, tai tarkemmin sanottuna neuroverkoissa, yksi yleisimmin käytetyistä aktivaatiofunktioista on sigmoidifunktio. Neuroverkon kouluttamisen backpropagation-vaiheessa on löydettävä häviöfunktion derivaatta kunkin verkon painon suhteen. Tätä varten on löydettävä aktivointifunktion derivaatta. Tämän artikkelin tarkoituksena on selvittää epäselvyyksiä sigmoidifunktion derivaatan löytämisestä.

Aluksi tässä on sigmoidifunktio:

Kokeeksi ota laskimellasi sigmoidi 5:stä. Sinun pitäisi saada tulokseksi 0,99330714907.

Derivaattaa varten tämä funktio voidaan kirjoittaa myös seuraavasti:

Ensimmäinen asia, jonka huomasin tästä funktiosta, on se, että se on funktioiden koostumus. Ensimmäinen funktio on

ja toinen funktio on

Muistakaamme, että laskutoimituksessa, kun kyseessä on funktioiden kompositio, derivaatta, on ensimmäinen funktio toisen funktion suhteen kerrottuna toisella funktiolla muuttujan, tässä tapauksessa x:n, suhteen. Näin:

Sigmoidifunktion derivaatta x:n suhteen on siis sigmoidifunktion derivaatta m:n suhteen kertaa m:n derivaatta x:n suhteen. Voit ajatella tätä funktioiden koostumissääntöä eräänlaisena välilaskutoimituksena, jonka tuloksena saadaan ristiin kumoamalla haluttu alkuperäinen derivaatta:

Nyt kun tiedämme, että sigmoidi-funktio on funktioiden muodostama koostumus, meidän ei tarvitse tehdä muuta kuin löytääksemme derivaattamme,:

  1. Etsitään sigmoidifunktion derivaatta m:n, väliarvomme, suhteen
  2. Etsitään m:n derivaatta x:n suhteen
  3. Kerrotaan nämä arvot keskenään

Sigmoidifunktion derivaatta m:n suhteen

Katsotaanpa vielä kerran, miltä sigmoidifunktio näyttää m:n ollessa väliarvomme:

Tämän derivaatan löytäminen m:n suhteen on melko yksinkertaista, jos muistamme potenssisäännön:

X^n:n derivaatta on n kertaa x:n derivaatta potenssiin n-1.

Siten,

Nyt, jos korvaamme alkuperäisen m:n arvomme takaisin yhtälöön, saamme

Loppujen lopuksi,

Yay! Suoritimme vaiheen 1.

Löydä m:n derivaatta x:n suhteen

Tässä on m:

Johdannaisen löytämiseksi meidän on löydettävä jokaisen termin derivaatta x:n suhteen. Ensimmäinen termi on helppo:

Toinen termi on hieman monimutkaisempi.

Päästetään

ja

.

Me tiedämme, että

Jos e^u:n saaminen ei ole selvää, lukekaa tämä.

Käytetään nyt jälleen kerran ketjusääntöä,

Kerrotaan siis vain nuo äsken laskemamme derivaatat, jotta saadaan derivaatta x:n suhteen:

Kaikki vaiheessa 2,

Kerroin derivaatat

Muistetaan, että kun löysimme kaksi välijohdannaista, meidän piti kertoa ne. Tässä siis nopea yhteenveto:

Nyt, jos muistat miten kerrotaan :), voimme vihdoin lopettaa tämän!

Voit nyt ottaa tämän arvon ja käyttää sitä sigmoidifunktion derivoinnissa. Mielenkiintoinen asia tapahtuu kuitenkin sen jälkeen, kun olet manipuloinut tätä tulosta. Osoittautuu, että voit kirjoittaa derivaatan uudelleen näin:

Sigmoidifunktion derivaatta on sigmoidi kertaa 1 miinus sigmoidi. Wow. Tunnen itseni huijatuksi. 🙂