S 形尺度和自定义范围的逆

Sigmoid scale and inverse with custom range

我正在思考如何使用 Sigmoid 在自定义范围内缩放变量,然后反转缩放比例。

例如,下面的 Python 脚本在 0 和 top 之间缩放变量 x,然后反转该缩放。

import math

# apply Sigmoid to x on scale between 0 and top:
def sigmoid(x, top):
    y = top / (1 + math.exp(-x))
    return y

# and to inverse:
def invSigmoid(y, top):
    x = np.log(y/(top-y))
    return x

我想做的是也设置底部,以便 x 在底部顶部之间缩放,例如 (10-100)。然后还要求逆。

在我看来,你所追求的是:

y = bottom + (top - bottom) / (1 + math.exp(-x))

x = np.log((y - bottom) / (top - y))