順序付けられたクラスによる分類?


10

たとえば、人の画像を若い中年、または古いのいずれかに割り当てる分類子をトレーニングしたいとします。

簡単な方法は、クラスを独立したカテゴリとして扱い、分類子をトレーニングすることです。しかし、どうやらクラス間にいくつかの関係があります。どうすればこれを利用してより良くなることができますか?

私は多分私にできることを考えてい
予測の損失増加と言う、損失を変更)1を若者として古いまたは古いとして若いです
2)それを回帰問題に変換します。若い中年古いは0、1、2と表現されます。


2
順序回帰を検索する:en.wikipedia.org/wiki/Ordinal_regression
Tim

回答:


8

1)損失を変更します。たとえば、老いも若きも、老いも若きも予測する損失を増やします。

合理的なアプローチのように聞こえます。

2)それを回帰問題に変えます、若い、中年、そして古いは、例えば0、1、2として表されます。

それはあなたが採用している回帰学習器に依存しますが、これは悪い考えである可能性があります(たとえば、ツリーと派生物はおそらくそれに対して安全でしょう)。若者と中年の「距離」(意味が何であれ)が中年から老年までの距離と同じですか?


名目変数を学習しているので、この問題を分類として扱うことをお勧めします。より具体的には、ご存じのとおり、クラス間には潜在的な関係、順序分類があります。

フランク&ホール[1]によって提案された戦略を試すことができます。この戦略では、応答変数をバイナリ問題にコーディングします。したがって、あなたは、老いているものとそうでないもの、若いものと若いものの間の区別を学ぼうとします、そしてこれらは実際にあなたに3つのカテゴリーについての情報を与えます。これは、単純なヒューリスティックであり、単純なマルチクラスアプローチに勝ることができ、学習者の下線の働きを変更しません。NN1


[1]フランク、E。、およびホール、M(2001年9月)。序数分類への単純なアプローチ。機械学習に関するヨーロッパ会議(pp。145-156)。スプリンガーベルリンハイデルベルク。


序数回帰を調べます。
kjetil b halvorsen

4

私はこれを、6つの序数クラスで機能する畳み込みニューラルネットワーク分類器で最近見ました。私は3つの方法を試しました。

方法1:標準の独立した分類

これは、マッピングで、質問のベースラインとしてあなたが述べたことです:

class 0 -> [1, 0, 0, 0, 0, 0]
class 1 -> [0, 1, 0, 0, 0, 0]
class 2 -> [0, 0, 1, 0, 0, 0]
class 3 -> [0, 0, 0, 1, 0, 0]
class 4 -> [0, 0, 0, 0, 1, 0]
class 5 -> [0, 0, 0, 0, 0, 1]

通常、softmaxアクティベーションを使用します。これにより、カテゴリカルクロスエントロピー損失が発生します。

ただし、これはクラスの関係を考慮に入れていないため、損失関数は正しいクラスにヒットしたかどうかにのみ影響され、接近したかどうかには影響されません。

方法2:序数ターゲット関数

これは、Chengらによって公開されたアプローチです。(2008)、StackExchange でもここここで参照されています。マッピングは次のとおりです。

class 0 -> [0, 0, 0, 0, 0]
class 1 -> [1, 0, 0, 0, 0]
class 2 -> [1, 1, 0, 0, 0]
class 3 -> [1, 1, 1, 0, 0]
class 4 -> [1, 1, 1, 1, 0]
class 5 -> [1, 1, 1, 1, 1]

これは、シグモイドアクティベーションとバイナリクロスエントロピー損失で使用されます。このターゲット関数は、適切なクラスに近づくほど損失が小さくなることを意味します。

である最初のインデックス見つけることにより、この分類の出力からクラスを予測できます。は、予測されたクラスを提供します。{yk}kyk<0.5k

方法3:分類を回帰に変える

これは2番目のアイデアと同じです。ここでのマッピングは次のようになります:

class 0 -> [0]
class 1 -> [1]
class 2 -> [2]
class 3 -> [3]
class 4 -> [4]
class 5 -> [5]

これには線形活性化と平均二乗誤差損失を使用しました。以前のアプローチと同様に、これにより、見逃しが少ないほど損失も小さくなります。

これの出力に基づいてクラスを予測する場合、出力を最も近い整数に丸めるだけです。

結果の例

同じデータセットでさまざまな方法を評価しました。メトリックは、クラス不均衡バージョンとクラスバランスバージョンの正確な精度(正しいクラスをヒット)と隣接する精度(正しいクラスまたはその近傍の1つをヒット)でした。以下に示す各メトリック値は、3つの実行の平均として検出されます。

方法1 /方法2 /方法3の場合、測定基準は次のとおりです。

  • アンバランスな精密精度:0.582 / 0.606 / 0.564
  • バランスの取れた正確な精度:0.460 / 0.499 / 0.524
  • アンバランス隣接精度:0.827 / 0.835 / 0.855
  • バランスの取れた隣接精度:0.827 / 0.832 / 0.859

したがって、私の特定のデータセットとネットワーク設定では、一般的に回帰アプローチが最善を尽くし、独立クラスを使用した標準アプローチが一般的に最悪です。これらの結果が他のケースにどの程度一般化されているかはわかりませんが、順序分類子を3つのメソッドすべてを使用して自分でテストできるように適合させることはそれほど難しくありません。

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