多くのバイナリ分類子と単一のマルチクラス分類子


12

複数のバイナリ分類器を使用するか、単一のマルチクラス分類器を使用するかを決定するときに考慮すべき要素は何ですか?

たとえば、手振りの分類を行うモデルを構築しています。シンプルなケースには4つの出力があります:[なし、thumbs_up、clenched_fist、all_fingers_extended]。これに取り組むには2つの方法があります。

オプション1-複数のバイナリ分類子

  1. [なし、thumbs_up]
  2. [なし、clenched_fist]
  3. [なし、all_fingers_extended]

オプション2-単一のマルチクラス分類器

  1. [なし、thumbs_up、clenched_first、all_fingers_extended]

どのアプローチがより良い傾向にあり、どのような状況で?

回答:


13

オプション1は最善の方法ではない可能性があります。複数のバイナリ分類子が必要な場合は、One-vs-Allという戦略を試してください。

ではワンVS-すべてのあなたは、本質的である専門家のバイナリ分類器持って、本当にすべての他のものから一つのパターンを認識で良い、と実装戦略は、一般的にカスケード接続されます。例えば:

  if classifierNone says is None: you are done
  else:
    if classifierThumbsUp says is ThumbsIp: you are done
    else:
      if classifierClenchedFist says is ClenchedFist: you are done
      else:
        it must be AllFingersExtended and thus you are done

これは、Andrew NgのコースのOne-vs-allのグラフィカルな説明です。 例


マルチクラス分類器の長所と短所:

長所

  • 箱から出して使いやすい
  • 本当にたくさんのクラスがあるときに素晴らしい

短所

  • 通常、トレーニング中はバイナリ分類器よりも遅い
  • 高次元の問題の場合、収束するまでに時間がかかる場合があります

一般的な方法

  • ニューラルネットワーク
  • ツリーベースのアルゴリズム

1対すべての分類子の長所と短所:

長所

  • バイナリ分類子を使用するため、通常は収束が高速です。
  • グレートあなたが持っているとき、一握りのクラスを

短所

  • クラスが多すぎると対処するのが本当に面倒です
  • たとえば、クラスのnoneサンプルが1000個と3000 個ある場合など、バイアスを導入するクラスの不均衡を回避するために、トレーニング時には本当に注意する必要がありますthumbs_up

一般的な方法

  • SVM
  • ほとんどのアンサンブル法
  • ツリーベースのアルゴリズム

関数は出力確率であり、最終的なラベルはhθiargmaxihθi
Lii

これはOne-vs-All&One-vs-Oneに関する非常に良い回答です。次の投稿の方が人気があるため、ここにも回答を投稿することをお勧めします(多かれ少なかれ同じトピックについてです):統計。 stackexchange.com/questions/91091/…
2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.