2015-12-13 16 views
6

私は、データサンプルを分類するために、マルチクラス分類器(サポートベクターマシン、One-Vs-All経由)を使用しています。私は現在、nの異なるクラスを持っているとしましょう。分類機械学習アルゴリズムで新しいクラスを発見するには?

しかし、私が直面しているシナリオでは、新しいデータサンプルが新しいクラスn+1に属している可能性があります。

私はオンライン学習の形式が必要だと言えるでしょう。冒頭には、後で表示されるすべてのデータに適した個別のトレーニングセットがないためです。その代わりに、将来登場する可能性のある新しいクラスに動的に適応するSVMが必要です。

は、だから私は、新しいデータサンプルは、既存のクラスにかなりフィットしないことを識別
  1. ...場合、どのように私は、約思ったんだけど代わりに新しいクラスを作成する際に生じるはずです。

  2. 既存の分類子に新しいクラスを統合する。

私は漠然とこの問題を解決するためのアプローチであるかもしれないいくつかのアイデアを考えることができます。

  1. バイナリSVM分類器のいずれも場合(私はOVAの場合には、各クラスのための1つを持っているとして、 )は新しいデータサンプルのかなり高い確率(例えば> 0.5)を予測するので、この新しいデータサンプルが新しいクラスを表すかもしれないと私は考えることができる。

  2. 新しいクラスの新しいバイナリクラシファイアをトレーニングし、それをマルチクラスSVMに追加することができました。

しかし、これらは私の素朴な考えです。私はこれに代わっていくつかの「適切な」アプローチがあるかどうか疑問に思っています。クラスター化アルゴリズムを使用してすべてのクラスを検索します。

これにSVMを使用しようとする私のアプローチは、この種の問題には適切ではないでしょうか?

これは大変ご了承ください。

+0

SVMを使用したいですか?あなたが話しているクラスの範囲は何ですか? – Mido

+0

- いいえ、必ずしもSVMを使用する必要はありません。私はちょうどそれが最も一般的なカーネルベースのアルゴリズムと思われるので、それを使用しています。 - クラスの範囲に関する質問を正しく理解しているかどうかはわかりません。クラスはおそらく十数か二から百までの異なるクラスになるでしょう。 – Oliver

+0

単一のデータポイントを持つクラスでSVMをトレーニングすることはできないことを考慮する必要があります。これは、おそらく新しいクラスに属するポイントを見つけたら、そのクラスのクラシファイアをトレーニングする前に、近くにあるポイントが増えるまで待たなければならないことを意味します。この問題は、それぞれが異なるクラスに属している場所を分類できない2つのポイントを取得し始めたときに発生します。 – Mido

答えて

1

他の機械学習の問題と同様に、品質基準がない場合は、あなたは吸います。

人々が「分類」と言うとき、彼らは覚えている学習を監督しました:あなたのアルゴリズムを訓練して確認することができる根拠があります。新しい授業が現れれば、この真実はあいまいです。 1つのクラスが「馬」であり、あなたは多くの馬を見ると想像してください:黒い馬、茶色の馬、さらには白い馬です。突然、ゼブラが見えます。ウワ!それは新しいクラスか、まれな馬ですか?答えは、あなたがどのようにクラスラベルを使用するかによって決まります。 SVM自体は決定できません.SVMはこれらのラベルを使用しないため、SVMはそれらを生成するだけです。決定は人間(または、何が "良い"と "悪い"かを知る、すなわちそれ自身の "損失関数"または "効用関数"を有する)いくつかの意思決定アルゴリズムまでである。

スーパーバイザーが必要です。しかし、この監督者をどのように助けることができますか?二つの選択肢が頭に浮かぶ:

  1. 異常検出を。これは、新しいクラスの早期発生に役立ちます。非常に最初のシマウマの後にあなたのアルゴリズムは、それはアラームを発生させることができます: "珍しいものがあります!たとえば、in sklearnランダムフォレストから1クラスSVMまでのさまざまなアルゴリズムを使用して、異常な観測を検出することができます。その後、あなたの上司は彼らを見て、彼らがまったく新しいクラスを形成することができるかどうかを決定することができます。

  2. クラスタリング。クラスを分割することを決定するのに役立ちます。たとえば、最初のシマウマの後、新しいクラスを作る価値がないと決めました。しかし、時間の経過とともに、アルゴリズムには数十の画像が蓄積されています。したがって、「馬」と表示されたすべての観測でクラスタリングアルゴリズムを実行すると、2つのよく分かれたクラスタで終わる可能性があります。ストライプウマを平らなものから新しいクラスに切り離すべきかどうかを決定するためには、再び上司に任せます。

この決定を純粋に自動で行うには、クラスター間の平均距離とクラスター間の距離の比が十分に小さい場合にクラスを分割できます。しかし、それはあなたが最初の場所で良い距離のメトリックを持っている場合にのみうまくいくでしょう。また、「良い」とは、アルゴリズムの使用方法と最終目標がどのように定義されるかです。

関連する問題