特徴選択と分類精度の関係


10

分類器で使用可能な機能のサブセットを選択する方法の1つは、基準(情報ゲインなど)に従ってそれらをランク付けし、分類器とランク付けされた機能のサブセットを使用して精度を計算することです。

たとえば、フィーチャがA, B, C, D, Eであり、次のようD,B,C,E,Aにランク付けされている場合は、精度を計算しDD, B次にD, B, C、次にD, B, C, E... を使用して、精度が低下し始めます。減少し始めたら、機能の追加を停止します。

例1

例1(上記)ではF, C, D, A、精度を低下させるため、フィーチャを選択し、他のフィーチャをドロップします。

その方法では、モデルに機能を追加すると、特定の時点まで分類子の精度が向上し、その後、機能を追加すると精度が低下すると想定しています(例1を参照)。

しかし、私の状況は異なります。上記の方法論を適用しましたが、機能を追加すると精度が低下し、その後は精度が上がることがわかりました。

例2

このようなシナリオでは、どのように機能を選択しますか?F残りをピックアンドドロップするだけですか?なぜ精度が低下してから上昇するのか、何かご存知ですか

回答:


4

特徴選択には、機械学習の方法と同じようにいくつかのアプローチが含まれます。アイデアは、最適な精度を生み出すことができる予測モデルに対して、最も関連性があるが冗長ではない機能を維持することです。

あなたの場合、特徴の選択にどの方法を使用しているかはわかりませんが、特徴の依存関係の多変量の性質を考慮していないと想定しています。フィーチャがN個あるとします。モデルの精度が上位のn個のフィーチャの後に低下するが、n + k(フィーチャが情報ゲインに基づいて降順の場合はn <k <N)を追加することで改善される理由は、上位nおよびk機能の依存関係(関連性が高く、冗長性が少ない)。単変量の特徴選択は、特徴が相互に依存し、相互に排他的でない場合、必ずしも最適なモデル精度を得るとは限りません。哲学的な観点から見ると、最適な機能のセットはアリストテレスの引用に類似しています:「全体はその部分の合計よりも大きい」!

最適な機能を選択するために、私はしばしばR言語のCaretパッケージを使用します。このパッケージでは、他のいくつかのアプローチの中で再帰的機能除去(RFE)を使用して機能を選択できます。最大の関連性、最小の冗長性に基づいて機能を選択するためのmRMReと呼ばれるパッケージもあります。

ベスト、
サミール


私はモバイルからの返信を起草していましたが、前の2つの返信がまったく同じであることを知りませんでした!それらにコメントせず、代わりに個別に返信する私の間違い。
Samir

冗長機能についてのあなたの要点は的確です。私が確認したところ、情報ゲインが高い3つの機能が実際に冗長である(相互に高い相関がある)ことが確認できました。これは、これらの機能を組み合わせて使用​​すると精度が低下する理由を説明します。最初の機能を過ぎると、追加機能によってデータセットに新しい「データディメンション」が追加されず、代わりに、分類子がすでに知っていることだけを「繰り返す」ため、ノイズが発生します。最初の機能。ただし、その他の機能では、情報の取得が少ないため、新しいデータディメンションが追加されます。
Pauline

1

特定の質問について

これは問題(および各モデル)に完全に依存するため、機能のサブセットを選択している間は、特定の動作(精度の増加と減少)を期待しないでください。

特徴の変数の重要度を計算するとき、同時にすべての特徴の寄与を考慮に入れています。機能のサブセットを選択して新しいモデルを構築すると、問題の別の表現またはモデリングが得られます(これは他の機能を考慮に入れていない-有益かどうか-)。

次に、最適な数の機能を選択します。これは、問題と、満たす必要のある特性または条件にも依存します。予測精度を最適化しながら、可能な限り少ない機能を必要とする場合は、最小のエラーを達成する最小数の機能を選択できます...そして、非常に類似したエラーで異なるケースがある場合は、しきい値を選択して、エラーのペアごとの差がしきい値よりも小さい上位のケースから1つを選択します(たとえば、特徴の数が少ないもの-エラーはわずかに同じなので-)。

再帰的な機能の削除を検討する

使用している方法は、最も安定したアプローチではない可能性があります。分類子を作成し、すべての機能をランク付けし、最悪の要素を削除して、残りの機能でモデルを再構築するラッパーメソッドである、再帰的機能削除(RFE)などを試すことを検討する必要があります。次に、メソッドを再度繰り返します。これはより安定する傾向があります...そして毎回異なるランキングを期待する必要があります。

分散も重要な要素です

モデルが各サブセットで提供する実際のエラー(または精度)を超えて、交差検証手順を通じて各モデルを構築し、フォールドの平均エラーとこれらのエラーの標準偏差の両方を考慮することを検討する必要があります。標準偏差が高い場合、選択された機能のサブセットは安定しておらず、目に見えないデータを使用してテストする場合、大幅に変動する傾向があります。これは、モデルの予想される汎化機能を評価するために重要であり、(異なるサブセットで構築された)モデル間の決定に役立つ可能性があります。


1

データセットから冗長な機能と無関係な機能の両方を削除する必要があります。データセットには無関係で冗長な機能があることがわかります。

最小冗長性最大関連性機能選択(MRMR)アルゴリズムを確認することをお勧めします。これは、モデルをトレーニングする前の非常に人気のある強力なフィルターです。

「しかし、私の状況は異なります。上記の方法論を適用したところ、機能を追加すると精度が低下し、その後は精度が上がることがわかりました。」

それも可能ですが、これはより複雑なモデルにつながります。


1

通常、特徴選択アルゴリズムには3つのクラスがあります。

  • データの固有のプロパティを分析し、モデルを含まない各フィーチャにスコアを割り当てるメソッドフィルタリングします。いくつかの例は、フォールドチェンジ、スチューデントt検定です。

  • 機能の異なるサブセットが特定のアルゴリズムを通じて選択されるラッパーメソッド。次に、分類または回帰モデルに適合させて、各選択を評価し、最適な値を持つものを選択します。いくつかの例は、特徴選択のための遺伝的アルゴリズム、特徴選択のためのモンテカルロ最適化、前方/後方段階的選択です。

  • モデル自体がモデルの適合性に最も貢献する機能を選択できるようにする埋め込みメソッド。典型的なものはLASSO、リッジ回帰です。

これは、機能選択紹介の詳細についての素晴らしい記事です。


投稿で紹介されているメソッドは、フィルターの例です。フィルターはすべての機能をランク付けし、トピックはこれらのランク付けされた機能のサブセットを選択する方法です。
Pauline
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.