Articles

Sigmoid Funksjon

Hva Er Sigmoid Funksjon?

En Sigmoid-funksjon er en matematisk funksjon som har en karakteristisk s-formet kurve. Det finnes en rekke vanlige sigmoidfunksjoner, som logistisk funksjon, hyperbolsk tangent og arctangent

. I maskinlæring brukes begrepet

sigmoid-funksjon vanligvis til å referere spesifikt til logistisk funksjon, også kalt logistisk sigmoid-funksjon.

alle sigmoid-funksjoner har egenskapen at de kartlegger hele tallinjen i et lite område som mellom 0 og 1, eller -1 og 1, så en bruk av en sigmoid-funksjon er å konvertere en reell verdi til en som kan tolkes som en sannsynlighet.

en av de mest brukte sigmoid-funksjonene er logistisk funksjon, som tilordner noen reell verdi til området (0, 1). Legg merke til den karakteristiske s-formen som ga sigmoid funksjoner sitt navn (fra den greske bokstaven sigma).Sigmoid-funksjoner har blitt populære i dyp læring fordi De kan brukes som en aktiveringsfunksjon i et kunstig nevralt nettverk. De ble inspirert av aktiveringspotensialet i biologiske nevrale nettverk.

Sigmoid-funksjoner er også nyttige for mange maskinlæringsprogrammer der et reelt tall må konverteres til en sannsynlighet. En sigmoid-funksjon plassert som det siste laget av en maskinlæringsmodell kan tjene til å konvertere modellens utgang til en sannsynlighetsscore, noe som kan være lettere å jobbe med og tolke.

Sigmoid-funksjoner er en viktig del av en logistisk regresjonsmodell. Logistisk regresjon er en modifikasjon av lineær regresjon for to-klasse klassifisering, og konverterer en eller flere reelle innganger til en sannsynlighet, for eksempel sannsynligheten for at en kunde vil kjøpe et produkt. Den siste fasen av en logistisk regresjonsmodell er ofte satt til logistisk funksjon, som gjør at modellen kan utføre en sannsynlighet.

Sigmoid Funksjon Formel

alle sigmoid funksjoner er monotone og har et klokkeformet første derivat. Det er flere sigmoid funksjoner og noen av de mest kjente er presentert nedenfor.

Tre av de vanligste sigmoidfunksjonene: logistisk funksjon, hyperbolsk tangent og arctangent. Alle deler samme grunnleggende s-form.

Logistisk Sigmoid Funksjonsformel

en av de vanligste sigmoid-funksjonene er logistisk sigmoid-funksjonen. Dette kalles Ofte Sigmoid-Funksjonen innen maskinlæring. Den logistiske sigmoid-funksjonen er definert som følger:

Matematisk definisjon av logistisk sigmoid-funksjon, en felles sigmoid-funksjon

logistisk funksjon tar noen real-verdsatt inngang, og sender ut en verdi mellom null og en.

Hyperbolsk Tangentfunksjonsformel

En annen vanlig sigmoid-funksjon er den hyperbolske funksjonen. Dette kartlegger noen real-verdsatt inngang til området mellom -1 og 1.

Matematisk definisjon av den hyperbolske tangenten

Arctangent-Funksjonsformel

en tredje alternativ sigmoid-funksjon er arctangenten, som er den inverse av tangentfunksjonen.

arctangent-funksjonen

arctangent −funksjonen kartlegger hvilken som helst virkelig verdi i området-π/2 til π/2.

i grafene nedenfor kan vi se både tangentkurven, en kjent trigonometrisk funksjon og arctangenten, dens inverse:

beregning av sigmoid-funksjonen

eksempelberegning av logistisk sigmoid-funksjon

når vi tar logistisk sigmoid-funksjon, kan vi evaluere verdien av funksjonen på flere viktige punkter for å forstå funksjonens form.

ved x = 0 evaluerer logistisk sigmoid-funksjon til:

dette er nyttig for tolkningen av sigmoiden som en sannsynlighet i en logistisk regresjonsmodell, fordi det viser at en nullinngang resulterer i en utgang på 0,5, noe som indikerer like sannsynligheter for begge klasser.

ved x = 1 finner vi en litt større verdi:

og ved x = 5 blir verdien av sigmoid-funksjonen svært nær 1.

faktisk, i grensen for x som tenderer mot uendelig, konvergerer sigmoid-funksjonen til 1 og mot -1 i tilfelle negativ uendelig, men derivatet av funksjonen når aldri null. Disse er svært nyttige egenskaper av sigmoid-funksjonen, da den har en tendens til en grense, men alltid har en ikke-null gradient.

Eksempel Beregning Av Hyperbolsk Tangentfunksjon

På samme måte kan vi beregne verdien av tanh-funksjonen på disse hovedpunktene. I stedet for å være sentrert rundt 0,5, er tanh-funksjonen sentrert ved 0.

ved 1 har tanh-funksjonen økt relativt mye raskere enn logistisk funksjon:

og til slutt, med 5, har tanh-funksjonen konvergert mye nærmere til 1, innen 5 desimaler:

faktisk konvergerer både de hyperbolske tangent-og arctangentfunksjonene mye raskere enn den logistiske sigmoid-funksjonen.

Eksempelberegning Av Arctangent-Funksjonen

vi kan evaluere arctangent-funksjonen på samme punkter for å se hvor den konvergerer:

Merk at i motsetning til de andre to sigmoidfunksjonene som er vist ovenfor, konvergerer arctangenten til π / 2 i stedet for 1. Videre konvergerer arctangenten sakte, da ved x = 5 er den ikke engang nær sin endelige verdi. Bare ved ganske store tall, for eksempel x = 5000, blir arctangenten svært nær π / 2.

Oppsummering av tre sigmoid funksjoner

vi kan sammenligne de viktigste egenskapene til de tre sigmoid funksjoner vist ovenfor i en tabell:

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

i moderne kunstige nevrale nettverk er det vanlig å se i stedet for sigmoid-funksjonen, likeretteren, også kjent som den rettede lineære enheten, Eller ReLU, som brukes som aktiveringsfunksjon. ReLU er definert som:

Definisjon av likeretteraktiveringsfunksjonen

Graf Av ReLU-funksjonen

ReLU-funksjonen har flere hovedfordeler over en sigmoid-funksjon i et nevralt nettverk. Den største fordelen er At ReLU-funksjonen er veldig rask å beregne. I tillegg fortsetter et aktiveringspotensial i et biologisk nevralt nettverk ikke å endres for negative innganger, Slik At ReLU virker nærmere den biologiske virkeligheten hvis et mål er å etterligne biologiske systemer.

I tillegg, for positiv x

Har ReLU-funksjonen en konstant gradient på 1, mens en sigmoid-funksjon har en gradient som raskt konvergerer mot 0. Denne egenskapen gjør nevrale nettverk med sigmoid aktiveringsfunksjoner sakte å trene. Dette fenomenet er kjent som vanishing gradient problem. Valget Av ReLU som en aktiveringsfunksjon lindrer dette problemet fordi gradienten Til ReLU alltid er 1 for positiv x, og læringsprosessen vil derfor ikke bli bremset av at gradienten blir liten.nullgradienten for negativ x kan imidlertid utgjøre et lignende problem, kjent som nullgradientproblemet, men det er mulig å kompensere for dette ved å legge til en liten lineær term i x for å gi ReLU-funksjonen en ikke-null helling på alle punkter.

Anvendelser Av Sigmoid Funksjon

Logistisk sigmoid funksjon i logistisk regresjon

et nøkkelområde for maskinlæring hvor sigmoid-funksjonen er viktig er en logistisk regresjonsmodell. En logistisk regresjonsmodell brukes til å estimere sannsynligheten for en binær hendelse, for eksempel død vs levende, syk vs vel, bedragerisk vs ærlig transaksjon, etc. Den gir en sannsynlighetsverdi mellom 0 og 1.

i logistisk regresjon er en logistisk sigmoid-funksjon tilpasset et sett med data der den uavhengige variabelen(e) kan ta noen reell verdi, og den avhengige variabelen er enten 0 eller 1.

la oss for eksempel forestille oss et datasett av tumormålinger og diagnoser. Vårt mål er å forutsi sannsynligheten for en svulstspredning, gitt størrelsen i centimeter.

Noen målinger av svulstdimensjoner og utfall

Plotting av hele datasettet, vi Har en generell trend at jo større svulsten er, jo mer sannsynlig er det å ha spredt seg, selv om det er en klar overlapping av begge klassene i området 2,5 cm til 3,5 cm:

et plott av tumorutfall versus tumor dimensjoner

ved hjelp av logistisk regresjon kan Vi modellere Tumorstatus y (0 eller 1) Som en funksjon Av tumorstørrelse X Ved hjelp av logistisk sigmoid formel:

hvor vi må finne de optimale verdiene m og b, som gjør at vi kan skifte og strekke sigmoid-kurven for å matche dataene.

i dette tilfellet gir montering av sigmoid-kurven oss følgende verdier:

vi kan sette disse verdiene tilbake i sigmoid-formelen og plotte kurven:

dette betyr at for eksempel gitt en svulst av størrelse 3cm, vår logistiske Regresjonsmodell vil forutsi sannsynligheten for denne svulstspredningen som:

Intuitivt, dette gir mening. I de opprinnelige dataene kan vi se at svulstene rundt 3cm er mer eller mindre jevnt fordelt mellom begge klassene.

la oss vurdere en svulst av størrelse 6 cm. Alle svulster i det opprinnelige datasettet av størrelse 4 cm eller større hadde spredd seg, så vi forventer at vår modell ville returnere en høy sannsynlighet for spredning av svulsten:

modellen har returnert en sannsynlighet svært nær 1, noe som indikerer nær sikkerhet for at y = 1.

dette viser hvordan sigmoid fungerer, og spesielt logistisk funksjon, er ekstremt kraftig for sannsynlighetsmodellering.

hvorfor brukes logistisk funksjon i logistisk regresjon, og ikke en annen sigmoid-funksjon?

årsaken til at logistisk funksjon brukes i logistisk regresjon, og ingen av de andre sigmoid-variantene, skyldes ikke bare at den returnerer verdier mellom 0 og 1. Logistisk regresjon er avledet fra antagelsen om at data i begge klasser er normalfordelt.La oss forestille oss at ikke-spredende svulster og spredende svulster hver følger en normal fordeling. De ikke-spredende svulstene er normalfordelt med gjennomsnittlig 1,84 cm og standardavvik 1 cm, og spredningstumorene er normalfordelt med gjennomsnittlig 4,3 cm, også med standardavvik 1 cm. Vi kan plotte både sannsynlighetstetthetsfunksjonen til begge disse normalfordelingene:

på hvert punkt kan vi beregne oddsforholdet for de to fordelingene, som er sannsynlighetstetthetsfunksjonen til spredningstumorene dividert med summen av begge sannsynlighetstetthetsfunksjonene (ikke-spredende + spredningstumorer):

Plotting av oddsforholdet som en funksjon av x, vi kan se at resultatet er den opprinnelige logistiske sigmoid-kurven.

grunnen til at logistisk funksjon er valgt for logistisk regresjon skyldes en antagelse at vi modellerer to klasser som begge er normalfordelte, og den logistiske funksjonen oppstår naturlig fra forholdet mellom normale sannsynlighetstetthetsfunksjoner.

Sigmoid funksjon som aktiveringsfunksjon i kunstige nevrale nettverk

et kunstig nevrale nettverk består av flere lag med funksjoner, lagdelt oppå hverandre:

et feedforward nevralt nettverk med to skjulte lag

Hvert lag inneholder vanligvis noen vekter og skjevheter og funksjoner som en liten lineær regresjon. En viktig del av lagene er også aktiveringsfunksjonen.

Formel for det første skjulte laget av et feedforward-nevralt nettverk, med vekter betegnet Med W og biaser av b, og aktiveringsfunksjon g.Men hvis hvert lag i det nevrale nettverket skulle inneholde bare vekter og skjevheter, men ingen aktiveringsfunksjon, ville hele nettverket være ekvivalent med en enkelt lineær kombinasjon av vekter og skjevheter. Med andre ord kan formelen for det nevrale nettverket faktoriseres og forenkles ned til en enkel lineær regresjonsmodell. En slik modell vil kunne plukke opp svært enkle lineære avhengigheter, men ikke i stand til å utføre de imponerende oppgavene som nevrale nettverk er kjent for, for eksempel bilde-og stemmegjenkjenning.

Aktiveringsfunksjoner ble introdusert mellom lag i nevrale nettverk for å introdusere en ikke-linearitet. Opprinnelig ble sigmoidfunksjoner som logistisk funksjon, arctangent og hyperbolsk tangent brukt, og I Dag Er ReLU og dens varianter svært populære. Alle aktiveringsfunksjoner tjener samme formål: å introdusere en ikke-linearitet i nettverket. Sigmoid-funksjoner ble valgt som noen av de første aktiveringsfunksjonene takket være deres oppfattede likhet med aktiveringspotensialet i biologiske nevrale nettverk.Takket være bruken av en sigmoid-funksjon på forskjellige punkter i et flerlags nevralt nettverk, kan nevrale nettverk bygges for å få suksessive lag til å plukke opp stadig mer sofistikerte funksjoner i et inngangseksempel.

Sigmoid Function History

I 1798 publiserte Den engelske geistlige Og økonomen Thomas Robert Malthus en bok under et pseudonym kalt An Essay on The Principle Of Population, og hevdet at befolkningen økte geometrisk (doblet hvert 25. år) mens matforsyningene økte aritmetisk, og at forskjellen mellom de to skyldtes utbredt hungersnød.På slutten av 1830-tallet eksperimenterte Den Belgiske matematikeren Pierre Franç Verhulst med ulike måter å modellere befolkningsvekst på, og ønsket å redegjøre for det faktum at befolkningens vekst i siste instans er selvbegrensende og ikke øker eksponentielt for alltid. Verhulst valgte den logistiske funksjonen som en logisk tilpasning til den enkle eksponentielle modellen, for å modellere nedbremsing av befolkningens vekst som oppstår når en befolkning begynner å utmatte sine ressurser.I løpet av det neste århundre begynte biologer og andre forskere å bruke sigmoid-funksjonen som et standardverktøy for å modellere befolkningsvekst, fra bakteriekolonier til menneskelige sivilisasjoner.I 1943 utviklet Warren McCulloch og Walter Pitts en kunstig nevral nettverksmodell ved hjelp av en hard cutoff som en aktiveringsfunksjon, hvor et nevron sender ut 1 eller 0 avhengig av om inngangen er over eller under en terskel.I 1972 forsøkte Biologene Hugh Wilson og Jack Cowan ved University Of Chicago å modellere biologiske nevroner beregningsmessig og publiserte Wilson-Cowan-modellen, hvor en neuron sender et signal til en annen neuron hvis den mottar et signal som er større enn et aktiveringspotensial. Wilson og Cowan valgte den logistiske sigmoid-funksjonen for å modellere aktiveringen av et nevron som en funksjon av et stimulus.Fra 1970-og 1980-tallet og fremover begynte en rekke forskere å bruke sigmoid-funksjoner i formuleringer av kunstige nevrale nettverk, og tok inspirasjon fra biologiske nevrale nettverk. I 1998 valgte Yann LeCun den hyperbolske tangenten som en aktiveringsfunksjon i Sitt banebrytende innviklede nevrale nettverk LeNet, som var den første som kunne gjenkjenne håndskrevne sifre til et praktisk nivå av nøyaktighet.i de senere år har kunstige nevrale nettverk flyttet seg fra sigmoid-funksjoner til Fordel For ReLU-funksjonen, siden alle varianter av sigmoid-funksjonen er beregningsintensive å beregne, og ReLU gir den nødvendige ikke-lineariteten for å dra nytte av nettverksdybden, samtidig som den er veldig rask å beregne.