フィーチャースケーリングは、機械学習においてデータの独立変数または特徴量の範囲を標準化するために用いられるデータ前処理技術である。多くのアルゴリズムでは、スケールが大きく異なる特徴量が存在すると学習プロセスが歪められ、モデルが大きい値を持つ特徴量に偏ってしまうことがある。フィーチャースケーリングは、データを変換してすべての特徴量がモデルの目的に対して比例的に寄与するようにすることで、この問題に対処する。
フィーチャースケーリングの必要性は、距離計算や勾配降下法に基づく多くの機械学習アルゴリズムが入力値の大きさに敏感であることから生じる。例えば、年齢(0〜100の範囲)や収入(0〜100,000の範囲)のような特徴量を含むデータセットでは、スケーリングしない限り収入の特徴量が距離ベースの計算を支配してしまう。スケーリングにより、単一の特徴量が学習プロセスを支配することがなくなり、より速い収束とモデル精度の向上がもたらされる。
フィーチャースケーリングの方法
フィーチャースケーリングにはいくつかの手法が存在し、それぞれ異なる特性と使用例を持つ。最も一般的な方法には、最小最大正規化、標準化(zスコア正規化)、およびロバストスケーリングが含まれる。
最小最大正規化は、特徴量を固定範囲、通常は[0, 1]または[-1, 1]に再スケーリングする。変換は(x - min) / (max - min)で与えられ、ここでminとmaxは特徴量の最小値と最大値である。この方法は外れ値に敏感であり、極端な値がデータの大部分のスケーリング範囲を圧縮する可能性がある。
標準化(またはzスコア正規化)は、特徴量を平均0および標準偏差1に変換し、式(x - mean) / standard deviationを使用する。最小最大正規化とは異なり、標準化は値を特定の範囲に制限せず、minとmaxよりもロバストな平均と標準偏差を使用するため、外れ値の影響を受けにくい。
ロバストスケーリングは、中央値と四分位範囲(IQR)を使用して特徴量をスケーリングし、外れ値に対して非常に耐性がある。式は(x - median) / IQRである。この方法は、データに他のスケーリング方法を歪める可能性のある顕著な外れ値が含まれる場合に特に有用である。
他の方法には、各特徴量をその最大絶対値でスケーリングする最大絶対値スケーリングや、各サンプルを単位ノルムにスケーリングする単位ベクトルスケーリングが含まれる。
機械学習アルゴリズムにおける重要性
フィーチャースケーリングは、k近傍法、サポートベクターマシン、k平均法などのクラスタリングアルゴリズムなど、距離メトリクスに依存するアルゴリズムにとって重要である。これらのアルゴリズムでは、データポイント間のユークリッド距離が計算され、スケールが大きい特徴量が距離計算に不均衡に影響を与える可能性がある。
勾配降下法ベースのアルゴリズム、ニューラルネットワークのトレーニングを含むものも、フィーチャースケーリングの恩恵を受ける。特徴量のスケールが異なる場合、勾配降下の経路が細長くなり振動的になることがあり、収束が遅くなる。特徴量をスケーリングすることで、より球形の誤差曲面が作られ、勾配降下がより迅速かつ確実に収束できるようになる。
決定木やランダムフォレストなどのツリーベースのモデルは、特徴量の値に基づいて分割を行うため、一般的にフィーチャースケーリングに影響を受けない。ただし、正則化を使用する場合や、ツリーベースのモデルを他のコンポーネントと組み合わせる場合など、一部の実装ではスケーリングが依然として有益である。
深層学習における応用
深層学習では、フィーチャースケーリングはデータ前処理パイプラインの一部としてよく適用される。例えば、画像処理では、ピクセル値が範囲[0, 255]から[0, 1]にスケーリングされたり、平均0および単位分散に標準化されたりすることが一般的である。この手法はトレーニングを安定させ、ネットワーク内で適用されるフィーチャースケーリングの一形態であるバッチ正規化やレイヤー正規化などの技術の効果を向上させる。
大規模言語モデルのトレーニングでは、テキストデータが通常トークン化されて埋め込まれるため、フィーチャースケーリングはあまり議論されないが、埋め込みベクトルの初期化と正規化にはスケーリングが依然として役割を果たす。重み初期化や正規化層などの技術は、ネットワーク全体で適切なスケールを維持し、勾配消失や勾配爆発などの問題を防ぐように設計されている。
実践上の考慮事項
フィーチャースケーリングを適用する際には、スケーリングパラメータ(例えば、min、max、mean、standard deviation)をトレーニングセットのみで適合させ、その後、検証セットとテストセットに同じ変換を適用することが不可欠である。これにより、テストセットからの情報がトレーニングプロセスに影響を与え、過度に楽観的なパフォーマンス推定につながるデータリークを防ぐことができる。
スケーリング方法の選択は、データ分布と使用するアルゴリズムに依存する。外れ値があるデータでは、最小最大正規化よりもロバストスケーリングまたは標準化が好まれることが多い。ほぼガウス分布のデータでは、標準化が一般的なデフォルトである。ピクセル強度などの有界なデータでは、最小最大正規化が頻繁に使用される。
フィーチャースケーリングは、トレーニング中の同様の安定性問題に対処する勾配クリッピングや、トレーニング例の難易度のスケーリングを含むことができるカリキュラム学習などの他の前処理技術とも関連している。実際には、フィーチャースケーリングは機械学習パイプラインの基本ステップであり、その適切な適用はモデルのパフォーマンスに大きな影響を与える可能性がある。