1つのクラスのみの分類子


10

単純な分類では、クラス0とクラス1の2つのクラスがあります。一部のデータでは、クラス1の値しかないため、クラス0の値はありません。現在、クラス1のデータをモデル化するモデルを作成することを考えています。したがって、新しいデータが来ると、このモデルが新しいデータに適用され、新しいデータがこのモデルにどれだけ当てはまるかを示す確率がわかります。次に、しきい値と比較して、不適切なデータをフィルタリングできます。

私の質問は:

  • これは、そのような問題を処理するための良い方法ですか?
  • この場合、RandomForest分類器を使用できますか?分類子がノイズと見なすことを望んでいるクラス0の人工データを追加する必要がありますか?
  • 他のアイデアがこの問題に役立つでしょうか?

回答:


9

これはいくつかのアプローチを使用して可能であり、確かに有効なアプローチです。しかし、ランダムなフォレストがこれを実行できるかどうかはわかりません。

人工データを生成することは、追加の仮定を行うことを意味します。必要がない場合は、そうしないでください。

調べたいテクニックの1つは、いわゆる1クラスSVMです。それはあなたが探しているものを正確に実行します:トレーニングポイントを受け入れ、他の分布からのポイントを拒否するモデルを構築しようとします。

1クラスSVMに関する参考資料:

  1. Schölkopf、Bernhard、他 「高次元分布のサポートの推定」ニューラル計算13.7(2001):1443-1471。このホワイトペーパーでは、このアプローチを紹介しました。

  2. 税金、デビッドMJ、ロバートPWダイン。「サポートベクターデータの説明」機械学習54.1(2004):45-66。同じことをする別の方法、おそらくより直感的。

これらのアプローチは両方とも同等であることが示されています。1つ目は、すべてのトレーニングデータを最大距離の特徴空間の原点から分離する超平面を推定します。2番目は、トレーニングインスタンスを含む特徴空間で最小半径の超球を推定します。

1クラスのSVMは、libsvmscikit-learn(Python)、kernlab(R)など、多くのSVMパッケージで利用できます。


3
税の博士論文「ワンクラス分類-コンセプト学習反例が存在しない場合には、」も入手可能です:homepage.tudelft.nl/n9d04/thesis.pdf
SXに不満cbeleites

短くて正確!(+1)「これらのアプローチはどちらも同等であることが示されています。」-そのための参照/引用を指定できますか?それはscholar.google.de/...
Boern

6

さらにいくつかの可能性を追加しましょう:

一般的な考え方は、クラスからの距離にしきい値を設定すると、サンプルがそのクラスに属しているかどうか、および他のクラスがあるかどうかに関係なく、サンプルを決定できるということです。

  • マハラノビス距離=> QDA
  • SIMCA(クラス類似のソフト独立モデリング)は、PCAスコア空間で距離を使用します。
    SIMCAはケモメトリックスの文献では一般的です(実際に1クラスの方法で設定されることはめったにありません)。
  • (SVMはすでに@Marc Claesenの回答で扱われています)

リチャードG.ブレトン:パターン認識のためのケモメトリックス(Wiley、2009)には、1クラスの分類に関する章がすべてあります。

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