TL; DR (trop long, n'a pas lu):
Je travaille sur un problème de prédiction de séries chronologiques, que je formule comme un problème de régression utilisant le Deep Learning (keras). Je veux optimiser la corrélation de Pearson entre ma prédiction et les vrais labels. Je suis confus par le fait que l'utilisation de MSE comme proxy conduit en fait à de meilleurs résultats (en termes de corrélation) que l'utilisation directe de Pearson comme fonction de perte. Est-il considéré comme une mauvaise pratique d'utiliser des mesures de corrélation comme fonctions de perte pour l'apprentissage en profondeur? Si oui, pourquoi?
Version plus longue:
J'ai une tâche de prédiction de séries chronologiques: j'observe les valeurs de temps consécutifs et j'ai besoin de prédire la valeur au pas de temps . Étant donné que les valeurs sont généralement entre , je traite cela comme un problème de régression, que je résous en utilisant le Deep Learning (keras).
Ma question concerne le choix de la perte et des mesures.
Mes données ont de véritables étiquettes, principalement autour de avec quelques valeurs extrêmes. Beaucoup de valeurs extrêmes sont erronées et je ne veux pas déplacer mon apprentissage pour me concentrer sur les bonnes. En d'autres termes, je veux pouvoir saisir la tendance générale (classer correctement la période de valeurs positives par rapport aux valeurs négatives), et je peux "vivre avec" en prédisant 100 au lieu de 200, par exemple.
Pour cette raison, je pense que ma métrique d'évaluation devrait être la corrélation de Pearson entre les valeurs prédites et vraies.
Maintenant, pour la fonction de perte: Idéalement, si je veux optimiser pour une corrélation de Pearson élevée, il serait logique de l'utiliser comme fonction de perte, non? J'ai testé une architecture simple qui est mon "modèle de base" deux fois: une fois en utilisant Pearson (calculé sur un mini-lot) directement comme ma fonction de perte, et une fois en utilisant le MSE commun comme proxy. Dans les deux cas, je suis à la fois MSE et Pearson pour différentes époques et je fais un "arrêt anticipé" basé sur un ensemble de validation.
Mes résultats:
- MSE en tant que perte: MSE 160, Pearson 0,7
- Pearson comme perte: MSE 250, Pearson 0,6
Je comprends que le MSE plus élevé pour la perte de Pearson est le résultat du fait que l'optimisation pour la corrélation n'a pas d'échelle, donc toute la prédiction peut être "désactivée" par un facteur d'une manière qui augmente le MSE. Mais comment se fait-il que l'utilisation de MSE comme proxy fasse mieux en termes de corrélation de Pearson elle-même? Y a-t-il une raison liée à l'optimisation pour laquelle la corrélation de Pearson ne devrait pas être utilisée comme fonction de perte? En effet, je vois qu'en pratique, ce n'est guère utilisé, mais j'aimerais comprendre la raison derrière cela.