Fonction de coût pour la régression ordinale à l'aide de réseaux de neurones

8

Quelle est la meilleure fonction de coût pour former un réseau de neurones à effectuer une régression ordinale , c'est- à- dire pour prédire un résultat dont la valeur existe sur une échelle arbitraire où seul l'ordre relatif entre différentes valeurs est significatif (par exemple: pour prédire quelle taille de produit un client commandera : «petit» (codé 0), «moyen» (codé 1), «grand» (codé 2) ou «extra-large» (codé 3))? J'essaie de comprendre s'il existe de meilleures alternatives que la perte quadratique (modélisation du problème comme une régression `` vanille '') ou la perte d'entropie croisée (modélisation du problème en tant que classification).

xboard
la source

Réponses:

6

Une autre approche a été suggérée dans cet article pour l'estimation de l'âge du visage:

https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Niu_Ordinal_Regression_With_CVPR_2016_paper.pdf

Ces gars-là utilisent un certain nombre de classificateurs binaires prédisant si un point de données est supérieur à un seuil, et le font pour plusieurs seuils. Autrement dit, dans votre cas, le réseau aurait trois sorties binaires correspondant à

  • plus grand que 0
  • plus grand que 1
  • plus grand que 2.

Par exemple, pour «grand (2)», la vérité fondamentale serait [1 1 0]. La fonction de coût finale est une somme pondérée des fonctions de coût d'entropie croisée individuelles pour chaque classificateur binaire.

Cela présente l'avantage de pondérer de manière inhérente davantage d'erreurs plus importantes, car davantage de termes individuels d'entropie de coût seront violés. Le simple fait de classer catégoriquement les résultats ordonnés n'a pas intrinsèquement cette fonctionnalité.

Chrigi
la source