フィーチャーエンジニアリングは、機械学習(ML)モデルのパフォーマンスを向上させるために、生データからフィーチャー(入力変数)を選択、変換、作成する重要なプロセスです。フィーチャーエンジニアリングは、厳密な科学というよりも芸術と考えられており、多くの場合、分野の専門知識、直感、実験を必要とする。モデルに投入される特徴の質は、パターンを学習し正確な予測を行う能力に直接影響するため、特徴エンジニアリングはMLプロジェクトを成功させるための基礎となる。より良い特徴は、よりシンプルなモデル、より速い学習時間、精度の向上につながります。
フィーチャー・エンジニアリングとは何か?
フィーチャーエンジニアリングの核心は、生の、しばしば乱雑なデータを、アルゴリズムが理解し効率的に学習できる構造化されたフォーマットに変換することである。これには、データ、問題のコンテキスト、そして選択されたMLモデルを理解することが含まれる。目標は、情報量が多く、識別力があり、独立した入力特徴を作成し、予測タスクに関連する基本的なパターンを強調することである。このプロセスは、生のデータ収集とモデルトレーニングのギャップを埋め、機械学習パイプラインの結果に大きく影響します。
主要テクニック
フィーチャーエンジニアリングにはいくつかの手法があり、しばしば組み合わせて使用される:
- フィーチャー・クリエーション:既存のフィーチャーを組み合わせたり変換したりして、新しいフィーチャーを生成すること。例えば、相互作用項の作成(例:2つの変数の乗算)、多項式フィーチャーの作成、ドメイン固有のメトリックの導出(金融における負債対収入比率のような)など。
- フィーチャー変換:モデルの仮定を満たすため、またはパフォーマンスを向上させるために、既存のフィーチャーを変更すること。一般的な方法としては、スケーリング(正規化など)、歪んだデータの対数変換、連続変数のカテゴリへのビン化などがある。コンピュータビジョン(CV)では、Data Augmentationのような技術も、画像データに適用される特徴変換の一形態と見なすことができる。
- 特徴抽出:元の特徴セットから、より情報量の多い新しい特徴セットを作成すること。主成分分析(PCA)のような技法がこのカテゴリーに入る。特徴選択と関連しているが、抽出は新しい特徴を作成するのに対し、選択は既存の特徴のサブセットを選択する。
- 特徴の選択:元のデータセットから最も関連性の高い特徴を特定・選択し、無関係な特徴や冗長な特徴を取り除く。これによりモデルの複雑さを軽減し、オーバーフィッティングを防ぎ、計算効率を向上させる。単純な相関分析から、より複雑なラッパー法や埋め込み法まで、さまざまな手法がある。
実例
フィーチャー・エンジニアリングは、さまざまなAIアプリケーションに遍在している:
- 予知保全:機器の故障を予測するために、生のセンサーデータ(温度、振動、圧力)はノイズが多く、高次元である可能性があります。フィーチャーエンジニアリングは、ローリング平均、時間ウィンドウの標準偏差、振動データからの周波数成分(フーリエ変換を使用)、または最後のメンテナンスイベントからの時間などのフィーチャーを作成します。これらのエンジニアリングされた特徴は、故障予測モデルにより明確なシグナルを提供する。これは製造業におけるAIにおいて極めて重要である。
- 自然言語処理(NLP): センチメント分析などのタスクでは、生のテキストを変換する必要がある。特徴エンジニアリングには、TF(項頻度-逆文書頻度)ベクトル、単語数、n-gram(単語の並び)、読みやすさのスコア、特定の言語的特徴(肯定語/否定語の使用など)の抽出などが含まれる。最新の変換モデルは表現を自動的に学習するが、特に小規模なデータセットや特殊なタスクでは、明示的な特徴工学によってパフォーマンスを向上させることができる。
フィーチャーエンジニアリングと関連概念
- データの前処理:フィーチャーエンジニアリング、データクリーニング、欠損値の処理、初期データフォーマットを含む、より広範なカテゴリー。フィーチャーエンジニアリングは、特にモデルの入力変数の最適化に重点を置いています。注釈付きデータの前処理については、Ultralytics ガイドを参照してください。
- ディープラーニングにおける特徴抽出 ディープラーニング(DL)モデル、特にCNNは、生のデータ(ピクセルなど)から階層的な特徴を自動的に学習する。これにより、手作業による特徴設計の必要性は減りますが、入力の前処理や、主要データと並行してメタデータの特徴設計を行うことは依然として有益であるため、完全に不要になるわけではありません。
- 自動機械学習(AutoML): Google Cloud AutoMLのようなツールは、特徴設計を含む様々なMLステップを自動化することを目的としている。しかし、人間の洞察とドメイン知識は、純粋に自動化されたアプローチよりも効果的な特徴設計につながることがよくあります。
フィーチャー・エンジニアリングとUltralytics
Ultralytics YOLO ような高度なモデルは、ディープニューラルネットワークアーキテクチャ(バックボーン、ネック、ヘッド)を通じて関連する視覚的特徴を自動的に学習することで、物体検出や 画像セグメンテーションなどのタスクに優れているが、特徴工学の原則は依然として関連している。例えば、YOLO モデルに入力する前に入力画像を前処理(例えば、様々な照明に対するヒストグラム均等化、ノイズ除去)することは、ロバスト性を向上させることができる特徴工学の一形態である。さらに、YOLO 出力(バウンディングボックス座標、オブジェクトクラス、カウントなど)は、下流のタスクのためのフィーチャーに設計したり、より複雑な分析のために他のデータソースと組み合わせたりすることができますUltralytics モデルの使い方やカスタマイズの詳細については、Ultralytics ドキュメントをご覧ください。