통계학과 선형대수의 고유값 분해(Eigen Decomposition)에 대해 알아보겠습니다!
Eigen Decomposition은 행렬을 분해하는 기법입니다.
랜덤 프로세스의 확률벡터 파트를 기준으로 설명하겠습니다.
공분산이 Cx인 정규 확률벡터 X에 대하여, Cx=AA’을 만족하는 행렬 A가 항상 존재한다.
(‘은 transpose를 의미함)
위 정리에 의하면 행렬Cx(nxn)는 A(nxn)와 A'(nxn)으로 분해할 수 있습니다.
이 때, A=UD1/2에 해당하며, U는 고유벡터로 이루어진 행렬(nxn),
D는 고유값으로 이루어진 대각 행렬(nxn)을 의미합니다.
즉 Eigen Decomposition은 고유값과 고유벡터 개념을 이용해서 행렬을 분해하는 기법입니다!
고유값(Eigen Value)과 고유벡터(Eigen Vector)의 정의는 다음과 같습니다.
고유값(Eigen Value): 영벡터가 아닌 u에 대하여 Cxu =λu를, 즉 det|Cx-λI|=0을 만족시키는 λ
고유벡터(Eigen Vector): Cxu =λu를, 즉 (Cx-λI)u=0을 만족시키는 단위벡터 u
즉 Eigen Decomposition은 고유값을 구할 수 없으면 불가능하며, 특수한 조건일 때 가능합니다.
바로 아래의 조건을 만족해야 됩니다!
1. 정방행렬이다 (Square Matrix)
2. 대각화가 가능하다 (diagonalizable)
위 조건을 만족하는 행렬 B(nxn)가 있을 때, B는 항상 선형독립(independent)인 고유벡터들이 n개 존재합니다.
즉 (Bu1=λ1u1, …, Bun=λnun)을 만족하는 u들이 존재합니다.
또한 B의 고유벡터(u1,u2,..,un)로 이루어진 행렬을 U라고 하고,
B의 고유값(λ1,λ2,..,λn)을 주대각 원소로 지니는 대각행렬(diagonal matrix)을 D라고 할 때
BU=UD가 성립합니다.
따라서 BU=UD의 양변에 U-1를 곱하면 B=UDU-1로 정리가 가능합니다.
그런데 여기서 만약 B가 대칭 행렬(Symmetric Matrix)이라면, 더 문제를 쉽게 풀 수 있습니다!
B=BT이므로, UDU-1=U-TDUT이 되고, U-1은 UT와 같으므로 U가 직교행렬이 됩니다.
따라서 B=UDU’으로 정리가 가능합니다.
이러한 B를 다르게 표현하면, B=(UD1/2)(UD1/2)’이 되는 것입니다.
랜덤 프로세스에서 Cx는 항상 Symmetric하므로 UDU’으로 분해가 가능합니다!
이제 연습 문제를 한 번 풀어보겠습니다.
Q. Cx=[2,6; 1,-3]일 때, 고유값과 고유벡터를 계산하시오
A. 고유값(λ1, λ2) 구하기: det|Cx-λI|=0이므로 |2-λ,6; 1,-3-λ|=0을 만족한다.
(2-λ)(-3-λ)-6=0에 대한 식을 정리하면 λ는 -4 or 3이다.
λ1을 -4, λ2를 3이라고 하자.
고유값(λ1)으로 고유벡터(u1) 구하기: (Cx-λI)u=0이므로 (Cx+4I)u=0을 만족한다.
[6,6; 1,1][u11; u12]=[0; 0]이므로 u11은 1, u12는 -1이다. 이 때, 고유벡터는 단위벡터(벡터 원소 제곱의 합이 1)라는 조건이 있으므로 u1=1/√2[1; -1]이다.
고유값(λ2)으로 고유벡터(u2) 구하기: (Cx-λI)u=0이므로 (Cx-3I)u=0을 만족한다.
[-1,6; 1,-6][u21; u22]=[0; 0]이므로 u21은 6, u22는 1이다. 이 때, 고유벡터는 단위벡터(벡터 원소 제곱의 합이 1)라는 조건이 있으므로 u2=1/√37[6; 1]이다.
고유값(λ1, λ2): -4, 3
고유벡터(u1, u2): 1/√2[1; -1], 1/√37[6; 1]
이제 Eigen Decomposition 문제도 한 번 풀어보겠습니다.
Q. Cx=[4,√2; √2,3]일 때, Cx=AA’을 확인하시오.
A. 고유값(λ1, λ2) 구하기: det|Cx-λI|=0이므로 |4-λ,√2; √2,3-λ|=0을 만족한다.
(4-λ)(3-λ)-2=0에 대한 식을 정리하면 λ는 5 or 2이다.
λ1을 5, λ2를 2라고 하자.
고유값(λ1)으로 고유벡터(u1) 구하기: (Cx-λI)u=0이므로 (Cx-5I)u=0을 만족한다.
[-1,√2; √2,-2][u11; u12]=[0; 0]이므로 u11은 √2, u12는 1이다. 이 때, 고유벡터는 단위벡터(벡터 원소 제곱의 합이 1)라는 조건이 있으므로 u1=1/√3[√2; 1]이다.
고유값(λ2)으로 고유벡터(u2) 구하기: (Cx-λI)u=0이므로 (Cx-2I)u=0을 만족한다.
[2,√2; √2,1][u21; u22]=[0; 0]이므로 u21은 1, u22는 -√2이다. 이 때, 고유벡터는 단위벡터(벡터 원소 제곱의 합이 1)라는 조건이 있으므로 u2=1/√3[1; -√2]이다.
고유값(λ1, λ2): 5, 2
고유벡터(u1, u2): 1/√3[√2; 1], 1/√3[1; -√2]
U는 고유벡터로 이루어진 행렬(nxn): 1/√3[√2,1; 1,-√2]
D는 고유값으로 이루어진 대각행렬(nxn): [5,0; 0,2]
A=UD1/2를 만족하는 행렬(nxn): 1/√3[√2,1; 1,-√2] x [√5,0; 0,√2] = 1/√3[√10,√2; √5,-2]
A’=(UD1/2)’를 만족하는 행렬(nxn): 1/√3[√10,√5; √2,-2]
AA’ = 1/√3[√10,√2; √5,-2] x 1/√3[√10,√5; √2,-2] = 1/3[12,3√2; 3√2,9] = [4,√2; √2,3]
AA’ = Cx를 만족한다.