Ich benutze bidirektionale RNN, um ein Ereignis von unsymmetrischem Auftreten zu erkennen. Die positive Klasse ist 100 Mal weniger oft als die negative Klasse. Während keine Regularisierung verwendet wird, kann ich eine 100% ige Genauigkeit bei der Zugeinstellung und 30% bei der Validierung erhalten. Ich l2 Regularisierung einschalten und das Ergebnis ist nur 30% Genauigkeit auf Zug eingestellt, anstatt länger zu lernen und 100% Genauigkeit auf Validierungs-Set.RNN L2 Regularisierung hört auf zu lernen
Ich dachte, dass meine Daten vielleicht zu klein sind, so dass ich nur für das Experiment den Zugsatz mit dem Testsatz verschmolzen habe, den ich vorher nicht benutzt habe. Die Situation war die gleiche wie ich die Regulation von l2 verwenden würde, was ich jetzt nicht tat. Ich bekomme 30% Genauigkeit bei Zug + Test und Validierung.
Im Einsatz 128hidden Einheiten und 80 Zeitschritte in den genannten Experimenten Wenn ich die Anzahl der versteckten Einheiten auf 256 erhöht habe, kann ich wieder auf Zug + Test setzen, um 100% Genauigkeit zu erhalten, aber immer noch nur 30% auf Validierung gesetzt.
Ich habe so viele Optionen für Hyperparameter und fast kein Ergebnis versucht. Vielleicht verursacht die gewichtete Kreuzentropie das Problem, in gegebenen Experimenten beträgt das Gewicht der positiven Klasse 5. Bei größeren Gewichten sind die Ergebnisse oft um 20% schlechter.
Ich versuchte LSTM und GRU-Zellen, kein Unterschied.
Die besten Ergebnisse, die ich bekommen habe. Ich habe 2 versteckte Ebenen mit 256 versteckten Einheiten ausprobiert, es hat ungefähr 3 Tage Rechenzeit und 8GB GPU Speicher gekostet. Ich habe ungefähr 40-50% Genauigkeit, bevor es anfängt, wieder zu überarbeiten, während l2 Regularisierung an war, aber nicht so stark.
Gibt es eine allgemeine Richtlinie, was in dieser Situation zu tun ist? Ich konnte nichts finden.
Ihre Frage könnte besser für http://stats.stackexchange.com/ passen – NPE