수학/인공지능을 위한 선형대수

19. 고유값 분해(Eigendecomposition)

공부중인학생 2022. 1. 2. 22:05

Orthogonalization이 가능한 상태를 생각해봅시다.

 

 

n개의 선형독립적인 Eigenvector를 사용할 수 있는 상황에서, 다음과 같이 $D = V^{-1}AV$에서 $D$에도 $V$, $V^{-1}$ 그리고 $A$에도 $V$, $V^{-1}$을 곱합니다. Diagonal 하다는 것은 V의 역행렬이 존재한다는 것입니다. 

 

$VDV^{-1} = AV^{-1}VV{-1}V$

$VDV^{-1} = A$

- 다음과 같이 나오게 됩니다.

 

이것을 고유값 분해(Eigendecomposition)이라고 합니다. 주어진 matrix를 여러 matrix의 곱으로 나타내는 것을 matrix에 대한 decomposition이라고 말합니다.

 

이 분해를 하기 위한 조건으로 V는 invertible 한 matrix이어야 합니다. 그리고 D는 diagonal matrix여야 합니다. 그래서 다음과 같이 행렬 역행렬을 양쪽에 곱하면 이전 V와 같은 shape이 유지가 됩니다.

- matrix가 diagonalization 하면 그것을 Eigendecomposition이 존재하는 경우라고 합니다.

 

 

x라는 입력 벡터가 Eigenvector가 아니라고 하더라도 선형변환으로 표현할 수 있다면 연산할 때 비용이 더 적게 들어갈 수 있습니다.

 

 

 

다음과 같이 일반 벡터를 $ \left [ \begin{matrix} 1 \\ 2  \end{matrix} \right]  \left [ \begin{matrix} 2 \\ 3  \end{matrix} \right] $ 과 같은 Eigenvactor의 선형결합으로 표현, 이렇게 Eigenvector에서만 가능한 계산을 간단하게 하는 방법을 통해 다양한 벡터에 적용하는 것이 우리의 목적입니다.

 

 

 

A라는 matrix 1개로 보는 것이 아니라 합성함수 같이 생각해야 합니다. x에 $V{-1}$을 곱해줍니다. 그 벡터를 D 그리고 V에 곱해줍니다. 이것이 주어진 벡터를 Eigenvector의 선형결합으로 표현하는 과정입니다.

 

- A를 주성분 분해로 3가지 행렬의 변환으로 바꿈

 

 

 

 

이제 다음과 같이 우리가 Eigenvector로 표현해야 할 벡터와 Eigen vector을 얻었지만 어떤 계수를 Eigenvector에 곱해줘야지 $ \left [ \begin{matrix} 3 \\ 4  \end{matrix} \right]$ 벡터를 표현할지 모릅니다. 이것은 단순하게 양변에 Eigenvector의 역행렬을 곱해주면 됩니다.