正規化(Normalization)とは、データの値を一定の範囲にスケーリングする前処理手法です。特に0〜1の範囲にスケーリングするMin-Max正規化が代表的です。特徴量のスケールを揃えることで、モデルの学習を安定させ、収束を早めます。
Min-Max正規化
x_normalized = (x - x_min) / (x_max - x_min)で計算し、すべての値を0〜1に変換します。外れ値の影響を受けやすいという特徴があります。
| ひとことで言うと | データの値を0〜1などの決まった範囲に収める前処理。 |
|---|---|
| どこで使う | ニューラルネットワークの入力、画像の画素値、距離を使う手法。 |
| 注意点 | 外れ値があると、大半のデータが狭い範囲に潰れてしまう。 |
なぜ正規化が必要か
特徴量のスケールが大きく異なる場合(例:年齢0〜100と年収100万〜1000万)、スケールの大きい特徴量がモデルに過度に影響します。距離ベースのアルゴリズム(k-NN、SVM)や勾配降下法ベースのモデルでは特に重要です。
1最小・最大を求める列ごとに計算
▶
2最小を引く下限を0にそろえる
▶
3幅で割る最大−最小で割る
▶
40〜1に収まる列同士を比較できる
標準化との違い
正規化が値を一定範囲にスケーリングするのに対し、標準化は平均0・標準偏差1に変換します。データの分布や外れ値の有無に応じて使い分けます。