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

새소식

AI/AI 수학

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

  • -

 

Eigenvalue와 Eigenvector

 

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

 

 

Eigenvalue와 Eigenvector 정의

 

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

 

Let $A$ be a $n \times n$ matrix. ($A \in \mathbb{R}^{n \times n}$)

A nonzero vector $x$ in $\in \mathbb{R}^n$ is called an eigenvector of $A$ if $Ax$ is a scalar multiple of $x$. ($Ax = \lambda x$)

$\lambda$: an eigenvalue of $A$

$x$: an eigenvector corresponding to $A$

 

행렬 $A \in \mathbb{R}^{n\times n}$와 영벡터가 아닌 vector인 $x \in \mathbb{R}^n$가 있을 때, $Ax = \lambda x$를 만족하는 scalar인 $\lambda$가 존재하면 $x$는 행렬 $A$의 eigenvector이다.

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

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

그 때 곱한 scalar인 $\lambda$eigenvalue로 정의한다.

 

여기서 scalar $\lambda$는 보통 실수(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, $x$가 $A$에 대한 eigenvector이다.

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

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

 

 

Eigenvector와 Eigenvalue 찾는 방법

 

$Ax = \lambda x$ for some nonzero $x$

 

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

 

$(A - \lambda I)x = 0$ has a nontrivial solution

 

 

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

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

 

$(A - \lambda I)x = 0$ has a nontrivial solution $\Leftrightarrow$ $A - \lambda I$ is singular $\Leftrightarrow$ $\det (A - \lambda I) = 0$

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

 

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

 

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

 

 

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

 

 

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

 

 

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

 

 

Contents

글 주소를 복사했습니다

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