Admin wrote:nach außen rechnet ein Input- oder Output-Neuron immer alles in den benutzerspezifischen Datenbereich (wie unter 'Normalization' des Neurons eingestellt) um.
Mit der Ident-Funktion und Normalisierung erreiche ich aber leider nicht das, was ich will - aber vielleicht setze ich sie auch falsch ein.
Ich hänge das Netzwerk, das ich nachbauen will, an. Das Zweck ist dabei nur, Studenten beizubringen, die Mathematik hinter simplen Netzwerken Schritt für Schritt beizubringen, und an dieser Stelle geht es nur um die "InputSum".
Ohne Normalisierung ist die Ausgabe bei den ersten 3 Patterns richtig, beim 4. aber nicht. In der angehängten Version verwende ich Normalisierung bei dem 1. Output-Neuron; dabei ist die Ausgabe beim 4. Pattern richtig, bei den 3 anderen falsch.
Die Ein- und Ausgabe sollte sein:
Code: Select all
In1 In2 O1 O2 O1-Ohne O1-Mit
0 0 0 0 0 0.625
1 0 0.75 0.25 0.75 1.094
0 1 0.50 0.25 0.50 0.938
1 1 1.25 0.50 1 1.250
Da ich die Grenzen bei der Normalisierung auf 0 bis 1.25 gesetzt habe, nehme ich an, das MemBrain das Interval zwischen [0, 1.25] auf [-1, 1] "map't", aber da soll beim 1. Pattern nicht 0.625 sondern 0 herauskommen.
Nachtrag: Ich habe mir aber gerade darüber Gedanken gemacht, wie man ein Interval auf ein anderes map't, und glaube, hier könnte die Quelle des Problems sein, denn ich konnte etwas ähnliches in Excel im Spreadsheet reproduzieren. Kann es möglicherweise sein, dass hier ein kleiner Bug steckt?