ニューラルネットワークを使用した順序回帰のコスト関数


8

順序回帰を実行するようにニューラルネットワークをトレーニングするのに最適なコスト関数は何ですか。つまり、異なる値の間の相対的な順序のみが重要である任意のスケールで値が存在する結果を予測します(例:顧客が注文する製品サイズを予測するため) : 'small'(0としてコード化)、 'medium'(1としてコード化)、 'large'(2としてコード化)または 'extra-large'(3としてコード化))?私は、二次損失(「バニラ」回帰として問題をモデル化する)またはクロスエントロピー損失(問題を分類としてモデル化する)よりも良い代替策があるかどうかを把握しようとしています。

回答:


6

このホワイトペーパーでは、顔の年齢の推定のために別のアプローチが提案されています。

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

これらの人たちは、データポイントがしきい値よりも大きいかどうかを予測する多数のバイナリ分類子を使用し、これを複数のしきい値に対して実行します。つまり、あなたの場合、ネットワークは3つのバイナリ出力に対応します。

  • 0より大きい
  • 1より大きい
  • 2より大きい。

たとえば、「大(2)」の場合、グラウンドトゥルースはになります[1 1 0]。最終的なコスト関数は、各バイナリ分類子の個々のクロスエントロピーコスト関数の重み付き合計です。

個々のコストエントロピー項の多くが違反されるため、これには本質的に大きなエラーにさらに重みを付けるという利点があります。順序付けられた結果のカテゴリ分類を行うだけでは、本質的にこの機能はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.