Funzione di costo per la regressione ordinale mediante reti neurali


8

Qual è la migliore funzione di costo per formare una rete neurale per eseguire la regressione ordinale , ovvero prevedere un risultato il cui valore esiste su una scala arbitraria in cui è significativo solo l'ordinamento relativo tra valori diversi (ad esempio: prevedere quale dimensione del prodotto ordinerà un cliente : 'small' (codificato come 0), 'medium' (codificato come 1), 'large' (codificato come 2) o 'extra-large' (codificato come 3))? Sto cercando di capire se ci sono alternative migliori della perdita quadratica (modellando il problema come regressione "vaniglia") o della perdita di entropia (modellando il problema come classificazione).

Risposte:


6

Un altro approccio è stato suggerito in questo documento per la stima dell'età del viso:

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

Questi ragazzi usano una serie di classificatori binari che prevedono se un punto dati è più grande di una soglia e lo fanno per più soglie. Vale a dire nel tuo caso la rete avrebbe tre uscite binarie corrispondenti a

  • maggiore di 0
  • più grande di 1
  • più grande di 2.

Ad esempio, per "large (2)" la verità di base sarebbe [1 1 0]. La funzione di costo finale è una somma ponderata delle singole funzioni di costo tra entropia per ciascun classificatore binario.

Ciò ha il vantaggio di ponderare intrinsecamente gli errori più grandi, poiché verrà violata una parte maggiore dei singoli termini di costo-entropia. Fare semplicemente la classificazione categorica dei risultati ordinati non ha intrinsecamente questa caratteristica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.