私は、データサンプルを分類するために、マルチクラス分類器(サポートベクターマシン、One-Vs-All経由)を使用しています。私は現在、n
の異なるクラスを持っているとしましょう。分類機械学習アルゴリズムで新しいクラスを発見するには?
しかし、私が直面しているシナリオでは、新しいデータサンプルが新しいクラスn+1
に属している可能性があります。
私はオンライン学習の形式が必要だと言えるでしょう。冒頭には、後で表示されるすべてのデータに適した個別のトレーニングセットがないためです。その代わりに、将来登場する可能性のある新しいクラスに動的に適応するSVMが必要です。
は、だから私は、新しいデータサンプルは、既存のクラスにかなりフィットしないことを識別既存の分類子に新しいクラスを統合する。
私は漠然とこの問題を解決するためのアプローチであるかもしれないいくつかのアイデアを考えることができます。
バイナリSVM分類器のいずれも場合(私はOVAの場合には、各クラスのための1つを持っているとして、 )は新しいデータサンプルのかなり高い確率(例えば> 0.5)を予測するので、この新しいデータサンプルが新しいクラスを表すかもしれないと私は考えることができる。
新しいクラスの新しいバイナリクラシファイアをトレーニングし、それをマルチクラスSVMに追加することができました。
しかし、これらは私の素朴な考えです。私はこれに代わっていくつかの「適切な」アプローチがあるかどうか疑問に思っています。クラスター化アルゴリズムを使用してすべてのクラスを検索します。
これにSVMを使用しようとする私のアプローチは、この種の問題には適切ではないでしょうか?
これは大変ご了承ください。
SVMを使用したいですか?あなたが話しているクラスの範囲は何ですか? – Mido
- いいえ、必ずしもSVMを使用する必要はありません。私はちょうどそれが最も一般的なカーネルベースのアルゴリズムと思われるので、それを使用しています。 - クラスの範囲に関する質問を正しく理解しているかどうかはわかりません。クラスはおそらく十数か二から百までの異なるクラスになるでしょう。 – Oliver
単一のデータポイントを持つクラスでSVMをトレーニングすることはできないことを考慮する必要があります。これは、おそらく新しいクラスに属するポイントを見つけたら、そのクラスのクラシファイアをトレーニングする前に、近くにあるポイントが増えるまで待たなければならないことを意味します。この問題は、それぞれが異なるクラスに属している場所を分類できない2つのポイントを取得し始めたときに発生します。 – Mido