Ich schrieb eine Sigmoid-Funktion in Java, die gut funktioniert, wenn es um einzelne Zahlen geht, aber wenn ein Array fehlschlägt nach der ersten Dateneingabe. Hier sind einige Daten, um mein Problem zu veranschaulichen (mit auf 3 Stellen gerundeter Ausgabe).Java Sigmoid Methode gibt falsche Ergebnisse zurück
Input | Correct Output | Output
0 | 0.5 | 0.5
-1,0 | 0.27,0.5 | 0.27,0.62
1,0,-1 | 0.73,0.5,0.27 | 0.73,0.62,0.64
Mein Code ist wie folgt.
double[] data = { 1, 0, -1 };
System.out.println(sigmoid(data)[0] + "," + sigmoid(data)[1] + "," + sigmoid(data)[2]);
und
double[] sigmoid(double[] data) {
for (int i = 0; i < data.length; i++)
data[i] = 1/(1 + Math.exp(-data[i]));
return data;
}
Wenn dies nur ein blöder offensichtliches Versehen meinerseits mir bitte sagen, wie ich stundenlang ohne Erfolg versucht habe, und Dank für alle Antworten überhaupt.