MSE comme proxy de la corrélation de Pearson dans les problèmes de régression

8

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).TT+1[-200,200]

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.[-dix,dix]

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.

galoosh33
la source

Réponses:

5

C'est une bonne question et malheureusement sans réponse depuis longtemps, il semble qu'une réponse partielle ait été donnée quelques mois seulement après que vous ayez posé cette question ici, ce qui fait simplement valoir que la corrélation est utile lorsque les sorties sont très bruyantes et peut-être MSE sinon . Je pense que nous devons d'abord examiner les formules pour les deux.

MSE(y,y^)=1nje=1n(yje-yje^)2
R(y,y^)=je=1n(yje-y¯)(yje^-y¯^)je=1n(yje-y¯)2je=1n(yje^-y¯^)2

Quelques points à noter, dans le cas de la régression linéaire, nous savons que y¯^=y¯en raison de l'impartialité du régresseur, le modèle se simplifiera donc un peu, mais en général, nous ne pouvons pas faire cette hypothèse sur les algorithmes ML. Peut-être plus largement, il est intéressant de penser au nuage de pointsR2 de {yje,yje^}la corrélation nous indique la force de la relation linéaire entre les deux dans ce graphique, et MSE nous indique à quelle distance ils sont l'un de l'autre. En regardant les contre-exemples sur la page wikipedia, vous pouvez voir qu'il existe de nombreuses relations entre les deux qui ne seront pas représentées.

Je pense que la corrélation est généralement dit des choses similaires à R2mais avec la directionnalité, la corrélation est donc un peu plus descriptive dans ce cas. Dans une autre interprétation,R2 ne repose pas sur l'hypothèse de linéarité et nous indique simplement le pourcentage de variation ycela s'explique par notre modèle. En d'autres termes, il compare la prédiction du modèle à la prédiction naïve de deviner la moyenne pour chaque point. La formule pourR2 est:

R2(y,y^)=1-je=1n(yje-y^)2je=1n(yje-y¯)2


Alors, comment R comparer aux R2? Eh bien, il s'avère queR est plus à l'abri de l'intensification d'une des entrées, cela a à voir avec le fait que R2 est homogène de degré 0 uniquement dans les deux entrées, où Rest homogène de degré 0 dans les deux entrées. Il est un peu moins clair ce que cela pourrait impliquer en termes d'apprentissage automatique, mais cela pourrait signifier que la classe modèle dey^peut être un peu plus flexible sous corrélation. Cela dit, sous certaines hypothèses supplémentaires, cependant, les deux mesures sont égales, et vous pouvez en lire plus ici .

JoeTheShmoe
la source