Schleifen von Trainingsdaten im Backpropagation-Algorithmus von Neural Networks

8

Wie oft verwende ich eine Stichprobe von Trainingsdaten in einem Trainingszyklus? Sagen wir, ich habe 60 Trainingsdaten. Ich gehe durch die erste Reihe und mache einen Vorwärtspass und wichte die Gewichte anhand der Ergebnisse aus dem Rückwärtsdurchlauf ab. Verwenden Sie die Sigmoid-Funktion wie folgt:

%Vor%

Gehe ich dann durch die 2. Reihe und mache den gleichen Prozess wie die 1. Reihe oder gehe ich in der 1. Reihe herum, bis der Fehler kleiner ist?

Ich hoffe, dass jemand bitte helfen kann

    
obsessiveCookie 24.03.2014, 16:31
quelle

1 Antwort

5

Training des Netzwerks

Sie sollten jede Instanz des Trainingssatzes einmal pro Trainingsepoche verwenden.

  

Eine Trainingsepoche ist ein vollständiger Zyklus durch Ihren Datensatz.

Nachdem Sie den Dataset durchlaufen und die Deltas berechnet haben, sollten Sie die Gewichte des Netzwerks anpassen. Dann können Sie einen neuen Vorwärtspass für das neuronale Netzwerk durchführen und eine weitere Trainingsepoche durchführen, indem Sie Ihren Trainingsdatensatz durchlaufen.

Grafische Darstellung
Eine sehr gute grafische Darstellung der Backpropagation finden Sie unter diesem Link.

>

Einzelschritttraining

Es gibt zwei Ansätze, mit denen Sie Ihr Netzwerk trainieren können, um eine Klassifizierung für ein Dataset durchzuführen. Die einfachste Methode heißt Single-Step- oder Online-Lernen. Dies ist die Methode, die Sie in der meisten Literatur finden werden, und es ist auch die schnellste zu konvergieren. Wenn Sie Ihr Netzwerk trainieren, berechnen Sie die Deltas für jede Ebene und passen die Gewichtungen für jede Instanz Ihres Datasets an .

Wenn Sie also einen Datensatz mit 60 Instanzen haben, bedeutet dies, dass Sie die Gewichte 60 Mal angepasst haben sollten, bevor die Trainingsepoche vorbei ist.

Batch-Training

Der andere Ansatz heißt Batch-Training oder Offline-Lernen. Dieser Ansatz ergibt oft ein Netzwerk mit einem niedrigeren Restfehler. Wenn Sie das Netzwerk trainieren, sollten Sie die Deltas für jede Ebene für jede Instanz der Datenmenge berechnen und dann die einzelnen Deltas schließlich mitteln und die Gewichtungen einmal pro Epoche korrigieren .

Wenn Sie einen Datensatz von 60 Instanzen haben, bedeutet dies, dass Sie die Gewichte einmal angepasst haben sollten, bevor die Trainingsepoche vorbei ist.

    
jorgenkg 24.03.2014, 18:47
quelle