はじめに
最近まで機械学習について勉強する中で正規化と標準化を同じようなものとして捉えてしまってました。
機械学習の前処理でよく扱われるスケーリング手法の正規化と標準化を理解することでモデル精度の向上が期待できると思い本記事では私なりの正規化と標準化の違いを解説します。
正規化(Normalization)について
正規化はデータを特定の範囲にスケーリングする手法で、最小-最大正規化(Min=Max Normalization)がよく使われます。
計算方法
実際に最小-最大正規化は以下の式でスケーリングします。
$$
x' = \frac{x - min(x)}{max(x) - min(x)}
$$
ここで、xは元のデータ値、min・maxはそれぞれ特徴量の最小値と最大値です。これによって全てのデータが0から1の間に変換されます。
使用されるモデル
正規化が使用されるモデルとしては以下が挙げられます。
・距離ベースのアルゴリズム(SVM,K近傍法など)
・ニューラルネットワーク
標準化(Standardization)について
標準化はデータを平均0、標準偏差1にスケーリングする方法です。
計算方法
$$
x' = \frac{x - \mu}{\sigma}
$$
ここで、$\mu$は特徴量の平均、$\sigma$は特徴量の標準偏差を表しています。これによってデータが正規分布に従うように変換されます。
使用されるモデル
標準化が使用されるモデルとしては以下が挙げられます。
・回帰分析、ロジスティック回帰
・SVMや線形回帰モデル、勾配降下法
正規化と標準化の違い
特徴 | 正規化(Normalization) | 標準化(Standardization) |
---|---|---|
定義 | データを特定の範囲(0~1)にスケーリング | データを平均0、標準偏差1にスケーリング |
計算方法 | 最小値と最大値によりスケーリング | 平均と標準偏差でスケーリング |
結果の範囲 | 0~1の範囲 | 範囲の固定はない |
強み | 距離ベースアルゴリズムに有効 | 外れ値に強く、正規分布を仮定するアルゴリズムに有効 |
弱み | 外れ値に敏感 | 外れ値に依存することがある |
正規化の強みと弱み
強み
・範囲が固定 : 正規化後のデータは、必ず指定されて範囲(通常は0~1)に収まるためデータが均等なスケールに変換される。
・距離を使うアルゴリズムに有効 : KNNやSVMなどの距離を扱うアルゴリズムで効果的。
弱み
・外れ値に敏感 : 正規化は最大値と最小値に基づいてスケーリングを行うため、外れ値が存在するとスケーリングの結果が極端となり、モデルのパフォーマンスが低下することがある。
標準化の強みと弱み
強み
・外れ値に強い : 標準化は平均と標準偏差を使用してスケーリングを行うため、外れ値の影響を受けにくい。
・正規分布を仮定するアルゴリズムに有効 : 線形回帰やロジスティック回帰など、正規分布を仮定するモデルにおいて効果的。
弱み
・範囲が不明 : 平均が0、標準偏差が1になるが、データがどの範囲に収まるかが分からないため解釈が難しいことがある。
まとめ
正規化と標準化は、どちらもデータをスケーリングする方法ですが、それぞれに強みと弱みがあります。
・正規化は、データを0〜1の範囲に収めるため、距離ベースのアルゴリズムやニューラルネットワークに有効です。ただし、外れ値に敏感であるため、外れ値のあるデータには注意が必要。
・標準化は、データを平均0、標準偏差1にスケーリングするため、外れ値に強く、正規分布を仮定するアルゴリズムに適しています。しかし、スケーリング後のデータの範囲が不定なため、解釈が難しいことがあります。