Función de costo para la regresión ordinal usando redes neuronales

8

¿Cuál es la mejor función de coste para entrenar a un red neural para llevar a cabo la regresión ordinal , es decir, para predecir un resultado cuyo valor existe en una escala arbitraria donde sólo la ordenación relativa entre diferentes valores es significativa (por ejemplo: para predecir qué el tamaño del producto una orden voluntad cliente : 'pequeño' (codificado como 0), 'mediano' (codificado como 1), 'grande' (codificado como 2) o 'extragrande' (codificado como 3))? Estoy tratando de averiguar si hay mejores alternativas que la pérdida cuadrática (modelando el problema como una regresión 'vainilla') o la pérdida de entropía cruzada (modelando el problema como clasificación).

xboard
fuente

Respuestas:

6

Se sugirió otro enfoque en este documento para la estimación de la edad facial:

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

Estos tipos usan una serie de clasificadores binarios que predicen si un punto de datos es mayor que un umbral, y lo hacen para múltiples umbrales. Es decir, en su caso, la red tendría tres salidas binarias correspondientes a

  • mayor que 0
  • mayor que 1
  • mayor que 2.

Por ejemplo, para 'grande (2)' la verdad fundamental sería [1 1 0]. La función de costo final es una suma ponderada de las funciones de costo de entropía cruzada individual para cada clasificador binario.

Esto tiene la ventaja de ponderar inherentemente los errores más grandes porque se violarán más términos individuales de costo-entropía. Simplemente hacer una clasificación categórica de los resultados ordenados no tiene esta característica inherentemente.

Chrigi
fuente