2

分類の問題について、あなたの意見や助けを求めています。誰かが私の問題をさらに解決するのに役立つ参考文献を持っている場合.

4 つの離散的で非常によく分離されたクラスの分類問題があります。ただし、リアルタイムの問題であるため、入力は連続的で高周波 (50Hz) です。

等重決定境界

円はクラスのクラスターを表し、青い線は決定境界を表し、クラス 5 は (ニュートラル/安静時何もしないクラス) に等しくなります。このクラスは拒否されたクラスです。ただし、問題は、あるクラスから別のクラスに移動するときに、移動が明らかに非線形であるため、移行の移動で多くの誤検出をアクティブにすることです。たとえば、クラス 5 (ニュートラル クラス) から 1 に移動するたびに、1 クラスに到達する前に最初に多くの 3 が表示されます。

理想的には、拒否されたクラスが Class =5 である下の図のような決定境界が必要です。遷移中の誤分類を避けるために、他のクラスよりも高い決定境界を持っています。私は現在、Matlab を使用してナイーブ ベイズ、kNN、および SVM 最適化アルゴリズムを使用して、Matlab でアルゴリズムを実装しています。

質問: 棄権/拒否されたクラスのクラスを処理するための最良/一般的な方法は何ですか? (ファジー ロジック、損失関数、トレーニングに静止クラスターを含める必要があります) を使用する必要がありますか?

理想的な決定境界

4

1 に答える 1

2

Boosting に精通している場合は、abstain を使用して AdaBoost.MH を試すことできます。AdaBoost の通常のバージョン (バイナリ分類タスク用) では、各弱分類器が +1 または -1 のいずれかのラベルを出力します。棄権のあるバージョンでは、各弱分類器は 0 を予測することによって「棄権」することができます。これにより、弱分類器は「わからない」と言うことができます。すべてのインスタンスを複数のバイナリ分類問題に分解することにより、同じ考え方をマルチクラスの問題に拡張できます。

あなたの場合、クラス 5 を「棄権」予測にマップできます。

分解する前に、トレーニング インスタンスが次のようになっているとします。

x1 -> 1
x2 -> 5

したがって、分解後、トレーニング インスタンスは次のようになります。

x1 -> 1          (predicting +1)
x1 -> not 2      (predicting -1) 
x1 -> not 3      (predicting -1)
x1 -> not 4      (predicting -1)
x2 -> abstain    (predicting 0)
x2 -> not 1      (predicting +1)
x2 -> not 2      (predicting +1)
x2 -> not 3      (predicting +1)
x2 -> not 4      (predicting +1)

ブースティングの反復ごとに、トレーニング インスタンスから特徴を選択し、予測損失を最小限に抑え、各トレーニング インスタンスに関連付けられた重みを更新する弱学習器 (決定株) を構築します。「x2 -> 棄権」は、0 を予測することによる予測損失には影響しませんが、「x2-> 1 ではない」、「x2-> 2 ではない」などの他のすべての分解されたトレーニング インスタンスは、システムが否定を認識するのに役立ちます。インスタンスを 1 ~ 4 に分類する場合の x2 の効果。

以下は、棄権を伴う AdaBoost のアイデアを含む古典的な論文です。

Robert E. Schapire、Yoram Singer は、信頼度評価された予測を使用してブースティング アルゴリズムを改善しました。

これは、棄権を伴う AdaBoost.MH の詳細と、テキストの分類への応用について説明している別の論文です。

于 2013-07-01T22:20:33.027 に答える