Kostenfunktion für die ordinale Regression unter Verwendung neuronaler Netze

8

Was ist die beste Kostenfunktion, um ein neuronales Netzwerk für die Durchführung einer ordinalen Regression zu trainieren , dh um ein Ergebnis vorherzusagen, dessen Wert auf einer beliebigen Skala existiert, bei der nur die relative Reihenfolge zwischen verschiedenen Werten von Bedeutung ist (z. B. um vorherzusagen, welche Produktgröße ein Kunde bestellen wird : 'klein' (codiert als 0), 'mittel' (codiert als 1), 'groß' (codiert als 2) oder 'extragroß' (codiert als 3))? Ich versuche herauszufinden, ob es bessere Alternativen gibt als quadratischen Verlust (Modellierung des Problems als Vanille-Regression) oder Kreuzentropieverlust (Modellierung des Problems als Klassifizierung).

xboard
quelle

Antworten:

6

In diesem Artikel wurde ein anderer Ansatz für die Schätzung des Gesichtsalters vorgeschlagen:

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

Diese Typen verwenden eine Reihe von binären Klassifizierern, die vorhersagen, ob ein Datenpunkt größer als ein Schwellenwert ist, und tun dies für mehrere Schwellenwerte. Das heißt, in Ihrem Fall hätte das Netzwerk drei Binärausgänge entsprechend

  • größer als 0
  • größer als 1
  • größer als 2.

Zum Beispiel wäre für 'groß (2)' die Grundwahrheit [1 1 0]. Die endgültige Kostenfunktion ist eine gewichtete Summe der einzelnen entropieübergreifenden Kostenfunktionen für jeden binären Klassifikator.

Dies hat den Vorteil, dass größere Fehler von Natur aus stärker gewichtet werden, da mehr der einzelnen Kostenentropiebegriffe verletzt werden. Eine einfache kategoriale Klassifizierung der geordneten Ergebnisse hat diese Funktion nicht von Natur aus.

Chrigi
quelle