Articles

funcția Sigmoid

ce este funcția Sigmoid?

o funcție sigmoidă este o funcție matematică care are o curbă caracteristică în formă de S. Există o serie de funcții sigmoide comune, cum ar fi funcția logistică, tangenta hiperbolică și arctangenta

. În învățarea automată, termenul

funcția sigmoidă este utilizat în mod normal pentru a se referi în mod specific la funcția logistică, numită și funcția sigmoidă logistică.

toate funcțiile sigmoide au proprietatea că mapează întreaga linie numerică într-un interval mic, cum ar fi între 0 și 1 sau -1 și 1, deci o utilizare a unei funcții sigmoide este de a converti o valoare reală într-una care poate fi interpretată ca o probabilitate.

una dintre cele mai utilizate funcții sigmoide este funcția logistică, care mapează orice valoare reală la intervalul (0, 1). Rețineți caracteristica S-forma care a dat funcțiile sigmoide numele lor (de la litera greacă sigma).

funcțiile sigmoide au devenit populare în învățarea profundă, deoarece pot fi utilizate ca funcție de activare într-o rețea neuronală artificială. Ei au fost inspirați de potențialul de activare în rețelele neuronale biologice.

funcțiile Sigmoid sunt, de asemenea, utile pentru multe aplicații de învățare automată în care un număr real trebuie convertit într-o probabilitate. O funcție sigmoidă plasată ca ultimul strat al unui model de învățare automată poate servi la conversia ieșirii modelului într-un scor de probabilitate, care poate fi mai ușor de lucrat și interpretat.

funcțiile Sigmoid sunt o parte importantă a unui model de regresie logistică. Regresia logistică este o modificare a regresiei liniare pentru clasificarea în două clase și convertește una sau mai multe intrări cu valoare reală într-o probabilitate, cum ar fi probabilitatea ca un client să cumpere un produs. Etapa finală a unui model de regresie logistică este adesea setată la funcția logistică, care permite modelului să producă o probabilitate.

Formula funcției sigmoide

toate funcțiile sigmoide sunt monotone și au o primă derivată în formă de clopot. Există mai multe funcții sigmoide și unele dintre cele mai cunoscute sunt prezentate mai jos.

trei dintre cele mai comune funcții sigmoide: funcția logistică, tangenta hiperbolică și arctangenta. Toate împărtășesc aceeași formă de bază S.

Logistic sigmoid funcția Formula

una dintre cele mai comune funcții sigmoid este logistic sigmoid funcția. Aceasta este adesea denumită funcția sigmoidă în domeniul învățării automate. Funcția sigmoidă logistică este definită după cum urmează:

definiția matematică a funcției logistice sigmoid, o funcție sigmoidă comună

funcția logistică ia orice intrare cu valoare reală și emite o valoare între zero și unu.

Formula funcției tangente hiperbolice

o altă funcție sigmoidă comună este funcția hiperbolică. Aceasta mapează orice intrare cu valoare reală în intervalul cuprins între -1 și 1.

definiția matematică a tangentei hiperbolice

Formula funcției Arctangente

o a treia funcție sigmoidă alternativă este arctangenta, care este inversul funcției tangente.

funcția arctangentă

funcția arctangentă mapează orice intrare cu valoare reală în intervalul-de la -2 la -2 la -7.

în graficele de mai jos putem vedea atât curba tangentă, o funcție trigonometrică binecunoscută, cât și arctangenta, inversa sa:

calcularea funcției sigmoid

exemplu de calcul al funcției logistice sigmoid

luând funcția logistic sigmoid, putem evalua valoarea funcției în mai multe puncte cheie pentru a înțelege forma funcției.

la x = 0, funcția sigmoidă logistică se evaluează la:

Acest lucru este util pentru interpretarea sigmoidului ca probabilitate într-un model de regresie logistică, deoarece arată că o intrare zero are ca rezultat o ieșire de 0,5, indicând probabilități egale ale ambelor clase.

la x = 1, găsim o valoare puțin mai mare:

și prin x = 5, valoarea funcției sigmoid devine foarte apropiată de 1.

de fapt, în limita lui x care tinde spre infinit, funcția sigmoidă converge la 1, iar spre -1 în cazul Infinitului negativ, dar derivata funcției nu ajunge niciodată la zero. Acestea sunt proprietăți foarte utile ale funcției sigmoide, deoarece tinde spre o limită, dar are întotdeauna un gradient diferit de zero.

exemplu de calcul al funcției tangente hiperbolice

în mod similar, putem calcula valoarea funcției tanh în aceste puncte cheie. În loc să fie centrat în jurul valorii de 0,5, funcția tanh este centrată la 0.

la 1, Funcția tanh a crescut relativ mult mai rapid decât funcția logistică:

și în final, cu 5, funcția tanh a convergut mult mai strâns la 1, cu 5 zecimale:

de fapt, atât funcțiile tangente hiperbolice, cât și cele arctangente converg mult mai rapid decât funcția sigmoidă logistică.

exemplu de calcul al funcției Arctangente

putem evalua funcția arctangentă în aceleași puncte pentru a vedea unde converge:

rețineți că, spre deosebire de celelalte două funcții sigmoide prezentate mai sus, arctangenta converge la Ecuador/2 mai degrabă decât la 1. Mai mult, arctangenta converge mai lent, deoarece la x = 5 nu este nici măcar aproape de valoarea sa finală. Doar cu un număr destul de mare, cum ar fi x = 5000, arctangenta se apropie foarte mult de octoctangent/2.

Rezumatul a trei funcții sigmoide

putem compara proprietățile cheie ale celor trei funcții sigmoide prezentate mai sus într-un tabel:

Sigmoid function Logistic function tanh arctan
Value in the limit x →-∞ 0 -1 -π/2
Value at x = 0 0.5 0 0
Value in the limit x →∞ 1 1 π/2
Converges Fast Very fast Very slow

Sigmoid Function vs. ReLU

în rețelele neuronale artificiale moderne, este obișnuit să se vadă în locul funcției sigmoide, redresorul, cunoscut și sub numele de unitate liniară rectificată sau ReLU, fiind utilizat ca funcție de activare. ReLU este definit ca:

definiția funcției de activare a redresorului

graficul funcției ReLU

funcția ReLU are mai multe avantaje principale față de o funcție sigmoidă într-o rețea neuronală. Principalul avantaj este că funcția ReLU este foarte rapidă de calculat. În plus, un potențial de activare într-o rețea neuronală biologică nu continuă să se schimbe pentru intrări negative, astfel încât ReLU pare mai aproape de realitatea biologică dacă un obiectiv este de a imita sistemele biologice.

în plus, pentru X pozitiv

funcția ReLU are un gradient constant de 1, în timp ce o funcție sigmoidă are un gradient care converge rapid spre 0. Această proprietate face ca rețelele neuronale cu funcții de activare sigmoidă să se antreneze lent. Acest fenomen este cunoscut sub numele de problema gradientului de dispariție. Alegerea ReLU ca funcție de activare atenuează această problemă, deoarece gradientul ReLU este întotdeauna 1 Pentru pozitiv

x și astfel procesul de învățare nu va fi încetinit de gradientul care devine mic.

cu toate acestea, gradientul zero pentru x negativ poate reprezenta o problemă similară, cunoscută sub numele de problema gradientului zero, dar este posibil să se compenseze acest lucru prin adăugarea unui mic termen liniar în x pentru a da funcției ReLU o pantă diferită de zero în toate punctele.

aplicații ale funcției sigmoide

funcția sigmoidă logistică în regresia logistică

un domeniu cheie al învățării automate în care funcția sigmoidă este esențială este un model de regresie logistică. Un model de regresie logistică este utilizat pentru a estima probabilitatea unui eveniment binar, cum ar fi dead vs alive, sick vs well, fraudulous vs honest transaction etc. Se produce o valoare de probabilitate între 0 și 1.

în regresia logistică, o funcție sigmoidă logistică este potrivită unui set de date în care variabilele independente pot lua orice valoare reală, iar variabila dependentă este fie 0, fie 1.

de exemplu, să ne imaginăm un set de date de măsurători și diagnostice tumorale. Scopul nostru este de a prezice probabilitatea răspândirii unei tumori, având în vedere dimensiunea sa în centimetri.

unele măsurători ale dimensiunilor și rezultatelor tumorii

trasând întregul set de date, avem o tendință generală care, cu cât tumora este mai mare, cu atât este mai probabil să se răspândească, deși există o suprapunere clară a ambelor clase în intervalul 2,5 cm până la 3,5 cm:

un grafic al rezultatelor tumorale versus dimensiunile tumorii

folosind regresia logistică, putem modela starea tumorii y (0 sau 1) în funcție de dimensiunea tumorii X folosind formula sigmoidă logistică:

unde trebuie să găsim valorile optime m și b, care ne permit să schimbăm și să întindem curba sigmoidă pentru a se potrivi cu datele.

în acest caz, potrivirea curbei sigmoide ne dă următoarele valori:

putem pune aceste valori înapoi în formula sigmoidă și să trasăm curba:

aceasta înseamnă că, de exemplu, având în vedere o tumoare de dimensiune 3cm, modelul nostru de regresie logistică ar prezice probabilitatea răspândirii acestei tumori ca:

intuitiv, acest lucru are sens. În datele originale, putem vedea că tumorile în jur de 3 cm sunt distribuite mai mult sau mai puțin uniform între ambele clase.să luăm în considerare o tumoare de dimensiune 6 cm. Toate tumorile din setul de date original cu dimensiunea de 4 cm sau mai mare s-au răspândit, așa că ne-am aștepta ca modelul nostru să returneze o probabilitate mare de răspândire a tumorii:

modelul a returnat o probabilitate foarte apropiată de 1, indicând certitudinea apropiată că y = 1.

Acest lucru arată modul în care funcțiile sigmoid, și funcția logistică în special, sunt extrem de puternice pentru modelarea probabilității.

de ce este folosită funcția logistică în regresia logistică și nu o altă funcție sigmoidă?

motivul pentru care funcția logistică este utilizată în regresia logistică și niciuna dintre celelalte variante sigmoide nu se datorează doar faptului că returnează în mod convenabil valori între 0 și 1. Regresia logistică este derivată din presupunerea că datele din ambele clase sunt distribuite în mod normal.

să ne imaginăm că tumorile care nu se răspândesc și tumorile care se răspândesc urmează fiecare o distribuție normală. Tumorile care nu se răspândesc sunt distribuite în mod normal cu media de 1,84 cm și deviația standard de 1 cm, iar tumorile care se răspândesc sunt distribuite în mod normal cu media de 4,3 cm, de asemenea cu deviația standard de 1 cm. Putem trasa atât funcția de densitate de probabilitate a ambelor distribuții normale:

în fiecare punct putem calcula raportul de Cote al celor două distribuții, care este funcția de densitate de probabilitate a tumorilor răspândite împărțită la suma ambelor funcții de densitate de probabilitate (non-răspândire + tumori răspândite):

trasând raportul de cote în funcție de x, putem vedea că rezultatul este curba sigmoidă logistică originală.

motivul pentru care funcția logistică este aleasă pentru regresia logistică se datorează unei presupuneri că modelăm două clase care sunt distribuite în mod normal, iar funcția logistică apare în mod natural din raportul dintre funcțiile normale de densitate de probabilitate.

funcția Sigmoid ca funcție de activare în rețelele neuronale artificiale

o rețea neuronală artificială constă din mai multe straturi de funcții, stratificate una peste alta:

o rețea neuronală feedforward cu două straturi ascunse

fiecare strat conține de obicei unele greutăți și prejudecăți și funcționează ca o regresie liniară mică. O parte crucială a straturilor este și funcția de activare.

Formula pentru primul strat ascuns al unei rețele neuronale feedforward, cu greutăți notate cu W și prejudecăți cu b, și funcția de activare g.

cu toate acestea, dacă fiecare strat din rețeaua neuronală ar conține doar greutăți și prejudecăți, dar fără funcție de activare, întreaga rețea ar fi echivalentă cu o singură combinație liniară de greutăți și prejudecăți. Cu alte cuvinte, formula pentru rețeaua neuronală ar putea fi factorizată și simplificată până la un model simplu de regresie liniară. Un astfel de model ar fi capabil să preia dependențe liniare foarte simple, dar incapabil să îndeplinească sarcinile impresionante pentru care rețelele neuronale sunt renumite, cum ar fi recunoașterea imaginii și a vocii.

funcțiile de activare au fost introduse între straturi în rețelele neuronale pentru a introduce o neliniaritate. Inițial s-au folosit funcții sigmoide, cum ar fi funcția logistică, arctangenta și tangenta hiperbolică, iar astăzi ReLU și variantele sale sunt foarte populare. Toate funcțiile de activare au același scop: introducerea unei neliniarități în rețea. Funcțiile sigmoide au fost alese ca unele dintre primele funcții de activare datorită asemănării lor percepute cu potențialul de activare în rețelele neuronale biologice.datorită utilizării unei funcții sigmoide în diferite puncte dintr-o rețea neuronală cu mai multe straturi, rețelele neuronale pot fi construite pentru a avea straturi succesive care să preia caracteristici din ce în ce mai sofisticate ale unui exemplu de intrare.

sigmoid Function History

în 1798, clericul și economistul englez Thomas Robert Malthus a publicat o carte sub un pseudonim numit An Essay on the Principle of Population, afirmând că populația crește într-o progresie geometrică (dublându-se la fiecare 25 de ani), în timp ce aprovizionarea cu alimente creștea aritmetic și că diferența dintre cele două se datora foametei pe scară largă.

la sfârșitul anilor 1830, matematicianul Belgian Pierre Fran Verhulst a experimentat diferite moduri de modelare a creșterii populației și a vrut să explice faptul că creșterea populației este în cele din urmă auto-limitată și nu crește exponențial pentru totdeauna. Verhulst a ales funcția logistică ca o ajustare logică la modelul exponențial simplu, pentru a modela încetinirea creșterii unei populații care apare atunci când o populație începe să-și epuizeze resursele.în secolul următor, biologii și alți oameni de știință au început să folosească funcția sigmoidă ca instrument standard pentru modelarea creșterii populației, de la coloniile bacteriene la civilizațiile umane.

în 1943, Warren McCulloch și Walter Pitts au dezvoltat un model de rețea neuronală artificială folosind o întrerupere dură ca funcție de activare, unde un neuron emite 1 sau 0 în funcție de faptul dacă intrarea sa este deasupra sau sub un prag.în 1972, biologii Hugh Wilson și Jack Cowan de la Universitatea din Chicago încercau să modeleze neuronii biologici computațional și au publicat modelul Wilson–Cowan, unde un neuron trimite un semnal unui alt neuron dacă primește un semnal mai mare decât un potențial de activare. Wilson și Cowan au ales funcția sigmoidă logistică pentru a modela activarea unui neuron ca funcție a unui stimul.

începând cu anii 1970 și 1980, un număr de cercetători au început să utilizeze funcțiile sigmoide în formulările rețelelor neuronale artificiale, inspirându-se din rețelele neuronale biologice. În 1998, Yann LeCun a ales tangenta hiperbolică ca funcție de activare în rețeaua sa neuronală convoluțională LeNet, care a fost prima care a putut recunoaște cifrele scrise de mână la un nivel practic de precizie.

în ultimii ani, rețelele neuronale artificiale s-au îndepărtat de funcțiile sigmoide în favoarea funcției ReLU, deoarece toate variantele funcției sigmoide sunt intensive din punct de vedere al calculului, iar ReLU oferă neliniaritatea necesară pentru a profita de adâncimea rețelei, fiind în același timp foarte rapid de calculat.