본문으로 건너뛰기
29 / EIGEN LAB
먼저 알아두면 좋아요 · 행렬과 선형변환, 내적·투영, 평균의 뜻
단원 목록 (103) · 고유값과 주성분 분석
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

방향을 유지하는 벡터를 찾으면 복잡한 변환을 방향별 확대·축소로 나누어 읽을 수 있습니다.

xyAv=(2,1)v
z=0인 평면의 개념도 · 3D 실험과 구분해서 읽으세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 3

일반 방향의 변환

A=[[2,1],[1,2]]는 (1,0)을 (2,1)로 보냅니다. 보통의 벡터는 길이뿐 아니라 방향도 바뀝니다.

A(1,0) = (2,1)

실험에서 확인하기 →
이 단원 목차

변환해도 유지되는 방향

행렬은 대부분의 벡터를 늘이면서 방향도 바꿉니다. 그런데 어떤 벡터는 행렬을 곱해도 같은 직선 위에 남습니다. 이런 특별한 방향을 알면 변환을 방향별 확대·축소로 읽을 수 있습니다. 고유벡터는 방향, 고유값은 그 방향에서의 배율을 나타냅니다.

이 단원은 실대칭 2×2 행렬을 다룹니다. 대칭이라는 조건 덕분에 실수 고유값과 직교 고유기저를 사용할 수 있습니다. 임의의 행렬에 같은 성질을 가정하지 않습니다. 그림은 z=0인 평면이며 실제 모델의 고차원 표현 전체가 아닙니다.

기호와 두 해석 구분하기

기호 뜻 기준 예제
A 분석할 대칭 행렬 [[2,1],[1,2]]
q 영벡터가 아닌 고유벡터 (1,1)/√2
λ Aq=λq의 배율인 고유값 3 또는 1
C 중심화한 데이터의 공분산 행렬 이번 예제에서는 A로 설정
PC₁ 가장 큰 분산을 갖는 단위 방향 (1,1)/√2

행렬 A가 어떤 선형사상인지와, 같은 숫자를 공분산 C로 해석할 수 있는지는 다른 질문입니다. 공분산은 대칭일 뿐 아니라 양의 준정부호여야 합니다. 실험은 이 두 해석을 보기 버튼으로 구분합니다.

고유값 식을 손으로 확인하기

고유벡터 q와 고유값 λ는

Aq=λq,q≠0A\mathbf q=\lambda\mathbf q,\qquad \mathbf q\ne\mathbf0

을 만족합니다. 영벡터를 제외하는 이유는 A0=λ0이 모든 λ에 대해 성립해 방향과 배율에 관한 정보를 주지 않기 때문입니다.

기준 행렬에 (1,1)을 곱하면 (3,3)입니다. 따라서 (1,1)은 고유값 3의 고유벡터입니다. (-1,1)에는 (-1,1)이 나오므로 고유값은 1입니다. 각각 √2로 나누면 길이가 1인 직교 고유벡터를 얻습니다.

q1=12(1,1)T,q2=12(−1,1)T,q1Tq2=0.\mathbf q_1=\frac1{\sqrt2}(1,1)^T,\quad \mathbf q_2=\frac1{\sqrt2}(-1,1)^T, \quad \mathbf q_1^T\mathbf q_2=0.

q를 −q로 바꾸어도 같은 고유방향입니다. 두 구현의 고유벡터 부호가 반대라는 이유만으로 결과가 다르다고 결론 내리지 마세요.

고유값을 구하는 이유와 과정

식을 (A−λI)q=0으로 옮기면, 0이 아닌 해가 있으려면 A−λI가 특이해야 합니다. 정사각 행렬이므로 행렬식을 사용하면

det⁡(A−λI)=(2−λ)2−1=λ2−4λ+3=(λ−3)(λ−1)=0.\det(A-\lambda I)=(2-\lambda)^2-1 =\lambda^2-4\lambda+3=(\lambda-3)(\lambda-1)=0.

따라서 고유값은 3과 1입니다. I는 단위행렬이며 λI는 대각 원소가 모두 λ인 행렬입니다. 큰 행렬에서 이 다항식을 손으로 전개하는 것이 일반적인 수치 구현 방법이라는 뜻은 아닙니다. 작은 예제는 정의와 조건을 확인하는 데 사용합니다.

실대칭 2×2 행렬 [[a,b],[b,d]]에는 다음 식이 적용됩니다.

λ1,2=a+d±(a−d)2+4b22.\lambda_{1,2}=\frac{a+d\pm\sqrt{(a-d)^2+4b^2}}2.

실험은 큰 고유값을 λ₁로 정렬합니다. 고유값이 같으면 두 방향을 나누는 선택은 유일하지 않습니다.

방향별로 분해하면 무엇이 쉬워질까

두 직교 단위 고유벡터를 열로 모아 Q를 만들면

A=Q(λ100λ2)QT.A=Q\begin{pmatrix}\lambda_1&0\\0&\lambda_2\end{pmatrix}Q^T.

벡터를 먼저 고유기저의 좌표로 읽고, 각 좌표를 λ₁과 λ₂배 한 뒤 원래 좌표로 돌리는 연산입니다. 이 분해는 고유벡터 하나만 특별하게 그리는 장식이 아니라 모든 벡터에 대한 A의 작용을 설명합니다.

실험의 행렬의 작용에서는 회색 단위원이 A에 의해 초록 타원으로 바뀝니다. 고유축 방향의 반길이는 |λ₁|, |λ₂|입니다. 음의 고유값은 해당 방향을 뒤집으므로, 타원 윤곽만 보지 말고 입력 v와 출력 Av의 화살표를 함께 읽어야 합니다.

평균을 빼고 퍼짐을 재기

데이터 점 zᵢ에서 평균 μ를 빼 중심화한 벡터를 만듭니다. 이 단원은 분모 n의 공분산을 사용합니다.

μ=1n∑izi,C=1n∑i(zi−μ)(zi−μ)T.\boldsymbol\mu=\frac1n\sum_i\mathbf z_i,\qquad C=\frac1n\sum_i(\mathbf z_i-\boldsymbol\mu)(\mathbf z_i-\boldsymbol\mu)^T.

대각 원소는 각 특징의 분산이고, 비대각 원소는 두 특징이 함께 변하는 정도인 공분산입니다. 평균을 빼지 않은 이차 모멘트는 일반적으로 같은 행렬이 아닙니다. 표본 통계에서 쓰는 분모 n−1과도 구분해야 합니다. 같은 데이터에서 분모만 바꾸면 고유값의 공통 배율은 바뀌지만 방향과 설명 분산 비율은 유지됩니다.

임의의 단위 방향 w로 투영한 좌표의 분산은 wᵀCw입니다. 공분산의 고유벡터 qⱼ에 대해서는 이 값이 λⱼ가 됩니다. 이때에만 고유값을 방향별 분산으로 해석합니다.

첫 주성분은 왜 최대 분산 방향일까

모든 단위 방향은 w=αq₁+βq₂, α²+β²=1로 쓸 수 있습니다. 직교성과 고유값 식을 사용하면

wTCw=λ1α2+λ2β2≤λ1\mathbf w^TC\mathbf w=\lambda_1\alpha^2+\lambda_2\beta^2\leq\lambda_1

입니다. λ₁≥λ₂이므로 최대값 λ₁은 q₁ 방향에서 얻습니다. 이것이 이 예제의 첫 주성분 방향을 선택하는 원리입니다. 등식이 다른 방향에서도 성립할 수 있는 경우가 바로 반복 고유값입니다.

기준 공분산의 총분산은 trace(C)=2+2=3+1=4입니다. 첫 성분을 남기면 보존 분산은 3이므로

첫 성분의 분산 비율=33+1=0.75.\text{첫 성분의 분산 비율}=\frac3{3+1}=0.75.

주성분 하나로 복원한 중심화 점은 q₁q₁ᵀ(z−μ)입니다. 평균 제곱 재구성 오차는 버린 방향의 분산 1입니다. 이것은 정확히 정의한 선형 재구성 문제의 결과이지, 어떤 AI 과제의 정확도 75%를 뜻하지 않습니다.

공분산 타원과 점 모형 읽기

공분산 점 모형의 초록 기준 타원은 고유방향 반축의 길이를 √λ₁, √λ₂로 그립니다. 단위원에 행렬 A를 직접 곱한 앞 보기의 |λ|와 다릅니다. 분산의 단위는 좌표의 제곱이기 때문에 길이로 읽을 때 제곱근을 취합니다. 이 타원을 추가 분포 가정 없이 신뢰구간으로 해석하지 마세요.

파랑 합성점 32개는 이 기준 타원보다 √2배 큰 고리에서 규칙적으로 만듭니다. 평균이 0이고 분모 n 공분산이 정확히 C가 되도록 한 교육용 구성입니다. Gaussian 표본이나 실제 관측 자료가 아닙니다. 표에 표시한 합성점 평균과 C11, C12, C22를 기준값 (0,0), (2,1,2)와 대조할 수 있습니다.

이 성질은 수학적 구성의 값입니다. 실제 표에는 부동소수점 계산으로 인해 0에 아주 가까운 잔여값이 보일 수 있습니다.

이와 같이 점들의 실제 계산된 공분산과 설명용 타원의 축척을 따로 확인해야, 그림만 닮은 다른 확률 모형을 혼동하지 않습니다.

반복·영·음의 고유값

행렬 고유값 해석
[[2,1],[1,2]] 3, 1 첫 방향이 다른 방향보다 큰 분산
[[2,0],[0,2]] 2, 2 모든 단위 방향의 분산이 같아 첫 방향이 유일하지 않음
[[1,2],[2,1]] 3, −1 대칭이지만 공분산이 될 수 없음
영행렬 0, 0 총분산이 0이므로 분산 비율은 정의되지 않음

공분산에는 모든 w에 대해 wᵀCw≥0이 필요합니다. 음의 고유값 방향에서는 이 값이 음수가 되므로 공분산으로 사용할 수 없습니다. 실험은 이런 경우 분산 비율을 임의로 만들거나 제곱근을 계산하지 않습니다. 아주 작은 음수에 대한 수치 판정에는 배정밀도 오차 수준의 허용오차를 사용합니다.

AI 표현과 연구에서 확인할 것

PCA는 중심화·스케일·선형 부분공간을 정한 뒤 분산을 기준으로 표현을 줄이는 방법입니다. 분산이 큰 방향이 분류나 예측에 중요한 방향이라는 보장은 없습니다. 작은 분산 방향에 과제 신호가 있을 수도 있습니다.

특징의 단위가 다르면 공분산의 크기와 주성분도 달라집니다. 표준화를 할지 여부는 문제와 비교 기준에 따라 기록해야 합니다. PCA를 평가할 때는 훈련 자료로 평균과 방향을 구한 뒤 그 변환을 검증 자료에 적용하여 데이터 누출을 피합니다.

이 단원의 공분산이 아닌 일반 비대칭 행렬에는 복소 고유값이나 직교하지 않는 고유벡터가 생길 수 있습니다. 특잇값 분해와 PCA의 고차원 구현은 후속 단원에서 이어갑니다.

도전과 확인

  1. 행렬을 [[3,0],[0,1]]로 바꾸면 첫 방향은 무엇이며 보존 분산 비율은 얼마인가요? 답은 x축과 75%입니다.
  2. 음의 고유값 예제에서 입력 각도를 135°로 두면 Av는 v와 어떤 관계인가요? 같은 직선에서 반대 방향입니다.
  3. 공분산 예제의 타원 반축 비율 √3과 분산 비율 3/4를 말로 구분해 보세요.
  4. 연구 결과의 PCA 그림을 해석할 때 중심화·스케일·분모·분산 비율과 과제 평가를 분리해 확인할 수 있나요?

참고 학습 자료: MIT — Linear Algebra, Stanford — Principal Components Analysis.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. 공분산 [[2,1],[1,2]]에서 첫 주성분이 담는 분산 비율은?
2. 대칭 행렬의 고유값 하나가 −1이라면 공분산으로 쓸 수 있을까요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.