Sigmoid function (sigmoidná funkcia)
Čo je sigmoid function?
Sigmoid function (v slovenskom preklade sigmoidná funkcia) je matematická funkcia, ktorá transformuje ľubovoľnú reálnu hodnotu do intervalu medzi 0 a 1. V oblasti strojového učenia a neurónových sietí slúži ako aktivačná funkcia, ktorá určuje, či a do akej miery sa má neurón aktivovať. Jej charakteristický tvar pripomína písmeno S, čo jej dáva aj alternatívny názov S-krivka.
Matematický princíp sigmoidnej funkcie
Sigmoidná funkcia je definovaná vzorcom σ(x) = 1 / (1 + e^(-x)), kde e predstavuje Eulerovo číslo. Pre veľké kladné hodnoty x sa výstup blíži k 1, zatiaľ čo pre veľké záporné hodnoty sa blíži k 0. Stredová hodnota funkcie je 0,5 pri x = 0.
Táto vlastnosť robí sigmoid function ideálnou pre úlohy, kde potrebujeme interpretovať výstup ako pravdepodobnosť. Hladký priebeh funkcie zároveň umožňuje výpočet derivácie, čo je nevyhnutné pre trénovanie neurónových sietí pomocou algoritmu spätného šírenia chyby (backpropagation).
Využitie sigmoid function v neurónových sieťach
Sigmoidná funkcia sa tradične používala ako aktivačná funkcia v skrytých vrstvách neurónových sietí. Jej schopnosť mapovať hodnoty do rozsahu 0 – 1 ju robí vhodnou pre binárnu klasifikáciu, kde výstup reprezentuje pravdepodobnosť príslušnosti k určitej triede.
V moderných architektúrach hlbokého učenia sa sigmoid function častejšie vyskytuje vo výstupných vrstvách, najmä pri problémoch binárnej klasifikácie alebo multi-label klasifikácie. Pre skryté vrstvy ju v značnej miere nahradili funkcie ako ReLU, ktoré zmierňujú problém miznúceho gradientu.
…sigmoidná funkcia bola jednou z prvých aktivačných funkcií použitých v umelých neurónových sieťach už v 80. rokoch 20. storočia?
Obmedzenia sigmoidnej funkcie
Sigmoid function má niekoľko známych limitácií. Pri veľmi vysokých alebo nízkych vstupných hodnotách sa derivácia funkcie blíži k nule, čo spôsobuje problém miznúceho gradientu. Tento jav sťažuje trénovanie hlbokých sietí, pretože gradienty sa postupne zmenšujú a váhy v počiatočných vrstvách sa aktualizujú len minimálne.
Ďalšou nevýhodou je, že výstupy nie sú centrované okolo nuly. Všetky hodnoty sú kladné, čo môže viesť k pomalšej konvergencii počas trénovania. Výpočet exponenciálnej funkcie je tiež náročnejší v porovnaní s jednoduchšími aktivačnými funkciami.
Sigmoid function v logistickej regresii
Sigmoidná funkcia v logistickej regresii slúži na prepočet výstupu modelu na pravdepodobnosť medzi 0 a 1, takže výsledok je priamo interpretovateľný ako „šanca, že nastane daný jav“.
V medicíne môže model vypočítať, že pacient má 0,78 pravdepodobnosť výskytu ochorenia na základe symptómov a výsledkov testov, čo lekárovi pomáha pri rozhodovaní o ďalšej diagnostike.
V úverovom skóringu môže logistická regresia odhadnúť, že klient má 0,12 pravdepodobnosť nesplatenia úveru, čo banka použije pri určovaní schválenia a úrokovej sadzby.
Zdroje a odkazy
Použité zdroje:
- Deep Learning Book – kapitola o aktivačných funkciách: https://www.deeplearningbook.org
Odporúčané zdroje:
- Stanford CS231n – Convolutional Neural Networks for Visual Recognition: https://cs231n.stanford.edu
Uvedené informácie sú orientačné a môžu sa líšiť v závislosti od verzie, implementácie a prostredia.