データと前処理

正規化・標準化 せいきか・ひょうじゅんか

正規化標準化スケーリングMin-MaxスケーリングZスコア
正規化・標準化について教えて

簡単に言うとこんな感じ!

「年齢(20〜80)」と「年収(200万〜1億)」みたいにスケールが全然違う特徴量を、同じ土俵で比べられるように揃える処理だよ。スケールのデカい変数が「他の変数の影響を全部上書き」してしまうのを防ぐための大事な前処理なんだ!


正規化・標準化とは

正規化(Normalization)と標準化(Standardization)は、数値データのスケール(尺度)を揃えるための前処理手法です。機械学習モデルの多くは、特徴量のスケールに敏感であり、スケールを揃えることで学習の安定性・収束速度・精度が向上します。

「正規化」と「標準化」は混同されやすいですが、明確に異なる変換です。

手法変換内容変換後の値域
正規化(Min-Max)最小値0・最大値1に縮小[0, 1]
標準化(Zスコア)平均0・標準偏差1に変換(制限なし)

変換式

正規化(Min-Max スケーリング)

x_new = (x - x_min) / (x_max - x_min)

標準化(Zスコア標準化)

x_new = (x - μ) / σ
    μ:平均、σ:標準偏差

どちらを使うべきか

状況推奨手法
外れ値が少なく、境界値が明確正規化(Min-Max)
外れ値が存在する標準化(Zスコア)
外れ値が多いロバスト標準化(IQRベース)
ニューラルネットワーク正規化または標準化(どちらも使われる)
SVM・k-NN標準化が一般的
決定木・ランダムフォレストスケーリング不要(ツリー系は影響なし)

歴史と背景

  • 統計学の黎明期から:データの尺度変換は統計学の基礎概念
  • 1990年代:SVM・k-NNの普及とともに前処理としての重要性が認識
  • 2010年代ディープラーニングの訓練安定化のために必須の前処理に

注意点

1. テストデータには訓練データのパラメータを使う
   → テストデータを正規化するときも、
     訓練データのmin/max(または平均/標準偏差)で計算する
   → テストデータの統計量で計算すると情報漏洩になる

2. カテゴリデータには適用しない
   → 数値に変換済みのカテゴリ変数に適用しても意味がない場合がある

3. スパースデータ(ほとんどが0の特徴量)には注意
   → Min-Maxを使うと0でない値が散在する疎な構造が崩れることがある

関連用語