2012-04-10 9 views
3

Ich bin gerade dabei, eine Fuzzy-Logic-Bibliothek in Java zu programmieren. Ich habe die Gleichungen für alle Standardfunktionen gefunden - Grade, inverseGrade, Triangle, Trapezoid, Gaussian. Ich kann jedoch nicht das Inverse der Sigmoid/Logistic-Funktion finden.Inverse logistische Funktion/Sigmoid-Umkehrfunktion

Die Art, wie ich die logistische Funktion geschrieben haben, ist Java ist:

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

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

} 

Aber ich kann nicht überall trainieren oder die inverse finden. Meine algebraischen/Kalkül-Fähigkeiten sind ziemlich begrenzt, weshalb ich das Inverse der Funktion nicht ausarbeiten konnte.

Alle Hinweise oder Hinweise wären eine große Hilfe.

Dank

Antwort

9

Wenn

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

dann

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

Sollte es nicht 'x = -ln ((1-y)/y)'? –

+1

@Ethan: Sie sind das Gleiche, seit -ln (x) = ln (1/x). – tom10

+0

Richtig du bist. Ich hätte mich daran erinnern sollen. –