더 이상 tistory 블로그를 운영하지 않습니다. glanceyes.github.io에서 새롭게 시작합니다.

새소식

AI/AI 수학

[빠르게 정리하는 선형대수] Eigenvalue와 Eigenvector

  • -

 

Eigenvalue와 Eigenvector

 

선형대수학을 공부할 때 가장 중요하면서도 기초가 되는 내용 중 하나이며, 실제로 AI에서 자주 등장하는 개념이기도 하다. 기본이지만 그만큼 여러 번 짚고 가도 부족할 정도로 강조되므로 이를 간략한 글로 정리할 필요성이 있다고 느꼈다. 빠르게 내용을 복습하면서 필요할 때 가져다 사용할 수 있도록 하자.

 

 

Eigenvalue와 Eigenvector 정의

 

먼저 알아두어야 할 점은 특이값 분해와는 달리 반드시 square matrix(정방행렬)에 관해서만 적용되는 개념이다.

 

Let A be a n×n matrix. (ARn×n)

A nonzero vector x in Rn is called an eigenvector of A if Ax is a scalar multiple of x. (Ax=λx)

λ: an eigenvalue of A

x: an eigenvector corresponding to A

 

행렬 ARn×n와 영벡터가 아닌 vector인 xRn가 있을 때, Ax=λx를 만족하는 scalar인 λ가 존재하면 x는 행렬 Aeigenvector이다.

행렬 A에다가 내가 생각하는 벡터 x를 곱하면 새로운 열벡터가 나오게 되는데, 그 열벡터는 A의 열벡터들의 선형결합이며, 이는 x라는 vector의 component를 각각 constant로 갖는 선형결합이다.

그 열벡터인 Axx의 scalar multiple를 만족하면 우리는 x를 eigenvector라고 부르겠다는 말이다.

그 때 곱한 scalar인 λeigenvalue로 정의한다.

 

여기서 scalar λ는 보통 실수(real number)이지만, 간혹 복소수가 나올 수도 있으며 이때 대응되는 eigenvector의 성분도 복소수일 수 있다.

그러나 일반적인 실수 공간에서 가정하자면 scalar multiple을 실수배로 이해해도 무관하다.

 

어떤 벡터 x에 새로운 행렬 A를 곱해도 이는 원래 벡터 x에 실수배 한 것에 불과하다는 의미인데, 이를 linear transformation 관점에서 고려하면 어떠한 행렬 A에 의한 새로운 linear transformation에 실수배 하거나 거듭제곱하여 벡터 x에 아무리 많이 적용해도 결국은 벡터 x에 실수배 한 것에 불과하다는 것이다. 다시 말해, 아무리 linear transformation을 수행해도 결국 나오는 output vector는 input으로 넣은 벡터에서 실수배 하여 크기를 늘어나거나 줄어들거나, 혹은 방향만 180도 바뀌게 될 뿐 별반 다르지 않다는 의미이며, 이러한 eigenvector가 존재한다면 써 먹을 데가 많다는 것을 눈치챌 수 있다. 어떻게 보면 우리가 여러 transformation을 수행했을 때 이를 관통하는 가장 중요한 정보만이 담긴 성분의 벡터로 고려할 수도 있다.

 

 

 

벡터 x에 행렬 A를 곱해도 결국 x에 실수 3만큼 곱한 것과 별반 다르지 않다는 것을 볼 수 있다. 이때 3이 A에 대한 eigenvalue, xA에 대한 eigenvector이다.

그런데 꼭 실수 3을 곱하지 않더라도 어떤 임의의 실수 t를 곱해도 eigenvector는 그대로이므로, eigenvalue는 unique 하지 않다는 걸 볼 수 있다.

그러나 eigenvalue와 eigenvector는 알았지만, 이를 어떻게 구하는 건지가 문제이다.

 

 

Eigenvector와 Eigenvalue 찾는 방법

 

Ax=λx for some nonzero x

 

그런데 여기서 이 식의 우항을 좌항으로 옮겨보면 다음과 같은 식이 나온다.

 

(AλI)x=0 has a nontrivial solution

 

 

문제는 x가 nonzero vector라고 전제했으므로, 위의 linear system은 정리에 의해 nontrivial solution을 갖는다. 다시 말해, 위의 식이 nontrivial solution을 갖는 이유는 homogenous equation을 만족하는 solution이 x0이어서다.

구체적으로 설명하자면 (AλI)의 역행렬이 존재하지 않아야 된다는 것인데, 왜 이러한 정리가 유도되는지는 다른 글에서 정리하고 이 글에서는 다루지 않을 것이다. 간단히 설명하면 null space의 차원(dimension)이 0보다 큰데, 이러면 (AλI)가 full rank를 지니지 않으므로(rank(AλI)<n) 역행렬이 존재하지 않는다.

 

(AλI)x=0 has a nontrivial solution AλI is singular det(AλI)=0

그러면 오른쪽의 det(AλI)=0 식을 풀면 λ에 관한 방정식처럼 나올 것이다.

 

아래의 예시를 보면 λ에 관한 방정식을 해결하여 가능한 두 개의 λ 해를 구할 수 있다.

 

이제 λ가 3일 때와 -1일 때로 각각 나눠서 그에 대응되는 eigenspace와 eigenvector를 구한다.

 

 

위의 그림은 λ가 3일 때의 eigenspace와 eigenvector를 구하는 과정을 정리한 것이다. 여기서 나오는 개념이 arithmetic multiplicity와 geometric multiplicity인데, arithmetic multiplicity는 λ를 구하는 방정식에서 λ=3이 중근을 가지면 2, 삼중근을 가지면 3, 하나의 해로 떨어지면 1이다. 반면에 geometric multiplicity는 해당 eigenvalue에 대응되는 eigenspace의 basis의 차원이 얼마인지를 묻는 것이며, 기저를 이루는 벡터가 [1,2] 한 개이므로 여기서의 geometric multiplicity는 1이다.

 

 

마찬가지로 위처럼 λ가 -1일 때의 eigenspace와 eigenvector를 구하는 과정을 정리할 수 있다. 여기서도 arithmetic multiplicity와 geometric multiplicity는 각각 1이다.

 

 

만약 위의 예제와 같이 λ에 관한 방정식이 λ=2에 관해 중근을 가지면, λ=2에 관한 arithmetic multiplicity는 2가 된다. 그렇지만 geometric multiplicity는 1이다.

 

 

Contents

글 주소를 복사했습니다

부족한 글 끝까지 읽어주셔서 감사합니다.
보충할 내용이 있으면 언제든지 댓글 남겨주세요.