다중공선성(Multicollinearity)은 $\boldsymbol{X}$ 의 특성(Feature)들 간에 선형 종속 관계가 존재할 때 발생하는 문제이다. 이에 대해 내가 생각한 두 가지 오해는 다음과 같다.

  1. 수치적 연산의 문제인가? 행렬식(Determinant)이 0이 되어 역행렬 계산 시 오버플로우가 발생하는 단순한 소프트웨어적/수치적 에러가 아니다.
  2. 직교 투영의 오차가 커지는가? 특성 간의 선형 종속으로 인해 $\boldsymbol{X}$ 의 열공간(Column Space)이 축소되는 것은 맞다. 그러나 축소된 공간 위로 타깃 $\boldsymbol{y}$ 를 직교 투영할 때, 그 투영점(최소 오차를 만드는 예측값 $\hat{\boldsymbol{y}}$ ) 자체는 기하학적으로 유일하게 고정되며 오차 또한 커지지 않는다.

다중공선성의 진정한 문제는 투영점이나 오차의 크기에 있는 것이 아니라, 해당 투영점을 가리키기 위한 매개변수 $\boldsymbol{\theta}$ 의 조합 방법(좌표 표현)이 무한해지는 ‘정보의 결핍’과 그로 인한 ‘분산 폭발’에 있다.

영공간(Null Space)과 무한한 해

$\text{rk}(\boldsymbol{X}) = D$ 라는 것은 $\boldsymbol{X}$ 의 열벡터들이 서로 선형 독립임을 의미하며, 이때 $\boldsymbol{X}^\top\boldsymbol{X}$ 는 양의 정부호가 되어 유일한 역행렬을 가진다.
반면 데이터보다 특성이 많거나( $N < D$ ), 특성들 간에 선형 관계가 존재하여 $\text{rk}(\boldsymbol{X}) < D$ 가 되면 행렬은 비가역 행렬이 된다. 이를 두 특성이 선형 종속( $x_2 = c x_1$ )인 선형 모델을 통해 증명할 수 있다.

$$ y = \theta_1 x_1 + \theta_2 x_2 $$

여기에 $x_2 = c x_1$ 을 대입하면 다음과 같이 정리된다.

$$ y = \theta_1 x_1 + \theta_2 (c x_1) = (\theta_1 + c\theta_2) x_1 $$

모델이 타깃 $y$ 를 예측하기 위해 필요한 유의미한 정보는 오직 $(\theta_1 + c\theta_2)$ 라는 단일 상수항뿐이다. 만약 최적화를 통해 이 값이 10이 되어야 함을 알아냈다고 가정하자.

$$ \theta_1 + c\theta_2 = 10 $$

이 방정식을 만족하는 해는 무한히 많다. ( $\theta_1 = 10, \theta_2 = 0$ 또는 $\theta_1 = 10000, \theta_2 = -\frac{9990}{c}$ 등). 즉, 모델이 결과에 도달하는 기하학적 경로는 유일하지만, 그 경로를 두 특성에게 어떻게 할당할 것인지에 대한 판별 정보가 데이터에 완전히 결여되어 있다. 이로 인해 해 집합은 행렬의 영공간(Null Space) 방향을 따라 무한히 뻗어 나가며, 파라미터 공간에 평평한 계곡(Flat Valley)을 형성한다.

테스트 데이터의 분산 폭발

수학적으로 계곡 바닥에 있는 무한한 해들은 모두 훈련 데이터에 대해 완벽한 최적점(동일한 훈련 오차)을 보장한다. 그러나 실제 테스트 데이터가 입력되었을 때, 이 무한한 해들 중 극단적인 가중치를 가진 해는 예측의 분산을 붕괴시킨다.
앞선 예시에서 훈련 데이터가 $x_1=1, x_2=1$ 이고 정답 $y=2$ 일 때, 무한한 해 집합 $\theta_1 + \theta_2 = 2$ 중에서 다음 세 가지 해를 도출했다고 가정하자.

  • 안정적인 해: $\theta_1 = 1, \theta_2 = 1$
  • 극단적인 해 A: $\theta_1 = 1000, \theta_2 = -998$
  • 극단적인 해 B: $\theta_1 = 100000, \theta_2 = -99998$
    이 세 조합은 훈련 데이터 $(1, 1)$ 에 대해 모두 정확히 예측값 2를 출력한다.
    그러나 현실 데이터에는 미세한 노이즈 $\epsilon$ 가 존재한다. 테스트 데이터로 $x_1 = 1.0, x_2 = 1.001$ (단 0.001의 노이즈)이 입력되었을 때 예측값 $\hat{y}$ 의 변화는 다음과 같다.
  • 안정적인 해: $\hat{y} = 1(1.0) + 1(1.001) = 2.001$
  • 극단적인 해 A: $\hat{y} = 1000(1.0) - 998(1.001) = 1.002$
  • 극단적인 해 B: $\hat{y} = 100000(1.0) - 99998(1.001) = -97.998$
    정답이 2 근처여야 함에도 불구하고, 매개변수의 절댓값이 비정상적으로 큰 해(B)를 선택할 경우 입력 데이터의 미세한 노이즈가 가중치와 곱해지며 수만 배로 증폭된다. 이것이 다중공선성이 유발하는 ‘분산 폭발(Variance Explosion)’이자 일반화의 실패이다.

Ridge 정규화(L2 패널티)의 기하학적 제약

이러한 무한한 해의 늪에서 벗어나기 위해, 오차 함수에 L2 페널티( $\lambda \lVert \boldsymbol{\theta} \rVert^2$ )를 더하는 릿지(Ridge) 회귀를 사용한다.
이는 훈련 오차가 동일한 무한한 해(평평한 바닥) 중에서, 기하학적으로 원점과 가장 가까운 단 하나의 점(가장 노름이 작은 $\boldsymbol{\theta}$ )만을 최적해로 삼겠다는 엄격한 수학적 제약을 추가하는 것이다. 이를 통해 극단적인 가중치 폭발을 막고, 노이즈에 강건한 유일한 최적해를 보장할 수 있다.

또한 $X^{\top}X$ 가 비가역행렬이라는 것은, 이것의 고윳값 중 일부가 0이라는 뜻이다.