機械学習で語られる「正規化」という言葉は、文脈によって指している対象が異なるため、まずその違いを明確にすることが重要です。
大きく分けると、
- データのスケーリングを行う“Normalization(特徴量の正規化)”
- モデルの複雑さに制約を加える“Regularization(正則化)”
の2種類があります。
名前が似ているものの、目的も内容も全く異なる処理です。
特徴量の正規化(Normalization)
これは、モデルに入力するデータのスケールを揃えるための前処理です。
異なる尺度を持つ特徴量が同じモデルに入ると、学習が偏ったり、計算が非効率になったりするため、あらかじめ値の範囲や分布を整えます。
正規化が必要になる理由
特徴量ごとの影響力の偏りを防ぐため
値の大きい特徴量だけがモデル内で極端に強い影響力を持つのを防ぎます。
最適化の効率を高めるため
スケールが揃っていると、勾配降下法によるパラメータ更新が均一になり、収束が安定します。
深いモデルの学習を安定させるため
スケールが極端に違う特徴量が混在すると、勾配の変動が大きくなり、深いモデルでは学習が不安定になることがあります。
よく使われる特徴量正規化の手法
- 範囲を揃える手法
0〜1の範囲に収めたり、特定のレンジに収めることでスケールを統一する。 - 平均とばらつきを揃える手法
平均を0、ばらつきを一定に整えることで、入力の分布を標準化する。 - 外れ値に強い手法
中央値や四分位範囲を利用して、極端な値の影響を小さくする。
これらは、アルゴリズムの特性に応じて使い分けられます。
特に、距離計算や内積計算に依存する手法では正規化の有無が性能に大きく影響します。
モデルの正則化(Regularization)
正則化は、モデルが過度に複雑になりすぎることを防ぎ、未知データへの汎化性能を高めるための仕組みです。
モデルのパラメータや構造に制約を与えることで、訓練データへの“合わせすぎ”を防ぎます。
正則化が必要になる理由
過学習を防ぐため
パラメータが多くなるほどモデルは柔軟になり、訓練データに特化しやすくなります。
正則化はこの“柔軟すぎる状態”を抑制します。
ノイズへの過剰適応を避けるため
データに含まれるノイズや一時的な変動まで学習してしまうことを防ぎます。
代表的な正則化手法
パラメータの大きさに制限をかける手法
- 特定の重みが極端に大きくならないよう調整し、モデルの複雑さを抑える。
- 手法によっては一部の重みを0にして、実質的に特徴量を選択するような効果を生むこともある。
L1・L2 の組み合わせ
- パラメータの選択性(0になる特性)と、滑らかに抑える効果をバランスよく取り入れる。
ニューラルネットワークにおける正則化手法
Dropout
学習中にランダムでユニットを無効化することで、特定のユニットへの依存を減らし、過学習を抑える手法です。
Batch Normalization の正則化的効果
Batch Normalization の本来の目的は、各層の中間表現を正規化し、学習を安定させることですが、ミニバッチ単位で統計量を計算するという仕組み上、軽いノイズが入るため副次的に過学習の抑制にも寄与します。
特徴量の正規化と正則化の違い
| 要素 | 特徴量の正規化 | 正則化 |
|---|---|---|
| 目的 | データスケールを整える | モデルの複雑さを抑え汎化性能を向上 |
| タイミング | 学習前の前処理 | 学習中 |
| 効果 | 学習を安定・効率化 | 過学習の抑制 |
両者は役割が完全に異なるため、同じ「正規化」という言葉で混同されないよう注意が必要です。
まとめ
- 「正規化」は大きく分けて 特徴量のスケーリング(Normalization) と 過学習抑制(Regularization/正則化) という2つの意味で使われる。
- 特徴量の正規化は、データのスケールを揃え、学習を安定させるために行う前処理。
- 正則化は、モデルが複雑になりすぎるのを防ぎ、未知データでも性能を発揮できるようにするための仕組み。
- どちらも高品質な機械学習モデルには欠かせないが、目的も役割も異なるため、それぞれを明確に理解して使い分けることが重要。
以上、機械学習の正規化についてでした。
最後までお読みいただき、ありがとうございました。
