kwan's note

고유값 분해(Eigen decomposition)와 선형변환 본문

Math/Linear algebra

고유값 분해(Eigen decomposition)와 선형변환

kwan's note 2021. 1. 7. 20:52
반응형

출처: 부스트코스-인공지능을 위한 선형대수

수강일시:2021.01.07

 

이제까지 우리가 배워온 개념을 토대로 고유값 분해에 대해 배워보겠습니다.

그리고 고유값 분해를 통한 선형변환의 과정을 다루겠습니다.

 

고윳값 분해가 가능하기 위해서는 D = V^(-1) A V의 식에서 가정했던것들

즉, D가 대각행렬이고 V는 역행렬이 존재해야한다.

따라서 A가 diagonalizable하면 eigendecomposition-able하다

 

Eigen decomposition을 하는 이유에 앞서

이전시간에 eigen vector를 구하는 이유에서 생각해 보면

높은 n에대해 nxn matrix의 solve연산의 경우 ml에서 이루어지는 key 연산인 경우가 많다.

이러한 key연산이 알고리즘의 속도에 직접적으로 관여하므로 이를 줄이기 위해 eigen value를 곱해 동일한 연산이지만 작업량이 획기적으로 줄어들게 한다.

 

eigen decomposition을 통해서는 n x n matrix A에 대해 어떤 행렬 x와 곱셈을 할 때 x를 eigen vector의 합으로 분해하여 각각 Av1 + Av2 ..(x=v1+v2..)등의 방식으로 계산할 수 있도록 한다.

 

따라서 아주 특별한경우(eigen vector가 곱해져 있는경우)가 아닌 경우에도 앞서 이용한 trick을 사용할 수 있도록 만들어주고자 한다.

 

그 과정의 첫번째로 change of basis를 보자.

 

[4 3]T 를 나타내고자 한다고 생각해보자.

standard basis은 [1 0]과 [0 1]이므로 각 4, 3배하여 더하면

이를 나타낼 수 있다. 새로운 basis v1=[3 1]과 v2[-2 1]를 이용한다면

2v1 +v2로 나타낼 수 도 있다.

 

이는 [[3 -2][1 1]]의 역행렬에 구하고자하는 값[4 3]T를 곱하는 것과 동일하다.

 

즉 이런 방식을 이용한다면 eigen vector의 모음으로 이뤄어진 행렬 V에 계수 a를 곱하면 실제 행렬에 곱해야하는 벡터가 된다. 역행렬을 양쪽에 곱하면  V^(-1)x = a가 된다.

이것이 VD(V^-1)x의 첫번째 계산 (V^-1)x 가 된다.

 

다음으로 D와의 곱은 각 eigenvalue값들과의 단순곱이 된다. (대각행렬로 각 성분이 eigen value였으므로)

즉 벡터들의 방향은 바꾸지 않고 크기를 바꾸는 연산이 된다.

 

이제 마지막 연산을 수행하자.

위에서 좌표계를 변경하였으므로 원래의 직교좌표계 즉 standard basis로 이루어진 벡터로 변경해야한다.

 

시각화하여 정리하면 다음과 같다.

 

 

 

 

 

이러한 과정은 얼핏 복잡하고 작업을 증가시키는것처럼 보이지만

반복작업에서 특히 효과적이다.

 

반응형