機械学習のための特徴量最適化
特徴量選択を実施することで、機械学習モデルを大幅に改善できます。
本資料では、特徴量選択について 知っておくべきことをすべて概説しています。なぜ特徴量選択が重要なのか、そして特徴量選択がなぜ難しい問題なのかを説明します。また、特徴量選択を行うために使用されているさまざまなアプローチについて実例をもとに詳しく解説します。
なぜ特徴量選択が重要なのか?
特徴量設計は、モデルタイプ(決定木や回帰などアルゴリズム)やそのパラメータよりもモデルの品質に大きな影響を与えるという共通認識があります。しかしながら、カーネル関数を用いたサポートベクタマシンや隠れ層を用い暗黙的な特徴空間を生成するディープラーニングなどが使えるようになった時代においても特徴量選択は依然として重要な問題なのでしょうか?特徴量選択が重要な問題である理由として、下記の 2 つが挙げられます。
1 つ目の理由として、実際のパターンを隠してしまうほどの余分な特徴量で学習してしまうと、本来のパターンを見つけるのが難しくなります。この場合、モデルは不要な特徴量のノイズパターンを使用し始め、結果としてパフォーマンスの低下につながります。ノイズパターンにフィットしすぎると、新しいデータ・ポイントで予測(推論)が上手くいかず、パフォーマンスがさらに悪化する可能性があります。これは、特に次元数の多いデータセットで起こりやすくなります。特に、決定木などのアルゴリズムは多層ニューラルネットワークと同様にノイズパターンを過度に学習してしまう傾向があります。不要な特徴量を削除することで、モデルが本来のパターンに焦点を合わせ学習することができ、高いパフォーマンスを維持することができます。
2 つ目の理由は、特徴量の数を減らすと、一般的にモデルの学習(トレーニング)が大幅に速くなります。そして大抵の場合、結果として得られるモデルは単純で理解しやすいものとなります。常に単純なモデルになるように心がけ、ノイズを削除し、ロバストなモデル作成を心がける必要があります。
具体的なアプローチ方法については、添付のPDF(資料)をご確認下さい。