30.35 공분산 행렬(Covariance Matrix)의 고유값 분해를 통한 데이터 분석
1. 공분산 행렬의 정의와 구성
n차원 확률 벡터 X = (X_1, X_2, \ldots, X_n)^T의 **공분산 행렬(covariance matrix)**은
\Sigma = \operatorname{Cov}(X) = E[(X - \mu)(X - \mu)^T]
으로 정의된다. 여기서 \mu = E[X]는 평균 벡터이다. 성분으로 표현하면
\Sigma_{ij} = \operatorname{Cov}(X_i, X_j) = E[(X_i - \mu_i)(X_j - \mu_j)]
이며, 대각 성분 \Sigma_{ii} = \operatorname{Var}(X_i)는 각 변수의 분산이고, 비대각 성분 \Sigma_{ij} (i \neq j)는 두 변수 간의 공분산이다.
m개의 관측 데이터 x_1, \ldots, x_m \in \mathbb{R}^n으로부터 구성되는 **표본 공분산 행렬(sample covariance matrix)**은
S = \frac{1}{m-1} \sum_{i=1}^{m} (x_i - \bar{x})(x_i - \bar{x})^T = \frac{1}{m-1} \tilde{X}^T \tilde{X}
이다. 여기서 \tilde{X} \in M_{m \times n}은 중심화된 데이터 행렬이다.
2. 공분산 행렬의 대수적 성질
공분산 행렬 \Sigma는 다음의 성질을 갖는다:
대칭성. \Sigma_{ij} = \Sigma_{ji}이므로 \Sigma = \Sigma^T이다.
양의 반정부호성. 임의의 a \in \mathbb{R}^n에 대하여 a^T \Sigma a = \operatorname{Var}(a^T X) \geq 0이다. 분산은 항상 음이 아니므로 \Sigma \succeq 0이다. a^T X가 상수(분산 0)가 아닌 한 a^T \Sigma a > 0이다.
대각합. \operatorname{tr}(\Sigma) = \sum_{i=1}^{n} \operatorname{Var}(X_i)은 **총 분산(total variance)**이다.
행렬식. \det(\Sigma) = \prod_{i=1}^{n} \lambda_i는 **일반화된 분산(generalized variance)**이라 한다.
3. 고유값 분해를 통한 공분산 구조의 분석
\Sigma = Q \Lambda Q^T (\Lambda = \operatorname{diag}(\lambda_1, \ldots, \lambda_n), \lambda_1 \geq \cdots \geq \lambda_n \geq 0)의 직교 대각화를 통하여 공분산 구조를 분석한다.
3.1 고유값의 의미
각 고유값 \lambda_k는 제k주성분 방향의 분산이다. 구체적으로, 직교 좌표 변환 Y = Q^T(X - \mu)에 의하여
\operatorname{Cov}(Y) = Q^T \Sigma Q = \Lambda
이므로 Y_k의 분산은 \lambda_k이고 Y_j와 Y_k (j \neq k)는 비상관(uncorrelated)이다.
3.2 고유벡터의 의미
고유벡터 q_k는 원 변수 공간에서 제k주성분 방향을 나타낸다. 이 방향은 제k번째로 큰 분산이 관측되는 방향이다.
3.3 스펙트럼 분해의 해석
\Sigma = \sum_{k=1}^{n} \lambda_k q_k q_k^T
공분산 행렬은 각 주성분 방향으로의 분산 기여의 합으로 분해된다. \lambda_k q_k q_k^T는 q_k 방향의 분산 \lambda_k에 의한 공분산 기여이다.
4. 타원체 해석
공분산 행렬의 고유값 분해는 데이터의 분포 형태를 기하학적으로 규명한다. 다변량 가우시안 분포 \mathcal{N}(\mu, \Sigma)의 등확률 밀도 곡면(constant density surface)은
(x - \mu)^T \Sigma^{-1} (x - \mu) = c^2
의 형태이며, 이는 n차원 타원체(ellipsoid)이다. 고유값 분해를 대입하면
\sum_{k=1}^{n} \frac{(q_k^T (x - \mu))^2}{\lambda_k} = c^2
따라서:
- 타원체의 주축 방향: 고유벡터 q_1, q_2, \ldots, q_n
- 타원체의 반축 길이: c\sqrt{\lambda_k} (k = 1, \ldots, n)
큰 고유값에 대응하는 방향으로 타원체가 길게 늘어나고, 작은 고유값에 대응하는 방향으로 좁아진다.
5. 상관 행렬과의 관계
상관 행렬(correlation matrix) R은 각 변수를 표준 편차로 정규화한 공분산 행렬이다:
R_{ij} = \frac{\Sigma_{ij}}{\sqrt{\Sigma_{ii} \Sigma_{jj}}}
행렬 표현으로는 R = D^{-1/2} \Sigma D^{-1/2}이며, 여기서 D = \operatorname{diag}(\Sigma_{11}, \ldots, \Sigma_{nn})이다.
상관 행렬의 고유값 분해는 변수의 스케일에 무관한 상관 구조를 분석하는 데 사용된다. 상관 행렬의 대각 성분은 모두 1이므로 \operatorname{tr}(R) = n이고, 고유값의 합은 n이다. 각 고유값이 n/n = 1보다 크면 해당 주성분이 “평균 이상의” 분산을 설명한다는 **카이저 기준(Kaiser criterion)**이 차원 선택에 활용된다.
6. 공분산 행렬의 추정과 고유값 분해의 안정성
6.1 표본 크기와 추정 정밀도
표본 공분산 행렬 S는 모공분산 행렬 \Sigma의 일치 추정량(consistent estimator)이나, 유한 표본에서는 추정 오차가 존재한다. 특히 m < n (관측 수가 변수 수보다 적은 경우)이면 S는 특이이고 \operatorname{rank}(S) \leq m - 1이다. 이 경우 S는 n - m + 1개 이상의 영 고유값을 가지며, 이는 데이터 부족에 의한 인공적 결과이다.
6.2 축소 추정(Shrinkage Estimation)
고차원 데이터에서 표본 공분산 행렬의 추정 정밀도를 향상시키기 위하여 **축소 추정(shrinkage estimation)**이 활용된다:
\hat{\Sigma} = (1 - \alpha) S + \alpha \nu I
여기서 \alpha \in [0, 1]는 축소 계수, \nu는 스케일 계수이다. 이 추정량은 표본 공분산 행렬의 고유값을 “축소“하여 극단적 고유값(지나치게 크거나 작은)의 편향을 완화한다. Ledoit-Wolf 추정량은 최적의 \alpha를 분석적으로 결정하는 대표적 방법이다.
7. 백색화(Whitening) 변환
공분산 행렬의 고유값 분해를 이용하여 데이터를 **백색화(whitening)**할 수 있다. 백색화 변환은 데이터의 공분산 행렬을 항등 행렬로 만드는 선형 변환이다:
Z = \Lambda^{-1/2} Q^T (X - \mu)
이 변환 후 \operatorname{Cov}(Z) = I이다. 모든 변수의 분산이 1이고 변수 간 상관이 0이 된다.
백색화는 다음의 전처리 목적으로 사용된다:
- 변수 간 상관을 제거하여 학습 알고리즘의 수렴 속도를 향상시킨다.
- 각 방향의 분산을 균등화하여 등방적(isotropic) 분포를 달성한다.
\lambda_k = 0인 고유값이 존재하면 \Lambda^{-1/2}이 정의되지 않으므로, 해당 방향을 제거하거나 정칙화를 적용하여야 한다.
8. 수치 예시
S = \begin{pmatrix} 4 & 2 \\ 2 & 3 \end{pmatrix}
고유값 분해. p_S(\lambda) = \lambda^2 - 7\lambda + 8 = 0이므로 \lambda_1 = \frac{7 + \sqrt{17}}{2} \approx 5.56, \lambda_2 = \frac{7 - \sqrt{17}}{2} \approx 1.44이다.
총 분산. \operatorname{tr}(S) = 7 = \lambda_1 + \lambda_2이다.
제1주성분의 설명 분산 비율. \lambda_1 / (\lambda_1 + \lambda_2) = 5.56 / 7 \approx 79.4\%이다.
고유벡터. \lambda_1에 대응하는 고유벡터 q_1은 최대 분산 방향이다. (S - \lambda_1 I)v = 0을 풀면 q_1 \propto \begin{pmatrix} 2 \\ \sqrt{17} - 3 \end{pmatrix}, 정규화하면 약 q_1 \approx \begin{pmatrix} 0.851 \\ 0.526 \end{pmatrix}이다.
타원체 해석. 등확률 밀도 타원의 주축 방향은 q_1과 q_2이며, 반축 길이의 비는 \sqrt{\lambda_1} : \sqrt{\lambda_2} \approx 2.36 : 1.20이다. 최대 분산 방향으로 약 2배 정도 길게 늘어진 타원이다.
9. 다변량 데이터 분석에서의 활용
이상치 탐지. 마할라노비스 거리(Mahalanobis distance) d(x) = \sqrt{(x - \bar{x})^T S^{-1} (x - \bar{x})}를 이용하여 이상치를 탐지한다. 고유값 분해를 사용하면 d(x) = \sqrt{\sum_{k=1}^{n} (q_k^T(x - \bar{x}))^2 / \lambda_k}로 계산되며, 작은 고유값 방향에서의 이탈이 크게 반영된다.
다중 공선성 진단. 회귀 분석에서 설명 변수의 공분산 행렬의 고유값 중 0에 가까운 것이 있으면, 설명 변수 간에 강한 선형 의존성(다중 공선성)이 존재함을 나타낸다. 조건수 \kappa(S) = \lambda_{\max} / \lambda_{\min}이 크면 다중 공선성이 심각하다.
배치 정규화(Batch Normalization)의 해석. 딥러닝에서 배치 정규화는 미니배치 내 활성화의 평균과 분산을 정규화하는 것이다. 이를 일반화하면 백색화 변환에 도달하며, 공분산 행렬의 고유값 분해가 이 과정의 수학적 기초이다.