Articles

Sigmoid funktion

Hvad er sigmoid funktion?

en Sigmoid funktion er en matematisk funktion, som har en karakteristisk S-formet kurve. Der er en række almindelige sigmoid-funktioner, såsom den logistiske funktion, den hyperbolske tangent og arctangenten

. I maskinlæring bruges udtrykket

sigmoid-funktion normalt til specifikt at henvise til den logistiske funktion, også kaldet den logistiske sigmoid-funktion.

alle sigmoid-funktioner har den egenskab, at de kortlægger hele talelinjen i et lille interval, såsom mellem 0 og 1 eller -1 og 1, så en anvendelse af en sigmoid-funktion er at konvertere en reel værdi til en, der kan fortolkes som en sandsynlighed.

en af de mest anvendte sigmoid-funktioner er den logistiske funktion, der kortlægger enhver reel værdi til området (0, 1). Bemærk den karakteristiske S-form, der gav sigmoid-funktioner deres navn (fra det græske bogstav sigma).

Sigmoid-funktioner er blevet populære i dyb læring, fordi de kan bruges som en aktiveringsfunktion i et kunstigt neuralt netværk. De blev inspireret af aktiveringspotentialet i biologiske neurale netværk.

Sigmoid-funktioner er også nyttige til mange maskinlæringsapplikationer, hvor et reelt tal skal konverteres til en sandsynlighed. En sigmoid-funktion placeret som det sidste lag i en maskinindlæringsmodel kan tjene til at konvertere modelens output til en sandsynlighedsscore, som kan være lettere at arbejde med og fortolke.

Sigmoidfunktioner er en vigtig del af en logistisk regressionsmodel. Logistisk regression er en ændring af lineær regression til klassificering i to klasser og konverterer en eller flere reelle værdier input til en sandsynlighed, såsom sandsynligheden for, at en kunde vil købe et produkt. Den sidste fase af en logistisk regressionsmodel er ofte indstillet til den logistiske funktion, som gør det muligt for modellen at udsende en sandsynlighed.

Sigmoid funktion formel

alle sigmoid funktioner er monotone og har en klokkeformet første derivat. Der er flere sigmoidfunktioner, og nogle af de mest kendte er præsenteret nedenfor.

tre af de mest almindelige sigmoid-funktioner: den logistiske funktion, den hyperbolske tangent og arctangenten. Alle deler den samme grundlæggende S-form.

logistisk sigmoid-Funktionsformel

en af de mest almindelige sigmoid-funktioner er den logistiske sigmoid-funktion. Dette kaldes ofte Sigmoid-funktionen inden for maskinindlæring. Den logistiske sigmoid-funktion er defineret som følger:

matematisk definition af den logistiske sigmoid-funktion, en fælles sigmoid-funktion

den logistiske funktion tager ethvert realværdigt input og udsender en værdi mellem nul og en.

hyperbolsk Tangentfunktionsformel

en anden almindelig sigmoid-funktion er den hyperbolske funktion. Dette kortlægger enhver reel værdi input til intervallet mellem -1 og 1.

matematisk definition af den hyperbolske tangent

Arctangent-Funktionsformel

en tredje alternativ sigmoid-funktion er arctangenten, som er den inverse af tangentfunktionen.

arctangent-funktionen

arctangent −funktionen kortlægger ethvert realværdigt input til området-larr/2 til larr/2.

i nedenstående grafer kan vi se både tangentkurven, en velkendt trigonometrisk funktion og arctangenten, dens inverse:

beregning af sigmoid-funktionen

eksempelberegning af logistisk sigmoid-funktion

ved at tage den logistiske sigmoid-funktion kan vi evaluere værdien af funktionen på flere nøglepunkter for at forstå funktionens form.

at = 0, den logistiske sigmoid funktion evaluerer til:

Dette er nyttigt til fortolkningen af sigmoid som en Sandsynlighed i en logistisk regressionsmodel, fordi den viser, at en nulindgang resulterer i en output på 0,5, hvilket indikerer lige sandsynligheder for begge klasser.1 finder vi en lidt større værdi:

og ved H = 5 bliver værdien af sigmoid-funktionen meget tæt på 1.

faktisk konvergerer sigmoid-funktionen til 1 og mod -1 i tilfælde af negativ uendelighed, men derivatet af funktionen når aldrig nul. Disse er meget nyttige egenskaber ved sigmoid-funktionen, da den har tendens til en grænse, men altid har en ikke-nul gradient.

Eksempelberegning af hyperbolsk Tangentfunktion

Tilsvarende kan vi beregne værdien af tanh-funktionen på disse nøglepunkter. I stedet for at være centreret omkring 0,5, er tanh-funktionen centreret ved 0.

Ved 1 er tanh-funktionen steget relativt meget hurtigere end den logistiske funktion:

og endelig med 5 har tanh-funktionen konvergeret meget tættere til 1 inden for 5 decimaler:

faktisk konvergerer både de hyperbolske tangent-og arctangentfunktioner meget hurtigere end den logistiske sigmoid-funktion.

Eksempelberegning af Arctangent-funktionen

Vi kan evaluere arctangent-funktionen på de samme punkter for at se, hvor den konvergerer:

Bemærk, at i modsætning til de to andre sigmoid-funktioner, der er vist ovenfor, konvergerer arctangenten til larr/2 snarere end 1. Desuden konvergerer arctangenten langsommere, da den ved H = 5 ikke engang er tæt på dens endelige værdi. Kun med ganske store tal, som f. eks. 5000, kommer arctangenten meget tæt på kr. / 2.

oversigt over tre sigmoid-funktioner

Vi kan sammenligne nøgleegenskaberne for de tre sigmoid-funktioner vist ovenfor i en 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

i moderne kunstige neurale netværk er det almindeligt at se i stedet for sigmoid-funktionen, ensretteren, også kendt som den korrigerede lineære enhed, eller ReLU, der bruges som aktiveringsfunktion. ReLU er defineret som:

Definition af ensretteraktiveringsfunktionen

graf af ReLU-funktionen

ReLU-funktionen har flere hovedfordele i forhold til en sigmoid-funktion i et neuralt netværk. Den største fordel er, at ReLU-funktionen er meget hurtig at beregne. Derudover fortsætter et aktiveringspotentiale i et biologisk neuralt netværk ikke med at ændre sig for negative input, så ReLU synes tættere på den biologiske virkelighed, hvis et mål er at efterligne biologiske systemer.ReLU-funktionen har desuden en konstant gradient på 1, mens en sigmoid-funktion har en gradient, der hurtigt konvergerer mod 0. Denne egenskab gør neurale netværk med sigmoid-aktiveringsfunktioner langsomme til at træne. Dette fænomen er kendt som forsvindende gradient problem. Valget af ReLU som en aktiveringsfunktion lindrer dette problem, fordi gradienten af ReLU altid er 1 For positiv

, og læringsprocessen vil derfor ikke blive bremset af, at gradienten bliver lille.nulgradienten kan imidlertid udgøre et lignende problem, kendt som nulgradientproblemet, men det er muligt at kompensere for dette ved at tilføje et lille lineært udtryk i H for at give ReLU-funktionen en ikke-nul hældning på alle punkter.

anvendelser af Sigmoid-funktion

logistisk sigmoid-funktion i logistisk regression

et nøgleområde for maskinlæring, hvor sigmoid-funktionen er essentiel, er en logistisk regressionsmodel. En logistisk regressionsmodel bruges til at estimere sandsynligheden for en binær begivenhed, såsom død vs levende, syg vs godt, svigagtig vs ærlig transaktion osv. Det udsender en sandsynlighedsværdi mellem 0 og 1.

i logistisk regression er en logistisk sigmoid-funktion egnet til et sæt data, hvor den uafhængige variabel(er) kan tage en hvilken som helst reel værdi, og den afhængige variabel er enten 0 eller 1.

lad os for eksempel forestille os et datasæt af tumormålinger og diagnoser. Vores mål er at forudsige sandsynligheden for, at en tumor spreder sig i betragtning af dens størrelse i centimeter.

nogle målinger af tumordimensioner og resultater

planlægning af hele datasættet har vi en generel tendens, at jo større tumoren er, desto mere sandsynligt er det at have spredt sig, selvom der er en klar overlapning af begge klasser i området 2,5 cm til 3,5 cm:

et plot af tumorresultater versus tumordimensioner

Ved hjælp af logistisk regression kan vi modellere Tumorstatus y (0 eller 1) som en funktion af tumorstørrelse ved hjælp af logistisk sigmoid formel:

hvor vi skal finde de optimale værdier m og b, som giver os mulighed for at skifte og strække sigmoid-kurven for at matche dataene.

i dette tilfælde giver montering af sigmoid-kurven os følgende værdier:

Vi kan sætte disse værdier tilbage i sigmoid-formlen og plotte kurven:

dette betyder, at for eksempel givet en tumor i størrelse 3 cm, vores logistiske regressionsmodel ville forudsige sandsynligheden for, at denne tumor spredes som:

intuitivt giver det mening. I de originale data kan vi se, at tumorerne omkring 3 cm er mere eller mindre jævnt fordelt mellem begge klasser.

lad os overveje en tumor af størrelse 6 cm. Alle tumorer i det originale datasæt med størrelse 4 cm eller derover havde spredt sig, så vi ville forvente, at vores model ville returnere en høj sandsynlighed for, at tumoren spredte sig:

modellen har returneret en sandsynlighed meget tæt på 1, hvilket indikerer den nærmeste sikkerhed for, at y = 1.

Dette viser, hvordan sigmoid-funktioner og især den logistiske funktion er ekstremt kraftfulde til sandsynlighedsmodellering.

hvorfor bruges den logistiske funktion i logistisk regression og ikke en anden sigmoid-funktion?

årsagen til, at den logistiske funktion bruges i logistisk regression, og ingen af de andre sigmoid-varianter, skyldes ikke kun, at den bekvemt returnerer værdier mellem 0 og 1. Logistisk regression er afledt af antagelsen om, at data i begge klasser normalt distribueres.

lad os forestille os, at ikke-spredende tumorer og spredende tumorer hver følger en normal fordeling. De ikke-spredende tumorer fordeles normalt med gennemsnit 1,84 cm og standardafvigelse 1 cm, og de spredende tumorer fordeles normalt med gennemsnit 4,3 cm, også med standardafvigelse 1 cm. Vi kan plotte både sandsynlighedsdensitetsfunktionen for begge disse normale fordelinger:

på hvert punkt kan vi beregne oddsforholdet for de to fordelinger, hvilket er sandsynlighedsdensitetsfunktionen for de spredte tumorer divideret med summen af begge sandsynlighedsdensitetsfunktioner (ikke-spredende + spredte tumorer):

plotte oddsforholdet som en funktion af de spredte tumorer, der er vi kan se, at resultatet er den oprindelige logistiske sigmoid kurve.

årsagen til, at den logistiske funktion er valgt til logistisk regression, skyldes en antagelse, at vi modellerer to klasser, som begge er normalt fordelt, og den logistiske funktion opstår naturligt fra forholdet mellem normale sandsynlighedstæthedsfunktioner.

Sigmoid funktion som aktiveringsfunktion i kunstige neurale netværk

et kunstigt neuralt netværk består af flere lag funktioner, lagdelt oven på hinanden:

et fremadgående neuralt netværk med to skjulte lag

hvert lag indeholder typisk nogle vægte og forstyrrelser og funktioner som en lille lineær regression. En afgørende del af lagene er også aktiveringsfunktionen.

formel for det første skjulte lag af et fremadgående neuralt netværk med vægte betegnet med V og forstyrrelser med b og aktiveringsfunktion g.

men hvis hvert lag i det neurale netværk kun skulle indeholde vægte og forstyrrelser, men ingen aktiveringsfunktion, ville hele netværket svare til en enkelt lineær kombination af vægte og forstyrrelser. Med andre ord kunne formlen for det neurale netværk faktoriseres og forenkles til en simpel lineær regressionsmodel. En sådan model ville være i stand til at hente meget enkle lineære afhængigheder, men ikke i stand til at udføre de imponerende opgaver, som neurale netværk er kendt for, såsom billed-og stemmegenkendelse.

aktiveringsfunktioner blev introduceret mellem lag i neurale netværk for at indføre en ikke-linearitet. Oprindeligt blev sigmoidfunktioner såsom logistisk funktion, arctangent og hyperbolsk tangent brugt, og i dag er ReLU og dens varianter meget populære. Alle aktiveringsfunktioner tjener det samme formål: at introducere en ikke-linearitet i netværket. Sigmoid-funktioner blev valgt som nogle af de første aktiveringsfunktioner takket være deres opfattede lighed med aktiveringspotentialet i biologiske neurale netværk.takket være brugen af en sigmoid-funktion på forskellige punkter i et flerlags neuralt netværk kan neurale netværk bygges til at få successive lag til at samle op på stadig mere sofistikerede funktioner i et inputeksempel.

Sigmoid Funktionshistorie

i 1798 udgav den engelske gejstlige og økonom Thomas Robert Malthus en bog under et pseudonym kaldet et Essay om Befolkningsprincippet og hævdede, at befolkningen steg i en geometrisk progression (fordobling hvert 25.år), mens fødevareforsyningen steg aritmetisk, og at forskellen mellem de to skyldtes udbredt hungersnød.

i slutningen af 1830 ‘ erne eksperimenterede den belgiske matematiker Pierre Franrius Verhulst med forskellige måder at modellere befolkningsvækst på og ønskede at redegøre for det faktum, at en befolknings vækst i sidste ende er selvbegrænsende og ikke stiger eksponentielt for evigt. Verhulst valgte den logistiske funktion som en logisk tilpasning til den enkle eksponentielle model for at modellere afmatningen af en befolknings vækst, der opstår, når en befolkning begynder at udtømme sine ressourcer.

i løbet af det næste århundrede begyndte biologer og andre forskere at bruge sigmoid-funktionen som et standardværktøj til modellering af befolkningsvækst, fra bakteriekolonier til menneskelige civilisationer.i 1943 udviklede McCulloch og Pitts en kunstig neural netværksmodel ved hjælp af en hård cutoff som en aktiveringsfunktion, hvor en neuron udsender 1 eller 0 afhængigt af om dens input er over eller under en tærskel.i 1972 forsøgte biologerne at modellere biologiske neuroner beregningsmæssigt og offentliggjorde en neuron, hvor en neuron sender et signal til en anden neuron, hvis den modtager et signal, der er større end et aktiveringspotentiale. Det er en af de mest almindelige årsager til, at en neuron er en del af en neuron.

fra 1970 ‘erne og 1980’ erne og fremefter begyndte en række forskere at bruge sigmoid-funktioner i formuleringer af kunstige neurale netværk med inspiration fra biologiske neurale netværk. I 1998 valgte Yann LeCun den hyperbolske tangent som en aktiveringsfunktion i sit banebrydende indviklede neurale netværk LeNet, som var den første til at kunne genkende håndskrevne cifre til et praktisk nøjagtighedsniveau.

i de senere år har kunstige neurale netværk bevæget sig væk fra sigmoid-funktioner til fordel for ReLU-funktionen, da alle varianter af sigmoid-funktionen er beregningsintensive at beregne, og ReLU giver den nødvendige ikke-linearitet til at drage fordel af dybden af netværket, samtidig med at det er meget hurtigt at beregne.