TL; DR (zu lang, nicht gelesen):
Ich arbeite an einem Zeitreihen-Vorhersageproblem, das ich mit Deep Learning (Keras) als Regressionsproblem formuliere. Ich möchte die Pearson-Korrelation zwischen meiner Vorhersage und den wahren Bezeichnungen optimieren. Ich bin verwirrt über die Tatsache, dass die Verwendung von MSE als Proxy tatsächlich zu besseren Ergebnissen (in Bezug auf die Korrelation) führt als die direkte Verwendung von Pearson als Verlustfunktion. Wird es als schlechte Praxis angesehen, Korrelationsmetriken als Verlustfunktionen für tiefes Lernen zu verwenden? Wenn ja warum?
Längere Version:
Ich habe eine Aufgabe zur Vorhersage von Zeitreihen: Ich beobachte Werte für aufeinanderfolgende Zeitschritte und muss den Wert im Zeitschritt vorhersagen . Da die Werte normalerweise in , ich dies als Regressionsproblem, das ich mit Deep Learning (Keras) löse.
Meine Frage betrifft die Wahl von Verlust und Metriken.
Meine Daten haben echte Bezeichnungen, meistens um mit einigen Extremwerten. Viele der Extremwerte sind falsch und ich möchte mein Lernen nicht verschieben, um mich darauf zu konzentrieren, sie richtig zu machen. Mit anderen Worten, ich möchte in der Lage sein, den allgemeinen Trend zu erfassen (Zeitraum der positiven und negativen Werte korrekt zu klassifizieren), und ich kann beispielsweise mit der Vorhersage von 100 statt 200 "leben".
Aus diesem Grund denke ich, dass meine Bewertungsmetrik die Pearson-Korrelation zwischen den vorhergesagten und den wahren Werten sein sollte.
Nun zur Verlustfunktion: Idealerweise wäre es sinnvoll, diese als Verlustfunktion zu verwenden, wenn ich sie für eine hohe Pearson-Korrelation optimieren möchte, oder? Ich habe eine einfache Architektur, die mein "Basismodell" ist, zweimal getestet: Einmal mit Pearson (berechnet auf einem Mini-Batch) direkt als Verlustfunktion und einmal mit der gemeinsamen MSE als Proxy. In beiden Fällen verfolge ich sowohl MSE als auch Pearson für verschiedene Epochen und mache "Early Stop" basierend auf einem Validierungssatz.
Meine Ergebnisse:
- MSE als Verlust: MSE 160, Pearson 0,7
- Pearson als Verlust: MSE 250, Pearson 0,6
Ich verstehe, dass die höhere MSE für den Pearson-Verlust das Ergebnis der Tatsache ist, dass die Optimierung für die Korrelation keine Skala hat, so dass die gesamte Vorhersage um einen Faktor in einer Weise "aus" sein kann, die die MSE erhöht. Aber wie kommt es, dass die Verwendung von MSE als Proxy in Bezug auf die Pearson-Korrelation selbst besser ist? Gibt es einen optimierungsbedingten Grund, warum die Pearson-Korrelation nicht als Verlustfunktion verwendet werden sollte? In der Tat sehe ich, dass es in der Praxis kaum verwendet wird, aber ich möchte den Grund dafür verstehen.