Ich trainiere derzeit ein neuronales Netzwerk und kann mich nicht entscheiden, welches zur Implementierung meiner Early-Stop-Kriterien verwendet werden soll: Validierungsverlust oder Metriken wie Genauigkeit / f1score / auc / was auch immer auf dem Validierungssatz berechnet.
Bei meinen Recherchen stieß ich auf Artikel, die beide Standpunkte verteidigten. Keras scheint standardmäßig den Validierungsverlust zu verwenden, aber ich habe auch überzeugende Antworten für den umgekehrten Ansatz gefunden (z . B. hier ).
Hat jemand Anweisungen, wann vorzugsweise der Validierungsverlust verwendet werden soll und wann eine bestimmte Metrik verwendet werden soll?
cross_entropy
Verlust ein bevorzugterer Kandidat alsMSE
oderMAE
. Lesen Sie den Abschnitt "Zusammenfassung" dieses Artikels und diesen Beitrag zu Statistiken .Meiner Meinung nach ist dies subjektiv und problemspezifisch. Sie sollten den wichtigsten Faktor in Ihrem Kopf als Fahrmetrik verwenden, da dies Ihre Entscheidungen darüber, wie Sie das Modell ändern möchten, besser fokussieren kann.
Die meisten Metriken, die berechnet werden können, sind in vielerlei Hinsicht korreliert / ähnlich: Wenn Sie beispielsweise MSE für Ihren Verlust verwenden und dann MAPE (mittlerer durchschnittlicher prozentualer Fehler) oder einfachen Verlust aufzeichnen , erhalten Sie vergleichbare Verlustkurven.L1
Wenn Sie beispielsweise einen F1-Score in Ihrem Bericht / an Ihren Chef usw. melden (und davon ausgehen, dass dies das ist, was ihn wirklich interessiert), kann die Verwendung dieser Metrik am sinnvollsten sein. Der F1-Score berücksichtigt beispielsweise Präzision und Rückruf , dh er beschreibt die Beziehung zwischen zwei feinkörnigeren Metriken.
Wenn Sie diese Dinge zusammenführen, kann es hilfreich sein, andere Ergebnisse als den normalen Verlust zu berechnen, um einen Überblick zu erhalten und zu sehen, wie Ihre endgültige Metrik im Verlauf der Trainingsiterationen optimiert wird. Diese Beziehung könnte Ihnen vielleicht einen tieferen Einblick in das Problem geben,
In der Regel ist es jedoch am besten, mehrere Optionen auszuprobieren, da durch die Optimierung des Validierungsverlusts das Training möglicherweise länger dauern kann, was letztendlich auch zu einem überlegenen F1-Score führen kann . Präzision und Rückruf können sich um einige lokale Minima bewegen und einen fast statischen F1-Score erzeugen - Sie würden also mit dem Training aufhören. Wenn Sie für den reinen Verlust optimiert haben, haben Sie möglicherweise genügend Verlustschwankungen registriert, um länger trainieren zu können.
quelle
Wenn Sie ein tiefes Netzwerk trainieren, empfehle ich Ihnen dringend, keinen frühen Stopp zu verwenden. Beim tiefen Lernen ist es nicht sehr üblich. Stattdessen können Sie andere Techniken wie Drop-Out verwenden, um gut zu verallgemeinern. Wenn Sie darauf bestehen, hängt die Auswahl des Kriteriums von Ihrer Aufgabe ab. Wenn Sie unausgeglichene Daten haben, müssen Sie die
F1
Punktzahl verwenden und diese anhand Ihrer Kreuzvalidierungsdaten auswerten. Wenn Sie ausgeglichene Daten haben, versuchen Sie, die Genauigkeit Ihrer Kreuzvalidierungsdaten zu verwenden. Andere Techniken hängen stark von Ihrer Aufgabe ab.Ich empfehle Ihnen dringend, ein Modell zu finden, das sehr gut zu Ihren Daten passt, und danach einen Ausfall durchzuführen. Dies ist die üblichste Sache, die Menschen für tiefe Modelle verwenden.
quelle