- 2014 年 1 月 20 日
- ヴァシリス・ヴリニオティス
- 。 5コメント
テキスト分類では、特徴選択は、トレーニングセットの用語の特定のサブセットを選択し、分類アルゴリズムでそれらのみを使用するプロセスです。 特徴選択プロセスは、分類器のトレーニングの前に行われます。
更新:Datumbox Machine Learning Frameworkがオープンソースになり、無料で ダウンロード。 パッケージcom.datumbox.framework.machinelearning.featureselectionをチェックして、Javaでのカイ二乗および相互情報機能選択メソッドの実装を確認してください。
特徴選択アルゴリズムを使用する主な利点は、データの次元を削減し、トレーニングを高速化し、ノイズの多い特徴を削除することで精度を向上できることです。 結果として、機能の選択は、過剰適合を回避するのに役立ちます。
k個の最良の特徴を選択するための基本的な選択アルゴリズムを以下に示します(Manning et al、2008):
次のセクションでは、相互情報量とカイ二乗というXNUMXつの異なる特徴選択アルゴリズムを紹介します。
相互情報
最も一般的な特徴選択方法のXNUMXつは、クラスcの項tの相互情報です(Manning et al、2008)。 これは、特定の用語の有無がcの正しい分類決定に寄与する情報量を測定します。 相互情報量は、次の式を使用して計算できます。
【1]
計算では、確率の最尤推定値を使用するため、次の方程式を使用できます。
【2]
ここで、Nはドキュメントの総数、Nはtc値がeのドキュメントの数です。t (ドキュメント内の用語tの出現。値は1または0です)およびec(クラスcのドキュメントの出現。値は1または0です)XNUMXつの添え字で示されます。 & 。 最後に、前述の変数はすべて負でない値を取ることに注意する必要があります。
カイスクエア
別の一般的な特徴選択方法は カイスクエア。 X2 testは、特に統計で使用され、XNUMXつのイベントの独立性をテストします。 より具体的には、特徴選択では、特定の用語の出現と特定のクラスの出現が独立しているかどうかをテストするために使用します。 したがって、各用語について次の数量を見積もり、スコアによってランク付けします。
【3]
xのハイスコア2 帰無仮説(H0)独立性を拒否する必要があるため、用語とクラスの出現は依存します。 それらが依存している場合は、テキスト分類の機能を選択します。
上記の式は、次のように書き換えることができます。
【4]
カイ二乗法を使用する場合、axを持つ定義済みの数の特徴のみを選択する必要があります。2 10.83レベルでの統計的有意性を示す0.001より大きいテストスコア。
最後に重要なことですが、統計的な点から、カイ二乗特徴の選択はXNUMXつの自由度と イエーツ補正 代わりに使用する必要があります(統計的有意性に到達するのが難しくなります)。 したがって、選択された機能全体のうち、ごく一部がクラスから独立していることを期待する必要があります)。 したがって、選択された機能全体のうち、ごく一部がクラスから独立していることを期待する必要があります。 それにもかかわらず マニング他(2008) 示されているように、これらのノイズの多い機能は分類子の全体的な精度に深刻な影響を与えません。
ノイズの多い/まれな機能の削除
過剰適合を回避し、メモリ消費量を減らして速度を向上させるのに役立つ別のテクニックは、すべてのまれな用語を語彙から削除することです。 たとえば、すべてのカテゴリでXNUMX回だけ発生したすべての用語を削除できます。 これらの用語を削除すると、メモリ使用量が大幅に削減され、分析の速度が向上します。 最後に、この手法を上記の特徴選択アルゴリズムと組み合わせて使用できることを確認してください。
記事は気に入りましたか? Twitterで共有してください。 🙂