我目前正在用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)));
}
但我无法解决或在任何地方找到逆。 我的代数/微积分能力相当有限,因此我无法解决函数的反函数。
任何提示或指示都会有很大的帮助。
由于
答案 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))