欲速不達

일을 급히 하고자 서두르면 도리어 이루지 못한다.

Fantastic AI, Fantastic World

DS | Data Science/Statistics & Math

[Linear Algebra] Part17. 고윳값(Eigen Value)과 고유벡터(Eigen Vector)

_껀이_ 2024. 1. 10. 01:00
728x90
반응형

선형대수에서 핵심이 되는 고윳값(Eigen Value)과 고유벡터(Eigen Vector)에 대해서 정리하고자 한다.


1. 정의

고윳값과 고유벡터의 정의는 다음 수식을 보면 알 수 있다.

 

$$ A\textbf{v}=\lambda\textbf{v} $$

 

정사각행렬 $A$가 주어졌을때, 벡터 $\textbf{v}$의 곱이 $\lambda\textbf{v}$이 같으면, 이때의 $\lambda$를 고윳값( Eigen Value ), $\textbf{v}$를 고유벡터( Eigen Vectors )라고 한다.

또, $\lambda$는 상수이고 $\textbf{v}$는 벡터이므로, "방향은 같고 크기만 변화"함을 알 수 있다.

 

$A$ = 정사각행렬

$A$는 필수적으로 정사각행렬이 되어야 한다.

이유는 아래 수식을 보자.

 

$$ A_{m\times n}\textbf{v}_{n\times 1} = (A\textbf{v})_{m\times 1} = \lambda \textbf{v}_{n\times 1}\\ \Rightarrow \;\;\therefore m=n $$

 

행렬 $A$의 크기가 $m\times n$이고 벡터 $\textbf{v}$의 크기가 $n\times 1$이라면, 결과는 $m\times 1$이 될 것이다. 이 결과는 $n\times 1$ 크기를 가지는 벡터 $\textbf{v}$에 상수 $\lambda$를 곱한 값이므로 $m=n$이 되어 $A$는 정사각행렬이 된다.

 

 

선형변환 : Linear Transformation

이제 연산을 해볼 차례이다.

그 전에 행렬 곱 $A\textbf{v}$을 함수 관점으로 바라보자.

 

$$ \begin{matrix} \textbf{v}\to \begin{bmatrix} & & \\ & A & \\ & & \\ \end{bmatrix}\to A\textbf{v}\\ \\ \:x\to \begin{bmatrix} & & \\ & f & \\ & & \\ \end{bmatrix}\to f(x) \end{matrix} $$

 

위처럼 함수를 통과하듯, 행렬 $A$를 통과하여 연산된다는 관점에서 생각해보자.

벡터 $\textbf{v}$는 행렬 $A$와의 연산을 통해 $A\textbf{v}$라는 결과를 가진다. 이때, 행렬 $A$와의 연산은 다음과 같이 두 가지 조건을 만족한다.

 

1.Scaling

 

$$\begin{matrix} \textbf{v}\to \left [ A \right ] \to A\textbf{v}\\ \alpha \textbf{v} \to\left [ A \right ] \to \alpha A\textbf{v} \end{matrix} $$

 

 

2. Additive

 

$$\begin{matrix} \textbf{v}_{1}\to \left [ A \right ] \to A\textbf{v}_{1}\\ \textbf{v}_{2} \to\left [ A \right ] \to A\textbf{v}_{2}\\ \textbf{v}_{1}\textbf{v}_{2} \to \left [ A \right ]\to A\textbf{v}_{1}+A\textbf{v}_{2} \end{matrix} $$

 

위의 두 조건을 만족하기 때문에 행렬 $A$와 연산을 선형변환(Linear Transformation)이라고 한다.

선형변환에서 위의 두 조건 Scaling과 Additive는 필요충분조건이다.

 

간단한 예시를 보자.

위 그림은 $A\textbf{v}$를 함수관점에서 표현한 것이다.

행렬 $A$를 $\begin{bmatrix} 2 & -1 \\ -1 & 2 \end{bmatrix}$라고 할때, 왼쪽에 있는 벡터가 행렬 $A$를 통해 연산된 결과가 오른쪽에 있는 벡터가 된다.

 

여기서 다시 정의를 보자.

고윳값과 고유벡터는 "방향은 같고, 크기만 변화"할때 각각 그 크기벡터가 된다.

즉, 파란색으로 표현된 것처럼 $c\textbf{v},\;c=\lambda$(상수) 형태의 벡터가 결과로 나올 때, 그 크기와 벡터가 행렬 $A$의 고윳값과 고유벡터가 되는 것이다.

 

그렇다면 고유벡터는 무한한 것일까?

결론부터 말하면, 무한하거나 혹은 존재하지 않는다. 

위 그림에서 보면 파란색으로 표현한 부분과 같이 $c\textbf{v},\;c=\lambda$(상수) 형태로 표현되는 벡터들은 무한하게 존재한다.

반면에 빨간색으로 표현한 것과 같이 고유벡터가 존재하지 않을 수도 있다.

 

또, 기하학적으로 봤을때, 선형변환은 좌표계를 변환한다고 볼 수 있다.

출처 : 공돌이의 수학정리 노트 유튜브

 

위의 그림과 같이 벡터 $\begin{bmatrix} 1 \\ 1 \end{bmatrix}$를 $\begin{bmatrix} -1 \\ 2 \end{bmatrix}$로 선형변환했을때, 오른쪽 그림과 같이 좌표평면을 변환한 것으로 볼 수 있다.

 

위의 그림에서는 행렬 $A$의 각 열벡터를 축으로 한 좌표평면으로 변환한 것이다.

 

 

선형변환 관점에서 Invertible

선형변환 관점에서 행렬 $A$가 역행렬을 가지는지 아닌지를 확인할 수 있다.

아래 그림을 보자.

위 그림은 Invertible과 not invertible을 선형변환 도식으로 나타낸 것이다.

 

우선, Invertible인지 확인을 하려면 아래와 같은 조건이 필요하다.

 

조건) 각기 다른 입력(ex. $\textbf{v}_{1}$, $\textbf{v}_{2}$, ...)에 대해

  1. 각각의 다른 출력이 나와야 Invertible
  2. 같은 출력이 나오면 not Invertible

 

이러한 조건이 필요한 이유는 역행렬의 정의를 생각해보면 답이 나온다. 행렬 $A$의 역행렬은 행렬 $A$에 곱했을때 항등행렬($I$)가 나와야 한다.

즉, $A\textbf{v}$ $A^{-1}$를 곱하여 $\textbf{v}$를 복원할 수 있어야 한다는 것이다.

 

위 그림을 다시 보자.

Invertible한 경우는 $\textbf{v}_{1}$, $\textbf{v}_{2}$을 각각 복원할 수 있지만, not Invertible인 경우는 $\textbf{v}_{1}$을 복원할지 $\textbf{v}_{2}$를 복원할지 명확하지 않다.

 

 

 

2. 연산

고윳값과 고유벡터를 연산하는 과정은 아래 그림과 같다.

 

 

$A\textbf{v}=\lambda \textbf{v}$를 전개하면 위와 같이 $(A-\lambda I)\textbf{v}=0$의 식이 도출된다.

( 항등행렬($I$)는 $\lambda$를 행렬 형태로 변환해주기 위한 것이다. )

 

도출된 식 $(A-\lambda I)\textbf{v}=0$를 만족하는 $\textbf{v}$가 고유벡터가 되고, $\lambda$가 고윳값이다.

단, 고유벡터에서 영벡터는 제외한다. 이는 trivial solution이라고 하며, $A-\lambda I$가 무엇이든 항상 성립하는 식이므로 고유벡터로 생각하지 않는다. 그러므로 고유벡터는 영벡터가 아니어야 한다.

 

결과적으로 고유값은 $det(A-\lambda I)=0$을 만족하는 모든 값이 된다. 행렬식이 0이 아니라면, $(A-\lambda I)^{-1}$가 존재해서 결국 $\textbf{v}=0$과 동치가 되기 때문이다.

 

또, $(A-\lambda I)$를 하나의 행렬로 보았을때, 영공간( Null Space )의 식과 같으므로 고유벡터는 이를 만족하는 벡터 $\textbf{v}$는 $N(A-\lambda I)$의 모든 벡터가 된다. ( 단, $N(A-\lambda I)$가 $\textbf{v}=0$ 영벡터 뿐이라면, 해가 존재하지 않는다. = trivial solution )

 

고유벡터가 무한하게 존재할 경우, 즉, 차원 전체를 span하는 경우 고유벡터는 그 차원의 기저로 나타낸다.

즉, $N(A-\lambda I)$의 basis를 고유벡터로 삼는다.

 

 

3. 예시

이제 연산 예시를 보자.

주어진 행렬 $A$에서 $\lambda I$를 뺀 후 행렬식을 구함으로써 고윳값 $\lambda$를 구하고, 이를 다시 $A-\lambda I$에  대입하고 결과값이 영벡터를 만족하는 고유벡터 $\textbf{v}$를 구한다.

 

이러한 방정식을 특성방정식( The Characteristic Equation )이라고 한다.

 

 

예 1과 2는 일반적인 특성방정식의 풀이이다. $2\times 2$ 행렬 $A$에 대해서 2개의 $\lambda$를 얻을 수 있으며, 이를 대입한 $A-\lambda I$의 영공간이 0이 되는 해가 무수히 존재하기 때문에 각각의 basis를 구하여 고유벡터 2개를 얻을 수 있다.

 

 

예 3은 고윳값이 1개인 경우이다. 고윳값이 1개라는 것은 특성방정식이 $(n-\lambda)^{2}=0$ 모양으로 표현되어 중근을 갖는다. 예 3에서는 대각성분을 제외한 나머지 성분도 0이기 때문에 $A-\lambda I$가 영행렬이 되어 고유벡터가 무한하게 된다. 또, 영공간이 2차원이기 때문에 고유벡터는 2차원에 있는 모든 벡터가 되므로 그 basis는 2개 대표적으로 2개 존재한다.

 

예 4는 $A$가 upper triangular matrix이다. 이 경우에도 특성방정식이 중근을 가지는 형태로 표현되며, 고윳값이 1개 존재한다. 하지만 예 3과는 다르게 $A-\lambda I$가 영행렬이 아니지만 마찬가지로 무한한 고유벡터가 존재하며, 그 basis는 $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$가 된다.

 

예 3과 4의 공통점은 $A$가 모두 full rank라는 점이다. 하지만 full rank라고 해서 고유벡터가 무조건 2개가 아니다.

 

 

예 5는 고윳값이 허수인 경우이다. 이때 고윳값과 고유벡터가 실수로 정의되지 않는다.

이렇게 고유값과 고유벡터가 허수 값을 가지는 경우를 회전 행렬이라고 하며, 방향이 유지되지 않는다.

 

예 6은 rank-deficient의 경우이다. 행렬 $A$의 랭크는 1이며, 특성방정식을 통해 2개의 고윳값과 2개의 고유벡터를 얻을 수 있다.

 

예 3, 4 6은 $A$의 랭크와 고유벡터의 수가 관련이 없다는 것을 보여준다.

하지만, $A^{T}=A$와 같이 symetric한 경우에는 관련이 있다.

이는 다음 기회에 정리하도록 한다.

728x90
반응형