10. 고유값, 고유벡터

김재희·2021년 9월 2일
0

Linear Algebra

목록 보기
10/18

고유값, 고유벡터는 정말 많이 등장하는 개념이다. rnn에서 왜 vanishing gradient가 발생하는지 이야기할 때도 나오고, 추천 시스템에서 SVD가 어떻게 활용될 수 있는지 이야기할 때도 나오게 된다. 하나씩 보면서 정확한 개념과 그 원리를 이해해보도록하자.

1. 정의

고유값과 고유벡터에 대해 다루기 전에, 행렬의 대각화가능(diagonalizable)에 대해 먼저 이야기해보자.

정의 1. 유한차원 벡터공간 VV에서 정의된 선형연산자 TT에 대하여,

  • [T]β[T]_\beta가 대각행렬이 되도록 하는 (VV의) 순서기저 β\beta가 존재할 때, 선형연산자 TT대각화가능하다고 한다.
  • LAL_A가 대각화가능할 때, 정사각행렬 AA대각화가능하다고 한다.

결국 행렬로 보느냐 선형변환으로 보느냐에 문제기 때문에 위 두 문장은 동일하다고 볼 수 있을 것이다.

그렇다면 TT가 대각화가능하도록 만드는 β\beta를 어떻게 찾을 수 있을까?

우선 D=[T]βD = [T]_\beta가 대각행렬이라고 해보자. 이때 DD가 대각행렬이기 때문에 T(vj)=i=1nDijvi=Djjvj=λjvj(λj=Djj)T(v_j) = \sum_{i =1}^n D_ijv_i = D_{jj}v_j = \lambda_jv_j(\lambda_j = D_{jj})가 된다.

반대로 β={v1,,vn}\beta = \{v_1, \dots, v_n\}이 어떤 스칼라 λ1,,λn\lambda_1, \dots , \lambda_n에 대하여 T(vj)=λjvjT(v_j) = \lambda_jv_j가 되도록 하는 순서기저라면, [T]β[T]_\beta는 다음과 같이 생기게 된다.

이러한 대각화가능에서 고유값과 고유벡터가 정의되게 된다.

정의 1. 벡터공간 VV의 선형연산자 TT에 대하여

  • 영벡터가 아닌 벡터 vVv \in V와 어떤 스칼라 λ\lambda가 존재하여 (v)=λv(v) = \lambda v를 만족할 때, vvTT의 고유벡터라 한다.
  • 스칼라 λ\lambda를 고유벡터 vv에 대응하는 고유값이라 한다.

Mn×n(F)M_{n \times n}(F)에 속하는 행렬 AA에 대하여

  • LAL_A의 고유벡터, 즉 Av=λVAv = \lambda V인 스칼라 λ\lambda가 존재하게 만드는 영벡터가 아닌 벡터 vFnv \in F^nAA의 고유벡터라 한다.
  • 스칼라 λ\lambda를 고유벡터 vv에 대응하는 행렬 AA의 고유값이라 한다.

즉, 대각화가능과 고유벡터를 연결하여 다음과 같은 정리가 가능해진다.

정리 1. 유한차원 벡터공간 VV의 선형연산자 TT가 대각화가능하기 위한 필요충분조건은 TT의 고유벡터로 이루어진 순서기저 β\beta가 존재하는 것이다. 또한 TT가 대각화가능하고 β={v1,,vn}\beta = \{v_1, \dots ,v_n\}TT의 고유벡터로 이루어진 순서기저이면, D=[T]βD = [T]_\beta는 대각행렬이다. 이때, DjjD_{jj}vjv_j에 대응하는 고유값이 된다.

즉, 대각화가능한 선형연산자는 고유벡터를 순서기저로 가지게 되고, 이때의 대각행렬은 대각성분으로 고유값을 가지게 된다.

이에 대한 따름 정리는 다음과 같다.

따름 정리. 행렬 AMn×n(F)A \in M_{n\times n}(F)가 대각화가능하기 위한 필요충분조건은 AA의 고유벡터로 이루어진 순서기저가 존재하는 것이다. 또한 {v1,,vn}\{v_1, \dots, v_n\}AA의 고유벡터로 이루어진 순서기저이고, jj열이 벡터 vjv_jn×nn \times n 행렬 QQ에 대하여 D=Q1AQD = Q^{-1}AQDjjD_{jj}vjv_j에 대응하는 고유값인 대각행렬이 된다. 즉, 행렬 AA가 대각화가능하기 위한 필요충분조건은 대각행렬과 닮음인 것이다.

결국 행렬이나 선형연산자를 대각화하기 위해서는 고유벡터와 고유값을 찾아야 한다. 이에 대해 다뤄보면 다음과 같다.

정리 2. 행렬AMn×n(F)A \in M_{n \times n}(F)에 대하여 스칼라 λ\lambdaAA의 공값이기
위한 필요충분조건은 det(AλIn)=0det(A-\lambda I_n) = 0이다.

증명
스칼라 λ\lambdaAA의 고유값이라는 것은 Av=λvAv = \lambda v를 만족하는 영이 아닌 벡터 vv가 존재할 때 가능하다. 이에 대해 모든 항을 좌변으로 넘겨 정리하면 (AλIn)v=0(A - \lambda I_n)v = 0이 된다. 이때 vv가 0이 아닌 벡터이므로, AλIn=0A -\lambda I_n = 0이어야 한다. 즉, AλInA -\lambda I_n는 가역이 아니어야 하고, det(AλIn)=0det(A -\lambda I_n) = 0이 되어야 한다.

1-1. 특성다항식

여기서 사용된 AλInA -\lambda I_n는 무척 자주 사용되는데 이를 다음과 같이 정의한다.

정의 2. 행렬 AMn×n(F)A \in M_{n \times n}(F)에 대하여 다항식 f(t)=det(AtIn)f(t) = det(A - tI_n)AA의 특성다항식이라 한다.

즉, 행렬의 고유값은 특성다항식의 근이 되고, 고유벡터는 고유값에 대응하는 벡터임을 이용해 찾게 된다.

행렬의 고유값을 구하는 과정에서 특성다항식이 등장했지만, 선형연산자를 다룰때도 사용되게 된다. 그래서 선형연산자에 대한 특성다항식을 정의하면 다음과 같다.

정의 3. 유한차원 벡터공간 VV에서 정의된 선형연산자 TT를 생각하자. VV의 임의의 순서기저 β\beta에 대하여 A=[T]βA = [T]_\beta의 행렬식을 TT의 행렬식이라 하고 det(T)det(T)라 한다. 또한 행렬 AA의 특성다항식 f(t)=det(AtIn)f(t)= det(A - tI_n)TT의 특성다항식이라 한다.

위의 정의를 살펴보면 순서기저로 무엇을 택하는지와 관계없이 특성다항식을 정의하고 있다. 즉, 유한차원의 벡터공간 VV에서 정의된 선형연산자 TT와 순서기저 β\beta에 대하여 λ\lambdaTT의 고유값이기 위한 필요충분조건은 λ\lambda[T]β[T]_\beta의 고유값인 것이다.

n×nn \times n 행렬 AA의 특성다항식은 nn차 다항식인데, 이는 다음 정리를 통해 보일 수 있다.

이제 고유값은 특성다항식을 통해 찾을 수 있게 되었다. 그렇다면 고유값에 대응하는 고유벡터는 어떻게 찾을 수 있을까?

정리 4. 행렬 AMn×n(F)A \in M_{n \times n}(F)와 고유값 λ\lambda에 대하여 벡터 vFnv \in F^nλ\lambda에 대응하는 고유벡터이기 위한 필요충분조건은 v0v \neq 0이고, (AλI)=0(A - \lambda I) = 0이다.

2. 행렬의 닮음

만약 벡터 공간 VV에서 VV로의 선형변환이 있다면, 이는 어떠한 성질을 가지고 있을까? 이러한 선형변환을 선형연산자라고 하는데, 특이한 성질을 가지고, 행렬에 대해 조금 더 이해할 수 있게 도와준다. 유한차원 벡터공간 VV의 선형연산자 TT와, VV의 순서기저 β,β\beta, \beta'에 대해 TT는 두 행렬 [T]β[T]_\beta[T]β[T]_\beta'로 표현된다. 이 행렬의 관계는 다음과 같다.

정리 5. 유한차원 벡터공간 VV의 선형연산자 TTVV의 순서기저 β,β\beta, \beta'를 생각하자. QQβ\beta'좌표를 β\beta좌표로 변환하는 행렬이라 간주하면, 다음이 성립하게 된다.

[T]β=Q1[T]βQ[T]_{\beta'} = Q^{-1}[T]_\beta Q

증명
VV의 항등변환을 II라 하면 T=IT=TIT = IT = TI이다. 이때 다음과 같은 관계식이 성립한다.

Q[T]β=[I]ββ[T]ββ=[IT]ββ=[TI]ββ=[T]ββ[I]ββ=[T]βQQ[T]_\beta' = [I]_{\beta'}^\beta[T]^{\beta'}_{\beta'} = [IT]_{\beta'}^\beta = [TI]_{\beta'}^\beta = [T]^{\beta}_{\beta} [I]_{\beta'}^\beta = [T]_\beta Q

즉, Q[T]β=[T]βQQ[T]_{\beta'} = [T]_\beta Q이고, [T]β=Q1[T]βQ[T]_{\beta'} = Q^{-1}[T]_\beta Q이다.

여기서 한가지 따름정리가 나오게 된다.

따름 정리. AMn×n(F)A \in M_{n \times n}(F)FnF^n의 순서기저 γ\gamma에 대하여 다음이 성립하게 된다.

[LA]γ=Q1AQ[L_A]_\gamma = Q^{-1}AQ

이때 두 행렬 [T]β,[T]β[T]_{\beta'}, [T]_\beta가 다른 기저를 가지고 있지만, 동일한 벡터공간에서 나왔기 때문에 특별한 관계를 가지게 되는데, 이를 다음과 같이 정의한다.

정의 4. A,BA, BMn×n(F)M_{n \times n}(F)의 행렬이라고 하자. B=Q1AQB = Q^{-1}AQ인 가역행렬 QQ가 존재하면, BBAA와 닮음이며, B~A로 표현한다.

닮음 관계는 서로 동치이다. 닮음 관계를 풀어서 이야기하면, 두 선형연산자가 동일한 벡터공간에서 나온 순서기저를 가지고 있는 것을 의미하게 된다. 순서기저의 선택이 달라지더라고, 동일한 공간 상에서의 선형변환이기 때문에 BA=AQBA = AQ가 될 것이고, QQ가 가역행렬이라면 자연스레 B=Q1AQB = Q^{-1}AQ로 표현이 가능하다.

3. 선형변환과 고유값

닮음을 조금 더 생각해보면, 결국 임의의 기저를 성분으로 하는 행렬 QQ에 대해 Q1AQQ^{-1}AQ는 대각행렬임이 보장되게 된다. 이를 고유벡터와 연관지어 보자.
AA의 고유벡터로 이루어진 FnF^n의 기저를 β\beta라 할때, β\beta의 벡터를 열로 가지는 n×nn \times n 행렬 QQQ1AQQ^{-1}AQ가 대각행렬임을 보장하게 된다. 이때, 해당 대각행렬의 대각성분은 AA의 고유값이 되고, QQ의 각 열은 고유벡터가 되게 된다. 이는 조금만 생각해보면 자연스러운 결과이다.

Ax=λxAx = \lambda x

위의 식이 스칼라인 AA의 고유값 λ\lambda를 구할 때 이용하게 되는 식이다. 이때, 고유값을 동시에 n개 모두 구하기 위해 행렬 연산으로 변환하면, AQ=QBAQ = QB를 통해 표현된다. 이때 QQ는 고유벡터를 열로 가지는 행렬이고, BB는 고유값을 대각성분으로 가지는 대각행렬이 된다.

이제, 선형변환과 고유값, 고유벡터의 관계를 기하학적으로 살펴보도록 하자. R벡터공간 VV의 선형연산자 TT에서 TT의 고유벡터를 vv, 해당하는 고유값을 λ\lambda라 하자. vv에 의해 생성된 VV의 일차원 부분공간 W=span({v})W = span(\{v\})를 0과 vv를 지나는 직선으로 볼 수 있을 것이다. 임의의 wWw \in W에 대하여 w=cvw = cv를 만족하는 c는 항상 존재할 수 밖에 없으므로 다음과 같이 나타낼 수 있다.

T(w)=T(cv)=cT(v)=cλw=λwT(w) = T(cv) = cT(v) = c\lambda w = \lambda w

즉, TTWW의 벡터를 λ\lambda만큼 스칼라 배하여 WW에 작용하게 된다. λ\lambda의 크기에 따라서 선형변환 TTWW의 벡터에 가해지는 영향이 달라지게 된다.

  1. λ>1\lambda >1 : TTWW의 벡터를 λ\lambda배만큼 원점 oo에서 밀어낸다.
  2. λ=1\lambda = 1 : TTWW에 대한 항등연산자이다.
  3. 0<λ<10 < \lambda < 1 : TTWW의 벡터를 λ\lambda배만큼 원점 oo로 당긴다.
  4. λ=0\lambda=0 : TTWW에 대한 영 연산자이다..
  5. λ<0\lambda <0 : TTWW의 방향을 바꾸게 된다. 즉, 원점의 반대 방향으로 움직이게 된다.

1개의 댓글

comment-user-thumbnail
2021년 9월 2일

우와 ~~ 글이 엄청 잘 읽혀요~~~

답글 달기