2017-02-25 12 views
0

Mit der Neural Network Toolbox von MATLAB habe ich ein einschichtiges Perzeptron erstellt. Ich kann die Zugfunktion verwenden, um das neurale Netzwerk zu trainieren. Allerdings muss ich entweder die Anzahl der Epochen festlegen oder das Training interaktiv beenden. Ich möchte einen Teil meines Datensatzes als Validierung verwenden und ein frühes Stoppen verwenden, um das Training zu beenden und Überanpassungen zu vermeiden.Early Stopping Perceptron Training

Bei der Verwendung der train-Funktion muss ich entweder die Anzahl der Epochen angeben oder das Training interaktiv mit meinen aktuellen Parametern beenden. Wie höre ich mit dem frühzeitigen Anhalten auf?

Ich habe zu verwenden, die folgende Einteilung ohne viel Erfolg versucht:

net.divideFcn = 'divideblock'; 
net.divideParam.trainRatio = 70/100; %70 percent of data used for training 
net.divideParam.valRatio = 15/100; %15 percent of data used for validation 
net.divideParam.testRatio = 15/100; %15 percent of data used for testing 
+0

Bitte, wie hast du die Neural Network Toolbox bekommen hast du dafür bezahlt? – rainman

Antwort

0

Haben Sie versucht, zu ändern:

net.trainParam.max_fail = 1; 

Zum Beispiel? Ich glaube, der Standardwert ist 6. Dies ist der Parameter, der das Training stoppt, wenn der Validierungsverlust für max_fail Anzahl der Epochen nicht abgenommen hat.

+0

Ich habe das versucht, aber leider hat es mein Problem nicht gelöst. – Drob