我试图理解为什么当输入为 37 时我的 sigmoid 函数会输出 1. sigmoid 函数:
import math
def sigmoid(x):
return 1 / (1 + math.e ** -x)
我数学不好,但我认为永远不应该有 f(x) 等于 1 的时刻,对吧?也许是因为 e 常数不够精确但是我真正的问题是我想将 0 和 1 之间的数字映射到当 f(x) 为 0 时 x 是什么以及 f(x) 为 1 时 x 是什么。我的地图功能:
def p5map(n, start1, stop1, start2, stop2):
return ((float(n)-start1)/(stop1-start1))*(stop2-start2)+start2
所以例如我想做
p5map(y, 0, 1, -37, 37)
其中 y 在 sigmoid 曲线中为 f(x),-37 和 37 分别为 f(x) 为 0 和 1。使用 -37 和 37 对我不起作用,所以我要问的是为什么它是 37,我该如何解决它,例如它在 -1 和 1 之间