正規化は、ある量の合計(または積分)を 1 になるように、あるいは一定の基準に揃うように、定数で割ったりスケールを調整したりする操作のことです。

1. 条件付き確率における正規化

確率変数 $X, Y$ に対して、条件付き確率は次のように定義されます。

\[P(X \mid Y) = \frac{P(X, Y)}{P(Y)}\]

意味

$Y = y$ を固定したとき、同時分布 $P(X, Y=y)$ を $X$ の関数として見ると、

\[\sum_x P(X=x, Y=y) = P(Y=y)\]

となり、一般に 1 ではありません。$P(X, Y=y)$ は $X$ についての確率分布の条件(合計が1)を満たしていません。

$P(Y=y)$ で割ることで合計が 1 になるように調整されます。

\[\sum_x \frac{P(X=x, Y=y)}{P(Y=y)} = \frac{P(Y=y)}{P(Y=y)} = 1\]

ref. 条件付き確率

2. 機械学習における正規化の例

2.1 データの正規化(Min-Max Normalization)

特徴量の値を一定の範囲(多くは $[0, 1]$)に収める操作。

\[x' = \frac{x - x_{\min}}{x_{\max} - x_{\min}}\]

スケールの異なる特徴量(例:年齢と年収)を揃え、勾配降下法の収束を安定させたり、距離ベースのアルゴリズム(k近傍法など)の性能を上げたりします。

2.2 標準化(Standardization / Z-score normalization)

\[x' = \frac{x - \mu}{\sigma}\]

平均($\mu$)0・分散($\sigma^2$)に揃える操作です。 多くの機械学習アルゴリズムの前処理として使われる。

2.3 Softmax 関数

Softmax 関数はニューラルネットワークの出力(ロジット)を確率分布に変換します。

\[\text{softmax}(z_i) = \frac{e^{z_i}}{\sum_j e^{z_j}}\]

分母 $\sum_j e^{z_j}$ が正規化定数であり、出力の合計を 1 にしています。条件付き確率の正規化と構造的に同じです。

2.4 Batch Normalization / Layer Normalization

深層学習の層の出力(活性化値)を、ミニバッチ単位または層単位で平均 0・分散 1 に近づける手法。学習の安定化・高速化に寄与します。

2.5 ベクトルの正規化(L1 / L2 正規化)

ベクトルの大きさ(ノルム)を 1 に揃えます。

\[\vec{x}' = \frac{\vec{x}}{\|\vec{x}\|}\]

コサイン類似度の計算や、埋め込みベクトル( Embedding )の比較で使われます。

2.6 確率分布の正規化(正規化定数 / 分配関数)

ベイズ推定で分母 $P(Y) = \sum_x P(Y \mid X=x) P(X=x)$ が正規化定数(エビデンス)として使用されます。

\[P(X \mid Y) = \frac{P(Y \mid X) P(X)}{P(Y)}\]

まとめ

正規化は対象となる量の合計・大きさをある基準(多くは 1 )に揃えるために、定数で割る(またはスケールし直す)ことです。