変数選択
多くの説明変数から有用な少数個の説明変数を精選して判別式を作ることが重要になることもある。理論的基盤があるときはそれに従って説明変数を選択することが可能であるが,そうでないときには以下に示すような変数の選択法がある。
- 変数増加法
- 最初に最も判別に有効な説明変数( 外的基準変数との相関係数が最も大きいもの )を判別式に取り入れる。次の段階では,残りの説明変数の中で最も判別に有効な説明変数を取り入れる。判別精度の改善が一定限度以上である間,この操作を繰り返す。
- 変数減少法
- 最初に全ての説明変数を含む判別式を作る。次に,その中から最も判別に有効でない説明変数を除去する。判別精度の低下が一定限度以内である間,この操作を繰り返す。
- 変数増減法
- 変数増加法では,いったん判別式に取り込まれた説明変数は除去されることはないが,後の段階になってそれまでに取り込まれた説明変数の重要性が低くなることがある。変数増減法は各段階で変数を追加した後で除去すべき説明変数がないかをチェックする。
- 変数減増法
- 最初に全ての説明変数を含む判別式を作る。その後に続く各段階では,まず既に判別式に取り入れられている説明変数の中から最も判別に有効でない説明変数を除き,取り入れられていない説明変数の中に取り入れるべきものがないかをチェックする。
説明変数の追加・除去の基準としては,各変数の 偏 F 値 に基づく Fin,Fout,それを有意確率に換算したPin,Pout がある。いずれも,各説明変数の判別係数の有意性検定と関連しており,後者で例えば Pin = Pout = 0.05 を指定するということは,最終的な判別式に含まれる全ての説明変数の判別係数が 0 であるという帰無仮説が有意水準 5 % で棄却されるということを意味する。
変数選択
多重共線性を避けるように注意が必要であるほか,多くの独立変数から有用な少数個の独立変数を精選して重回帰式を作ることが重要になることもある。理論的基盤があるときはそれに従って独立変数を選択することが可能であるが,探索的に行うためには「総当たり法」や,以下に示すような変数の選択法がある。
- 変数増加法
- 最初に最も予測に有効な独立変数( 従属変数との相関係数が最も大きいもの )を重回帰式に取り入れる。次の段階では,残りの独立変数の中で最も予測に有効な独立変数を取り入れる。予測精度の改善が一定限度以上である間,この操作を繰り返す。
- 変数減少法
- 最初に全ての独立変数を含む重回帰式を作る。次に,その中から最も予測に有効でない独立変数を除去する。予測精度の低下が一定限度以内である間,この操作を繰り返す。
- 変数増減法
- 変数増加法では,いったん重回帰式に取り込まれた独立変数は除去されることはないが,後の段階になってそれまでに取り込まれた独立変数の重要性が低くなることがある。変数増減法は各段階で変数を追加した後で除去すべき独立変数がないかをチェックする。
- 変数減増法
- 最初に全ての独立変数を含む重回帰式を作る。その後に続く各段階では,まず既に重回帰式に取り入れられている独立変数の中から最も予測に有効でない独立変数を除き,取り入れられていない独立変数の中に取り入れるべきものがないかをチェックする。
独立変数の追加・除去の基準としては,各変数の 偏 F 値 に基づく Fin,Fout,それを有意確率に換算したPin,Pout がある。いずれも,各独立変数の偏回帰係数の有意性検定と関連しており,後者で例えば Pin = Pout = 0.05 を指定するということは,最終的な重回帰式に含まれる全ての独立変数の偏回帰係数が 0 であるという帰無仮説が有意水準 5 % で棄却されるということを意味する。
特徴選択
(変数選択 から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/10/01 09:16 UTC 版)
特徴選択(とくちょうせんたく、英: feature selection)とは、機械学習と統計学の用語であり、頑健な学習モデルの構築のため、特徴集合のうち意味のある部分集合だけを選択する手法のことを指す。特徴量選択、変数選択、特徴削減、属性選択、素性選択、変数部分集合選択などとも呼ばれる。生物学の文脈では、DNAマイクロアレイの実験に基づいて影響力のある遺伝子を検出する手法を指す場合もある。不要で冗長な特徴量をデータから除去することによって、特徴選択は学習モデルを次の点で改善する:
- 次元の呪いの効果を緩和する。
- 汎化性能を向上させる。
- 学習を高速化する。
- モデルの可読性を改善する。
特徴選択を行うと、データのうちどの特徴量が重要でありどのようにそれらが関係しているかなどといった点について、人間が理解しやすくなるという効果もある。
導入
単純な特徴選択アルゴリズムは場当たり的なものだが、より系統だったアプローチも存在する。理論的観点からは、教師あり学習問題において最適な特徴選択を行うには、選ばれた大きさのすべての部分集合を特徴集合から取り出し、総当たりで試す必要があるということが証明できる。特徴の数が多くなれば、このやり方は実用的でなくなる。実用的な教師あり学習アルゴリズムの特徴選択では、最適な集合ではなく満足できる集合を求めることになる。
特徴選択アルゴリズムは典型的には、特徴ランキングと部分集合選択という二つのカテゴリに分類される。特徴ランキングでは、ある指標によって特徴をランクづけし、一定のスコアに達しなかった特徴を除去する。部分集合選択では、最適な部分集合を目指して特徴の組み合わせを探索する。
統計学では、ステップワイズ回帰がもっともよく用いられる特徴選択の形態である。この手法は、各ステップにおいてもっとも良い特徴を追加する(もしくはもっとも悪い特徴を除去する)貪欲アルゴリズムである。機械学習では交差検証によって特徴の良さを評価することが多く、統計学ではなんらかの規準を最適化することが多い。このやり方には入れ子型の特徴量に関する問題が内在しているため、分枝限定法や区分線形ネットワークなど、より頑健な手法が研究されている。
部分集合選択
部分集合選択では、特徴集合の部分集合がまとまりとして適切かどうかを評価する。部分集合選択のアルゴリズムは、ラッパー、フィルター、埋め込みの三種に分類できる。ラッパーは探索アルゴリズムを用いて可能な特徴の空間を探索し、それぞれの部分集合でモデルを走らせて評価を行う。ラッパーは計算量的にコストが高く、モデルの過剰適合を起こす危険性がある。フィルターは探索を行う点でラッパーに似ているが、モデルを走らせるかわりにより単純なフィルターを用いて評価を行う。埋め込み型の方法はモデルごとに特化したものであり、モデルに埋め込まれている。
よく用いられる探索のアプローチは貪欲な山登り法である。山登り法では、候補となる特徴部分集合を評価し、部分集合の一部を書き換えてそれが古い部分集合を改善している限り手続きを繰り返す。部分集合の評価では、特徴部分集合をスコアづけする指標が必要となる。総当たり探索は通常実用的でないため、実装者が停止点を定め、その停止点までに見つかったうち最高のスコアを持つ特徴部分集合を満足できる特徴部分集合として採用する。停止の規準は、アルゴリズムによって異なるが、部分集合のスコアがしきい値を超える、プログラムの実行時間が規定値を超える、などである。
などがある。
フィルターの規準として、分類問題では相関と相互情報量の二つがよく用いられる。これらのスコアは候補となる特徴(もしくは特徴部分集合)と求める出力カテゴリの間で計算される。
フィルターの規準としてはほかに、次のものがある:
- クラスの分離性
- 誤分類確率
- クラス内距離
- 確率分布の距離
- エントロピー
- 一貫性に基づく特徴選択
- 相関に基づく特徴選択
最適性規準
特徴選択を制御する最適性規準には様々なものがある。もっとも古いものとしてはマローズのCp統計量や赤池情報量規準がある。これらの手法では t統計量が を超えた変数を採用する。
その他の規準としては、 を用いるベイズ情報量規準 (BIC) 、 を近似的に用いる最小記述長(この近似の計算は正しくないとする議論もある[要出典])、 を用いる Bonnferroni 法や RIC 、偽発見率に基づいて 付近のしきい値を用いる様々な規準がある。
正則化
L1 正則化、L0 正則化を用いても特徴選択できる。詳細は正則化の項目を参照。
特徴選択が埋め込まれている手法
- L1正則化:Lasso、エラスティックネット
- 決定木やランダムフォレスト
- 多変量適応的回帰スプライン
- Random multinomial logit
- Memetic algorithm
- ボトルネック層を持つ自己記述ネットワーク
- 決定木プルーニングステップのあるその他の多数の機械学習手法
特徴選択のためのソフトウェア
MATLAB, Scilab, NumPy, R言語などの多くの標準的なデータ解析ソフトウェア(参考:en:Category:Data analysis software)では、特徴選択の機能が提供されている。特徴選択に特化したソフトウェアとしては次のものがある。
- RapidMiner – 無料で公開されているオープンソースソフトウェア。
- Weka – 無料で公開されているオープンソースソフトウェア。
- Orange (ソフトウェア) – 無料で公開されているオープンソースソフトウェア。(orngFSSモジュール)。
- TOOLDIAG Pattern recognition toolbox – 無料で公開されている C のツールボックス。
- minimum redundancy feature selection tool – 無料で公開されている、最小冗長性による特徴選択を行う C/Matlab のソースコード。
関連項目
参考文献
- JMLR Special Issue on Variable and Feature Selection
- Feature Selection for Knowledge Discovery and Data Mining (本)
- An Introduction to Variable and Feature Selection (サーベイ)
- Toward integrating feature selection algorithms for classification and clustering (サーベイ)
- Searching for Interacting Features
- Feature Subset Selection Bias for Classification Learning
- M. Hall 1999, Correlation-based Feature Selection for Machine Learning
外部リンク
- NIPS challenge 2003 (NIPSも参照)
- Naive Bayes implementation with feature selection in Visual Basic (実行ファイルとソースコード)
- 特徴選択 - 機械学習の「朱鷺の杜Wiki」
- 変数選択のページへのリンク