このページは、特徴数 d が大きすぎて扱いにくいときに検討する 次元削減の代表例として、**主成分分析(PCA, Principal Component Analysis)**を初学者向けに短く紹介するノートです(厳密な数理は扱いません)。
何をしたいか
元の $d$ 本の特徴を、そのまま捨てるのではなく、より少ない $k$ 本($k < d$)の新しい特徴へ写像して、
- 可視化しやすくする
- 計算量やノイズを抑える
- 多重共線性を緩和する
などの目的を達成しやすくします。
PCA のざっくりしたイメージ
PCA は、データのばらつき(分散)が 大きく残る方向を優先して、新しい座標軸(主成分)を作る考え方です。
結果として得られる新しい特徴は 元特徴の線形結合として表現されます。
中心化とは(PCA の前処理)
PCA の前に行う 中心化は、各特徴列ごとに「平均との差」へ変換する操作です。
特徴 $j$ の値 $x_{ij}$ を、列平均 $\mu_j$ を使って
- $x'{ij} = x{ij} - \mu_j$
に置き換えます。
例として値が [20, 25, 30] の列なら、平均は 25 なので中心化後は [-5, 0, +5] です。
このため中心化後に 正と負 が現れます(正は平均より大きい、負は平均より小さい、0 は平均ちょうど)。
母平均と標本平均(前提)
- 母平均 $\mu$:本来対象にしたい全体(母集団)の真の平均
- 標本平均 $\bar{x}$:手元のデータ(標本)から計算した平均
統計は、未知の $\mu$ を $\bar{x}$ でどこまでうまく推定できるかを扱う学問です。
実務では母平均 $\mu$ は未知であることが多いため、中心化や分散計算でも $\bar{x}$ を使う場面が基本になります。
共分散行列はどう作るか
中心化済みのデータ行列を $X_c \in \mathbb{R}^{N \times d}$ とすると、共分散行列 $S$ は
- $S = \frac{1}{N-1} X_c^\top X_c$
で作れます(標本共分散の典型)。このとき形は
- $X_c^\top$: $d \times N$
- $X_c$: $N \times d$
- $S$: $d \times d$
になります。
つまり、学習データが $N \times d$ でも、共分散行列は通常1つの $d \times d$ です($N \times d \times d$ にはしない)。
「全ペアを見る」の意味
特徴が 5 列なら、(A,B) や (C,E) のように 列ペアごとに共分散を1つずつ計算し、結果を 5×5 の表に並べます。
ここで各ペアの計算は、長さ N の2列(N×1 と N×1)を同じ行どうしで掛けて合計する処理です。最後に1つの数値へ集約されます。
なぜ $N-1$ で割るのか(直感)
中心化で使う標本平均 $\bar{x}$ は、そのデータに最も合う中心です。
そのため $\sum (x_i-\bar{x})^2$ は小さめになりやすく、$N$ で割ると分散・共分散を過小評価しやすくなります。
もう1つの直感は、中心化後の偏差 $z_i=x_i-\bar{x}$ が
- $z_1 + z_2 + \cdots + z_N = 0$
を必ず満たす点です。制約が1本あるので、自由に動ける情報量は実質 N-1。
この1自由度ぶんを補正する標準的な分母が $N-1$(ベッセル補正)です。
注意(短く)
- 解釈は元の列ほど直感に直結しないことがある(主成分の意味を読む必要が出る)
- 前処理(スケーリング)の有無で結果が変わりやすい
- 「次元を減らす」手法は PCA 以外にも多い(用途次第)