Articles

Sigmoid functie

Wat is de Sigmoid functie?

een Sigmoïdfunctie is een wiskundige functie die een karakteristieke S-vormige kromme heeft. Er zijn een aantal gemeenschappelijke sigmoid functies, zoals de logistische functie, de hyperbolische tangens, en de arctangent

. In machine learning wordt de term

sigmoid-functie gewoonlijk gebruikt om specifiek te verwijzen naar de logistische functie, ook wel de logistische sigmoid-functie genoemd.

alle sigmoid-functies hebben de eigenschap dat ze de gehele getallenlijn toewijzen in een klein bereik zoals tussen 0 en 1, of -1 en 1, dus een gebruik van een sigmoid-functie is om een reële waarde om te zetten in een waarde die kan worden geïnterpreteerd als een waarschijnlijkheid.

een van de meest gebruikte sigmoid-functies is de logistische functie, die elke reële waarde toewijst aan het bereik (0, 1). Let op de karakteristieke S-vorm die sigmoid functies hun naam gaf (van de Griekse letter sigma).

Sigmoid functies zijn populair geworden in deep learning omdat ze kunnen worden gebruikt als een activeringsfunctie in een kunstmatig neuraal netwerk. Ze werden geïnspireerd door het activeringspotentieel in biologische neurale netwerken.

Sigmoid functies zijn ook nuttig voor veel machine learning toepassingen waar een reëel getal moet worden geconverteerd naar een waarschijnlijkheid. Een sigmoid functie geplaatst als de laatste laag van een machine het leren model kan dienen om de output van het model in een waarschijnlijkheidsscore om te zetten, die gemakkelijker kan zijn om met te werken en te interpreteren.

Sigmoid functies zijn een belangrijk onderdeel van een logistisch regressiemodel. Logistische regressie is een wijziging van lineaire regressie voor twee-klasse classificatie, en zet een of meer real-gewaardeerde inputs in een waarschijnlijkheid, zoals de waarschijnlijkheid dat een klant een product zal kopen. De laatste fase van een logistiek regressiemodel wordt vaak ingesteld op de logistieke functie, die het model toelaat om een waarschijnlijkheid uit te voeren.

Sigmoid Functieformule

alle sigmoid functies zijn monotoon en hebben een belvormige eerste afgeleide. Er zijn verschillende sigmoid functies en enkele van de bekendste worden hieronder gepresenteerd.

drie van de meest voorkomende sigmoid functies: de logistische functie, de hyperbolische tangens en de arctangent. Alle delen dezelfde basis S-vorm.

logistische sigmoid functie formule

een van de meest voorkomende sigmoid functies is de logistische sigmoid functie. Dit wordt vaak bedoeld als de Sigmoid-functie op het gebied van machine het leren. De logistische sigmoid functie wordt als volgt gedefinieerd:

wiskundige definitie van de logistische sigmoid-functie, een gemeenschappelijke sigmoid-functie

de logistische functie neemt elke reële waarde invoer, en geeft een waarde tussen nul en één.

hyperbolische Tangentfunctie formule

een andere veel voorkomende sigmoïdfunctie is de hyperbolische functie. Dit wijst elke real-gewaardeerde invoer toe aan het bereik tussen -1 en 1.

wiskundige definitie van de hyperbolische raaklijn

arctangent functie formule

een derde alternatieve sigmoid functie is de arctangent, die de inverse van de raaklijnfunctie is.

De arctangent-functie

De arctangent −functie geeft elke invoer met reële waarde aan in het bereik-π/2 tot π/2.

in de onderstaande grafieken zien we zowel de raakcurve, een bekende trigonometrische functie, als de arctangent, zijn inverse:

Berekening van de Sigmoid Functie

Voorbeeld Berekening van de Logistieke Sigmoid Functie

het Nemen van de logistieke sigmoid functie, kunnen we beoordelen wat de waarde van de functie op een aantal belangrijke punten om te begrijpen van de functie de vorm.

bij x = 0 evalueert de logistische sigmoid-functie:

Dit is nuttig voor de interpretatie van de sigmoid als een waarschijnlijkheid in een logistisch regressiemodel, omdat het laat zien dat een nulinvoer resulteert in een uitvoer van 0,5, wat wijst op gelijke kansen voor beide klassen.

bij x = 1 vinden we een iets grotere waarde:

en door x = 5 komt de waarde van de sigmoid-functie heel dicht bij 1.

in feite convergeert de sigmoid-functie in de limiet van x die naar oneindig neigt naar 1, en naar -1 in het geval van negatieve oneindigheid, maar de afgeleide van de functie bereikt nooit nul. Dit zijn zeer nuttige eigenschappen van de sigmoid-functie, omdat deze naar een limiet neigt maar altijd een niet-nulgradiënt heeft.

voorbeeld berekening van hyperbolische Tangentfunctie

evenzo kunnen we de waarde van de tanh-functie op deze belangrijke punten berekenen. In plaats van gecentreerd rond 0.5, is de tanh-functie gecentreerd op 0.

bij 1 is de tanh-functie relatief veel sneller toegenomen dan de logistische functie:

en ten slotte is de tanh-functie met 5 decimalen veel dichter bij 1 gekomen:

in feite convergeren zowel de hyperbolische Tangent-als de arctangent-functies veel sneller dan de logistische sigmoid-functie.

voorbeeld berekening van de Arctangent functie

We kunnen de arctangent functie op dezelfde punten evalueren om te zien waar het convergeert:

merk op dat in tegenstelling tot de andere twee sigmoid functies hierboven, de arctangent convergeert naar π/2 in plaats van 1. Bovendien convergeert de arctangent langzamer, omdat het bij x = 5 niet eens in de buurt komt van de uiteindelijke waarde. Slechts door vrij grote aantallen, zoals x = 5000, wordt arctangent zeer dicht bij π/2.

samenvatting van drie sigmoid-functies

We kunnen de belangrijkste eigenschappen van de drie sigmoid-functies hierboven in een tabel vergelijken:

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

in moderne kunstmatige neurale netwerken is het gebruikelijk om in plaats van de sigmoid-functie, de gelijkrichter, ook bekend als de gerectificeerde lineaire eenheid, of ReLU, te zien als de activeringsfunctie. De ReLU wordt gedefinieerd als:

definitie van de gelijkrichter activeringsfunctie

grafiek van de ReLU-functie

De ReLU-functie heeft verschillende belangrijke voordelen ten opzichte van een sigmoid-functie in een neuraal netwerk. Het belangrijkste voordeel is dat de ReLU functie zeer snel te berekenen is. Bovendien verandert een activeringspotentieel in een biologisch neuraal netwerk niet voor negatieve input, dus lijkt de ReLU dichter bij de biologische realiteit als een doel is om biologische systemen na te bootsen.

bovendien heeft de ReLU-functie voor positieve x

een constante gradiënt van 1, terwijl een sigmoid-functie een gradiënt heeft die snel convergeert naar 0. Deze eigenschap maakt neurale netwerken met sigmoid activeringsfuncties traag te trainen. Dit fenomeen staat bekend als het verdwijnende gradiëntprobleem. De keuze van ReLU als een activeringsfunctie verlicht dit probleem omdat de gradiënt van de ReLU altijd 1 is voor positieve

x en dus het leerproces niet wordt vertraagd door de gradiënt die klein wordt.

De nulgradiënt voor negatieve x kan echter een soortgelijk probleem vormen, bekend als het nulgradiëntprobleem, maar het is mogelijk om dit te compenseren door een kleine lineaire term in x toe te voegen om de ReLU-functie op alle punten een niet-nulhelling te geven.

toepassingen van Sigmoid functie

logistische sigmoid functie in logistische regressie

een belangrijk gebied van machine learning waar de sigmoid functie essentieel is is een logistisch regressiemodel. Een logistiek regressiemodel wordt gebruikt om de waarschijnlijkheid van een binaire gebeurtenis te schatten, zoals dead vs alive, sick vs well, frauduleuze vs eerlijke transactie, enz. Het geeft een waarschijnlijkheidswaarde tussen 0 en 1.

in logistische regressie is een logistische sigmoid-functie geschikt voor een verzameling gegevens waarbij de onafhankelijke variabele (s) elke reële waarde kan aannemen, en de afhankelijke variabele is 0 of 1.

bijvoorbeeld, stel je een dataset voor van tumormetingen en diagnoses. Ons doel is om de kans op verspreiding van een tumor te voorspellen, gezien de grootte in centimeters.

Sommige metingen van de tumor afmetingen en resultaten

het Plotten van de gehele dataset, hebben we een algemene trend dat hoe groter de tumor, hoe groter de kans is om verspreid, maar er is een duidelijke overlap van beide klassen in de range van 2,5 cm tot 3,5 cm:

Een perceel van tumor resultaten versus tumor afmetingen

met Behulp van logistische regressie, kunnen we het model van de tumor status y (0 of 1) als functie van de tumor grootte x gebruik maken van de logistieke dikke formule:

waar we de optimale waarden m en b moeten vinden, die ons in staat stellen de sigmoid-curve te verschuiven en uit te rekken om met de gegevens overeen te komen.

in dit geval geeft de aanpassing van de sigmoid-curve ons de volgende waarden:

We kunnen deze waarden terugzetten in de sigmoid-formule en de curve plotten:

Dit betekent dat, bijvoorbeeld, bij een tumor van 3 cm, onze logistische regressie model zou de kans voorspellen dat deze tumor zich verspreidt als:

intuïtief is dit zinvol. In de oorspronkelijke gegevens, kunnen we zien dat de tumoren rond 3cm zijn min of meer gelijkmatig verdeeld over beide klassen.

laten we eens kijken naar een tumor van 6 cm groot. Alle tumoren in de oorspronkelijke dataset met een grootte van 4 cm of groter hadden zich verspreid, dus we zouden verwachten dat ons model een hoge waarschijnlijkheid van de tumorverspreiding zou retourneren:

het model heeft een waarschijnlijkheid teruggegeven die zeer dicht bij 1 ligt, wat de bijna zekerheid aangeeft dat y = 1.

Dit laat zien hoe sigmoid-functies, en de logistische functie in het bijzonder, extreem krachtig zijn voor waarschijnlijkheidsmodellering.

Waarom wordt de logistische functie gebruikt in logistische regressie, en niet een andere sigmoid functie?

de reden dat de logistische functie wordt gebruikt in logistische regressie, en geen van de andere sigmoid-varianten, is niet alleen te wijten aan het feit dat het gemakkelijk waarden tussen 0 en 1 retourneert. Logistische regressie wordt afgeleid uit de veronderstelling dat gegevens in beide klassen normaal worden verdeeld.

stel je voor dat niet-verspreidende tumoren en verspreidende tumoren elk een normale verdeling volgen. De niet-verspreiding tumoren worden normaal verdeeld met gemiddelde 1,84 cm en standaardafwijking 1 cm, en de verspreiding tumoren worden normaal verdeeld met gemiddelde 4,3 cm, ook met standaardafwijking 1 cm. We kunnen zowel de kansdichtheidsfunctie van beide normale distributies plotten:

op elk punt kunnen we de odds ratio van de twee distributies berekenen, dat is de kansdichtheidsfunctie van de verspreidingstumoren gedeeld door de som van beide kansdichtheidsfuncties (niet-verspreidende + verspreidingstumoren):

het plotten van de odds ratio als een functie van x, kunnen we zien dat de het resultaat is de oorspronkelijke logistische sigmoid curve.

de reden dat de logistische functie is gekozen voor logistische regressie is te wijten aan een aanname dat we twee klassen modelleren die beide normaal verdeeld zijn, en de logistische functie komt natuurlijk voort uit de verhouding van normale kanssensiteitsfuncties.

Sigmoid-functie als activeringsfunctie in kunstmatige neurale netwerken

een kunstmatig neuraal netwerk bestaat uit meerdere lagen van functies, bovenop elkaar gelaagd:

een feedforward neuraal netwerk met twee verborgen lagen

elke laag bevat meestal enkele gewichten en vooroordelen en functies zoals een kleine lineaire regressie. Een cruciaal onderdeel van de lagen is ook de activeringsfunctie.

formule voor de eerste Verborgen laag van een feedforward neuraal netwerk, met gewichten aangeduid met W en vooroordelen door b, en activeringsfunctie g.

echter, als elke laag in het neurale netwerk alleen gewichten en vooringenomenheden zou bevatten, maar geen activeringsfunctie, zou het gehele netwerk gelijk zijn aan een enkele lineaire combinatie van gewichten en vooringenomenheden. Met andere woorden, de formule voor het neurale netwerk kan worden ontbonden en vereenvoudigd tot een eenvoudig lineair regressiemodel. Een dergelijk model zou in staat zijn om zeer eenvoudige lineaire afhankelijkheden op te pikken, maar niet in staat om de indrukwekkende taken uit te voeren waar neurale netwerken bekend om staan, zoals Beeld-en spraakherkenning.

Activeringsfuncties werden geïntroduceerd tussen lagen in neurale netwerken om een niet-lineariteit te introduceren. Oorspronkelijk werden sigmoid functies zoals de logistische functie, arctangent, en hyperbolische tangens gebruikt, en vandaag zijn ReLU en zijn varianten zeer populair. Alle activeringsfuncties dienen hetzelfde doel: het introduceren van een niet-lineariteit in het netwerk. Sigmoid functies werden gekozen als enkele van de eerste activeringsfuncties dankzij hun waargenomen gelijkenis met het activeringspotentieel in biologische neurale netwerken.

dankzij het gebruik van een sigmoid-functie op verschillende punten binnen een neuraal netwerk met meerdere lagen, kunnen neurale netwerken worden gebouwd om opeenvolgende lagen te laten oppikken op steeds meer geavanceerde kenmerken van een invoervoorbeeld.in 1798 publiceerde de Engelse geestelijke en econoom Thomas Robert Malthus een boek onder een pseudoniem genaamd An Essay on the Principle of Population, waarin hij stelde dat de bevolking in een geometrische progressie (verdubbeling elke 25 jaar) toenam terwijl de voedselvoorziening rekenkundig toenam, en dat het verschil tussen de twee te wijten was aan wijdverspreide hongersnood.in de late jaren 1830 experimenteerde de Belgische wiskundige Pierre François Verhulst met verschillende manieren om de bevolkingsgroei te modelleren, en wilde er rekening mee houden dat de bevolkingsgroei uiteindelijk zelfbeperkend is en niet exponentieel voor altijd toeneemt. Verhulst koos voor de logistieke functie als een logische aanpassing aan het eenvoudige exponentiële model, om de vertraging van de bevolkingsgroei te modelleren die optreedt wanneer een bevolking haar hulpbronnen begint te uitputten.in de loop van de volgende eeuw begonnen biologen en andere wetenschappers de sigmoid-functie te gebruiken als een standaardinstrument voor het modelleren van populatiegroei, van bacteriële kolonies tot menselijke beschavingen.in 1943 ontwikkelden Warren McCulloch en Walter Pitts een kunstmatig neuraal netwerkmodel met een harde cutoff als activeringsfunctie, waarbij een neuron 1 of 0 uitzendt, afhankelijk van of de ingang boven of onder een drempelwaarde ligt.in 1972 probeerden de biologen Hugh Wilson en Jack Cowan van de Universiteit van Chicago biologische neuronen computationeel te modelleren en publiceerden het Wilson–Cowan model, waarin een neuron een signaal naar een ander neuron stuurt als het een signaal ontvangt dat groter is dan een activeringspotentieel. Wilson en Cowan kozen voor de logistische sigmoid functie om de activering van een neuron te modelleren als functie van een stimulus.

vanaf de jaren 1970 en 1980 begon een aantal onderzoekers sigmoid functies te gebruiken in formuleringen van kunstmatige neurale netwerken, waarbij ze zich lieten inspireren door biologische neurale netwerken. In 1998 koos Yann LeCun de hyperbolische tangens als activeringsfunctie in zijn baanbrekende convolutionele neurale netwerk LeNet, dat als eerste in staat was om handgeschreven cijfers tot een praktisch niveau van nauwkeurigheid te herkennen.

in de afgelopen jaren zijn kunstmatige neurale netwerken van sigmoid-functies verschoven ten gunste van de ReLU-functie, omdat alle varianten van de sigmoid-functie rekenintensief zijn om te berekenen, en de ReLU de noodzakelijke niet-lineariteit biedt om te profiteren van de diepte van het netwerk, terwijl het ook zeer snel te berekenen is.