Ich versuche, warum Funktion meiner Sigmoid zu verstehen, wenn der Eingang 37, es Ausgang 1. die Sigmoidfunktion:Sigmoidfunktion in Python
import math
def sigmoid(x):
return 1/(1 + math.e ** -x)
Ich bin nicht gut in Mathe, aber ich denke, es nie sein sollte ein Moment, wo das f (x) gleich 1 ist, richtig? vielleicht liegt es daran, dass die e-Konstante nicht genau genug ist, aber mein wirkliches Problem ist, dass ich eine Zahl zwischen 0 und 1 zuordnen möchte, was x ist, wenn f (x) 0 ist und was x ist, wenn f (x) 1. ist Funktion:
def p5map(n, start1, stop1, start2, stop2):
return ((float(n)-start1)/(stop1-start1))*(stop2-start2)+start2
so für exemple I
p5map(y, 0, 1, -37, 37)
wo die y F sein würde (x) in der Sigmoid-Kurve und -37 und 37 wäre, wo f (x) 0 tun möchte, ist und 1 jeweils. mit -37 und 37 würde nicht funktionieren für mich, also was ich fragen ist, warum ist es 37 und wie kann ich das beheben, so ist es zwischen -1 und 1 für Beispiel
Es ist einfach: 'math.e ** -37' nähert sich an 0 und bewertet den ganzen Ausdruck zu' 1/1', also 1. –
Aber verwende 'math.exp (x)' anstatt 'math.e ** x'. –