ワンクラスSVMと典型的なSVM


16

負のデータがないことを念頭に置いて1クラスのSVM(OSVM)が提案され、正の集合と負のアンカーポイントを分離する決定境界を見つけようとしていることを理解しています。

2011年の研究では、OSVMとは異なると主張する「単一のカテゴリごとの分類子」をトレーニングするExemplar SVM(ESVM)を提案しています。計算」。これが何を意味するのか、ESVMがOSVMとどのように異なるのか、私にはよくわかりません。それで、それらはどのように違いますか?そして、ESVMでこの類似度カーネル計算はどのように回避されますか?

回答:


20

(最初に下の「テーブル」をご覧ください)

「クラシック」サポートベクターマシンから始めましょう。これらは、2つのカテゴリを区別することを学びます。カテゴリAのいくつかの例を収集し、カテゴリBのいくつかを収集して、両方をSVMトレーニングアルゴリズムに渡します。SVMトレーニングアルゴリズムは、AをBから最もよく分離するライン/プレーン/ハイパープレーンを見つけます。男性と女性、アルファベットの文字など、明確に定義されたクラスと相互に排他的なクラスを区別する必要があります。

ただし、代わりに「A」を識別したいとします。これを分類の問題として扱うことができます。「A」と「非A」を区別するにはどうすればよいですか。犬の写真で構成されるトレーニングセットをまとめるのはかなり簡単ですが、非犬のトレーニングセットには何を入れるべきですか?犬ではないものは無限にあるため、犬以外のすべての物の包括的かつ代表的なトレーニングセットを構築するのは難しいかもしれません。代わりに、1クラスの分類子の使用を検討できます。従来の2クラス分類子は、AをBから分離する(ハイパー)プレーンを検出します。1クラスSVMは代わりに、すべてのクラス内ポイント(「A」)を原点から分離するライン/プレーン/ハイパープレーンを検出します;

Ensemble SVM「システム」は、実際には多くの2クラスSVM「サブユニット」の集まりです。各サブユニットは、単一の1つのクラスのポジティブな例と、他のクラスのネガティブな例の膨大なコレクション。したがって、犬と非犬の例を区別する(標準の2クラスSVM)か、犬と起源(1クラスのSVM)を区別する代わりに、各サブユニットは特定の犬(「Rex」など)と多くの非犬を区別します例。個々のサブユニットSVMはポジティブクラスの各例に対してトレーニングされているため、1つのSVMをRex用に、もう1つをFido用に、さらに別のSVMを午前6時に鳴く隣人の犬用などに使用します。これらのサブユニットSVMの出力は、特定の見本の1つだけでなく、犬がテストデータに現れるかどうかを判断するために調整および結合されます。また、個々のサブニットを1クラスのSVMのように考えることができると思います。1つの正の例が原点に位置するように座標空間がシフトされます。

要約すると、主な違いは次のとおりです。

トレーニングデータ

  • 2つのクラスのSVM:良い例と悪い例
  • 1クラスSVM:ポジティブな例のみ
  • Ensemble SVM "システム":良い例と悪い例。各サブユニットは、単一の肯定的な例と多くの否定的な例で訓練されています。

マシン数

  • 2つのクラスのSVM:1つ
  • 1つのクラスSVM:1つ
  • Ensemble SVM "システム":多く(肯定的な例ごとに1つのサブユニットマシン)

クラスごとの例(マシンごと)

  • 2クラスSVM:多/多
  • 1クラスSVM:多/ 1(原点で固定)
  • Ensemble SVM「システム」:多/多
  • アンサンブルSVM "サブユニット":1 /多数

後処理

  • 2クラスSVM:不要
  • 1クラスSVM:不要
  • Ensemble SVM:各SVMの出力をクラスレベルの予測に融合する必要がありました。

追記:「[他のアプローチ]模範を、類似性カーネルを計算できる共通の特徴空間にマッピングする必要がある」とはどういう意味かを尋ねました。私は、彼らがクラスのすべてのメンバーが何らかの形で類似していること、伝統的な2クラスSVMは、仮定の下で動作することを意味すると思うし、あなたがカーネルを見つけたいので、その場所偉大なデンマーク人dachsunds遠く離れた他のすべてから互いに近く、しかし。対照的に、アンサンブルSVMシステムは、それらの模範間の関係を心配することなく、デーンのようなORダックスフンドのようなORプードルのようなものであれば、犬と呼ぶことでこれを回避します。


素晴らしく包括的な答えをありがとう。明確にするために、一部の場所では実際にExemplar SVMの「アンサンブル」を意味しますが、他の場所では単に「Exemplar」SVMを意味しますか?公平だと思います。(1)SINGLE OSVMとSINGLE ESVM、または(2)ENSEMBLEとOSVMのENSEMBLEとESVMのいずれかと比較する必要があります。
bjou

これが複数のクラスにどれだけうまく一般化されているかを尋ねることがトピックから外れていないと思いますか?猫、犬、鳥を飼っている場合、esvmには、fido vs各猫用に1つの「要素」SVMと、fido vs各鳥用に1つの「要素」SVMが必要ですか?3つのカテゴリごとに10個のデータポイントがある場合、「犬」ごとに20個の要素SVMがあるか、200個の要素で構成されるアンサンブルがあることを意味しますか?300個のデータポイントと20個のディメンション、または5万個のデータポイントと5万個のディメンションがある場合はどうなりますか。SVMのランダムフォレストを作成している場合、ランダムサブセットを使用して「次元の呪い」の影響を軽減できますか?
EngrStudent-モニカの復活

@bjou、私はESVMの用語に少し気味が悪かったので、戻ってクリーンアップしました。ESVMシステムの「サブユニット」はOSVMのようなものと考えることができると思いますが、正の例が原点にあるように座標系の中心が変更されている点が異なります。
マットクラウス

1
@EngrStudent、それは実際に本当にうまく一般化します。この論文では、Pascal VOCタスクを使用します。このタスクには、最大20個のカテゴリがあります。私たちの動物の例を拡張するには、「Fido」と(すべての鳥、猫、魚)のサブユニット、「Rex」とすべての非犬のサブユニットなどを各犬に追加します。鳥については、「Tweety」対(すべての猫、犬、魚)、「Polly」対すべての非鳥などを訓練します。また、猫と魚の例ごとにサブユニットがあり、それぞれ猫以外と魚以外のすべてに対してトレーニングされます。クラスの数に関係なく、ラベルの付いた例ごとに1つのSVMになります。
マットクラウス

ブーストの従兄弟のように聞こえます(勾配ブーストされたツリーの意味で)。アンサンブルは、出力エラーに重み付けされていますか、それとも均一に重み付けされていますか?
EngrStudent-モニカの復活

2

要するに、ESVMモデルは各単一トレーニングセット要素を他のすべてから区別するためにトレーニングされたSVMのアンサンブルであり、OSVMは1つのクラスに属するトレーニング要素の各サブセットを区別するためにトレーニングされたSVMのアンサンブルです。したがって、トレーニングセットに300の猫と300の犬の例がある場合、ESVMは600の SVM を作成し、それぞれが1つのペットに対して、OSVMが2つの SVM を作成します(最初はすべての猫、2番目はすべての犬)。

このように、ESVMはクラス全体がクラスター化するスペースを見つける必要はなく、この単一の要素が外れ値であるスペースを見つける必要があります。リコールはアンサンブルによって提供されると言われています。

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