0

Ich versuche, mehrere Trainingsbeispiele zu machen, um eine Reihe von Gewichtungen und Bias für das jeweilige Netzwerk zu erhalten, die eine harte Schwelle Aktivierungsfunktion korrekt implementiert.Machen Trainingsbeispiel von Multilayer Perzeptron

  • Vier Eingänge x_1, ... x_4, wo x_i reelle Zahl, und das Netz muss Ausgang (y) 1 ist, wenn x_1 < x_2 < x_3 < x_4 (sortierten Reihenfolge), und 0 sonst .

  • Eine harte Schwelle Aktivierungsfunktion;

f (z) = 1 (wenn z> = 0) oder 0 (wenn z < 0)

h1 = x1w11 + x2w12 + x3w13 + x4w14 + b11 

h2 = x1w21 + x2w22 + x3w23 + x4w24 + b21 

h3 = x1w31 + x2w32 + x3w33 + x4w34 + b31 

y = w1h1 + h2w2 + h3w3 + b (*Actually h1, h2, h3 are f(h1),f(h2),f(h3) because of activation function) 

und f (y).

Ich denke Training Beispiel sollte

(-2, -1,0,1) sein -> Ausgang 1, (0,0,0,0) -> Ausgang 0 (0 , 0,0,1) -> Ausgang 0, (1,2,3,4) -> Ausgang 1.

.. und so weiter. Aber die Domäne der Eingabe ist zu breit, um spezifische Beispiele zu erstellen, um einen mehrschichtigen Wahrnehmungsalgorithmus zu verwenden.

Können Sie mir helfen, richtiges Beispiel für die Anwendung der algorithm zu bekommen?

Antwort

1

Nein, es ist nicht zu breit, Sie können sich nur für jeden x_i auf den Bereich [0, 1] konzentrieren, da Sie in jedem Fall normalisierte Daten benötigen, um ein neuronales Netzwerk zu trainieren.

Also im Grunde können Sie einfach gleichverteilte Zufallszahlen im [0, 1] -Bereich generieren, prüfen, ob sie sortiert sind oder nicht, und das Etikett entsprechend erzeugen. Dann wiederholst du für 10K oder 100K und dann hast du einen Datensatz, um einen MLP zu trainieren. Sie können auch den [0, 1] -Bereich mit einem ausgewählten Schritt diskretisieren, um die Zahlen zu erzeugen.

Verwandte Themen