Skip to content

문제 10 · 주성분 분석

문제 10 — 주성분 분석

아래 3개의 관측값이 주어졌다.

{(1,0),(0,1),(1,1)}

이 관측값들의 제 1 주성분을 구하시오.


평균을 x¯라 할 때 공분산 행렬은 S=1Nn=1N(xnx¯)(xnx¯)이다. 행렬 A의 고윳값 λ는 특성방정식 det(AλI)=0으로 구하며, [abcd]의 행렬식은 adbc이다.

풀이 및 해설

평균:

x¯=(1+0+13, 0+1+13)=(23,23)

중심화된 데이터: (13,23), (23,13), (13,13).

공분산 행렬 (N=3):

S=13[(19292949)+(49292919)+(19191919)]=13(23131323)=(29191929)

고윳값det(SλI)=(29λ)2(19)2=0:

29λ=±19  λ=19 또는 λ=13

제1 주성분 — 가장 큰 고윳값 λ1=13에 대응하는 고유벡터. (S13I)v=0에서 19v119v2=0v1=v2이므로

 v1(1,1),정규화 12(1,1) (λ1=13)

즉 데이터 분산이 최대인 방향은 (1,1)이다. 두 점 (1,0),(0,1)이 이 축을 따라 크게 퍼져 있어 자연스러운 결과다.

👉 실습(Python)에서 공분산·고유분해 계산

PDF