逆逻辑函数/反向Sigmoid函数

时间:2012-04-10 23:25:17

标签: java math fuzzy-logic

我目前正在用java编写模糊逻辑库。我找到了所有标准函数的方程 - Grade,inverseGrade,Triangle,Trapezoid,Gaussian。但是,我找不到sigmoid / logistic函数的反函数。

我编写逻辑函数的方法是java:

//f(x) = 1/(1+e(-x))
public double logistic(double x){

   return (1/(1+(Math.exp(-x)));

}

但我无法解决或在任何地方找到逆。 我的代数/微积分能力相当有限,因此我无法解决函数的反函数。

任何提示或指示都会有很大的帮助。

由于

2 个答案:

答案 0 :(得分:17)

如果

y = 1/(1+exp(-x))

然后

x = ln(y/(1-y))

答案 1 :(得分:0)

只需完成以下步骤:

y = 1/(1 + exp(-x))

1 + exp(-x) = 1/y

exp(-x) = 1/y - 1

exp(-x) = 1/y - y/y

exp(-x) = (1 - y)/y

ln(exp(-x)) = ln((1 - y)/y)

-x = ln((1 - y)/y)

x = -ln((1 - y)/y)

x = ln(y/(1 - y))