Eigenvalues and Eigenvectors
고유치와 고유벡터에 관해 알아보자.
tl;dr
- 행렬 대각화를 이루는 방법 중 하나는 아이겐벡터와 아이겐밸류를 재구성하는 것이다.
- 대각화가 가능한 행렬 $A$가 있고, 그 아이겐벡터를 열 벡터로 하는 행렬을 $Q$라고 하면
- 대각화가 가능하기 위해서는 우선 행렬 $Q$가 비특이(non-singular) 행렬이어야 한다. $Q$는 아이겐벡터의 조합이기 때문에 서로 다른 아이겐밸류를 지니거나 혹은 아이겐벡터의 선형독립이 성립해야 한다.
- 대칭 행렬의 경우 모든 아이겐밸류가 실수이고, $Q$는 직교 행렬(orthogonal matrix)이 된다. 이 경우
Definition
벡터 $x(\in {\mathbb R}^n)$가 있다고 하자. $\boldsymbol{A}$는 일종의 함수이고 이는 $x$를 변형시키게 된다. 이 변형이 그 다시 자신이 되고 벡터의 크기만 조정해주는 형태가 될 때, $\lambda$를 아이겐밸류 그리고 그 벡터 $x$를 아이겐벡터라고 한다. 잠깐! 여기서 아이겐 벡터는 우 아이겐벡터다. 왜냐하면, 벡터가 매트릭스의 오른쪽에 곱해지기 때문이다. 우(right) 아이겐벡터를 보통 아이겐벡터라고 쓴다. 하지만 좌(left) 아이겐벡터도 있다. 일단 이 점만 지적해두도록 하자.1
Eigenspace
벡터들의 집합 중에서 아래의 조건을 만족하면 이를 벡터 (부분) 공간이라고 부른다.
- 영 벡터 $\boldsymbol 0$가 원소이다.
- $x$가 원소일 때 $\alpha x$ ($\alpha \in \mathbb{R})$도 원소다.
- $x$, $y$가 원소일 때 $x + y$도 원소다.
쉽게 말해서 벡터 (부분) 공간 위에서는 덧셈과 스칼라 곱셈이 정의된다. 아이겐벡터로 구성된 공간은 이런 벡터 공간이 될까?
- $A {\boldsymbol 0} = \lambda {\boldsymbol 0}$
- $A(\alpha x) = \alpha(A x) = \alpha (\lambda x) = \lambda(\alpha x)$
- $A(x_1 + x_2) = A x_1 + A x_2 = \lambda x_1 + \lambda x_2 = \lambda(x_1 + x_2)$
3번의 경우 정의대로 하나의 아이겐밸류 $\lambda$에 대해서 두 개 이상의 아이겐벡터가 대응될 때에 해당한다.2 아이겐벡터를 원소로 하는 공간은 벡터 부분 공간이 되며, 이를 아이겐스페이스(eigenspace)라고 부른다.
Determinant and Eigenvalues
아이겐밸류의 아이겐벡터를 구하는 과정은 다음과 같다.
즉, 임의의아이겐밸류, 아이겐벡터 정의에서 $\boldsymbol 0$ 벡터가 아닌 매트릭스 $x$를 $\boldsymbol 0$ 벡터로 만들기 위해서는 위의 행렬식 값이 0이어야 한다. 행렬식이 $\lambda$의 $n$ 차 방정식이고, $n$차 방정식의 근이 각각 아이겐밸류가 된다. 즉,
위의 식에서 두가지 사실을 알 수 있다.
- $\boldsymbol{A} $의 행렬식은 아이겐밸류의 곱과 같다. 즉, $\lambda = 0$을 넣으면 이 결과를 쉽게 얻을 수 있다.
- 가역행렬(invertible matrix)이 될 조건, 즉 역행렬이 존재할 조건은 행렬식의 값이 0이 아닌 경우다. 1에 따르면 이는 모든 아이겐밸류의 값이 0이 아닌 조건과 동치다.
Transpose
원래 행렬의 행렬식과 전치행렬의 행렬식은 같다. 이를 아이겐밸류 계산에 응용해보자.
즉, 원래 행렬 $\boldsymbol{A}$와 전치 행렬 $\boldsymbol{A}^T$는 같은 아이겐밸류를 갖는다.
Diagonalization
아이겐밸류와 아이겐벡터가 가장 많이 사용되는 경우는 행렬의 대각화이다. 여기서 대각화란, 정방 행렬의 대각에 위치한 원소, $a_{ii}$를 제외한 나머지 원소가 모두 0인 행렬, 즉 대각 행렬을 품는 변형을 의미한다. 대각 행렬은 여러가지로 쓸모가 많다. 특히 행렬의 $k$ 제곱이 필요한 경우 대각행렬은 그냥 해당 대각원소의 $k$ 제곱과 동일해진다. 행렬의 대각화를 살펴보자.
기본적으로 행렬은 함수다. 즉, 벡터 $x$를 투입(input)으로 보면 이를 선형 결합을 통해서 다른 어떤 산출(output) 벡터로 보내는 것이다. 일단 설명의 편의를 위해서 $x$가 2차원 벡터라고 두고 설명해보자. 즉,
$\boldsymbol{A}$에 의해 변형된 결과를 아이겐벡터 $v_1$과 $v_2$를 통해서 표현할 수 있다고 가정하자. $v_1$, $v_2$를 통해 $x$, $y$를 표현하면 다음과 같다.
이때, $w_\cdot$, $z_\cdot$은 스칼라 값임에 유의하자. 이를 매트릭스로 표시하면 다음과 같다.
$v_i’ v_i = 1(i = 1,2)$ 이고, $v_1 \cdot v_2 = 0$ 이라고 가정하자. 즉, $Q$가 직교행렬이라고 가정하자.
직교행렬의 경우 $\boldsymbol{Q}^{-1} = \boldsymbol{Q}^T$가 성립한다.3 이때
따라서,
여기서 대각화의 핵심은
즉, 어떤 매트릭스의 아이겐벡터가 서로 직교하면 이를 통해 직교행렬 $\boldsymbol{Q}$를 얻을 수 있다. 이를 원래 매트릭스의 좌우로 곱하면 아이겐밸류를 대각원소로 갖는 대각행렬을 얻을 수 있다.
Generalization
일반화 해보자. 대각화는 다음과 같다.
행렬의 인수분해(factorization)은 다음을 의미한다.
Diagonalizable
쉽게 생각하자. 우선 $Q^{-1}$이 존재해야 한다. 즉, $Q$가 비특이 행렬이어야 한다. $Q$가 비특이 행렬이 되기 위한 조건들은 일단 행렬 대각화를 위한 필요 조건이다.
그런데 $Q$는 아이겐벡터들로 구성된 행렬이다. 따라서 $Q$가 비특이 행렬이 되기 위해서는 해당 아이겐밸류들이 모두 다르거나, 중복된 아이겐밸류가 있다면 아이겐벡터의 선형 독립이 성립해야 한다. 아이겐밸류가 모두 다르면, 즉 각기 다른 아이겐백터가 존재하면, 대각화가 가능하다. 만일 아이겐밸류가 중복이라면, 경우에 따라서 다르다.
Symmetric matrix
행렬이 대칭이면 $Q$에 더 좋은 특성이 생긴다.
- $\boldsymbol A$ 의 아이겐밸류는 모두 실수이다.
- $Q$는 직교행렬이다. 즉, $Q^T = Q^{-1}$ 가 성립한다.
이를 종합하면 아래와 같다.
Graphic interpretation with vector space
앞서의 식을 다시 음미해보자.
$A x_i$는 $A$라는 일종의 함수에 의해 선형 변형된 벡터를 나타낸다. 이러한 벡터를 모아 놓은 것이 $AQ$이다. 이는 벡터 (서브) 스페이스를 형성한다.
이것 역시 벡터 (서브) 스페이스를 형성한다. 여기서 서브 스페이스의 축은 아이겐벡터가 되고, 그 크기를 좌우하는 것은 아이겐벡터가 된다. 이렇게 살펴보면, 왜 아이겐벡터-아이겐밸류가 선형 변환 함수 $A$의 축과 크기를 바꾸는 것인지 이해할 수 있다.
PCA의 예를 들어보자. $x-y$ 축 위에 찍힌 점들에 대해서 변동성(분산-공분산 행렬)이 큰 방향으로 축을 바꾸면 어떻게 될까? 위에서 보는 PCA의 새로운 축은 아이겐벡터를 중심으로 재정렬한 상태를 나타낸다. 이 축에 할당된 변동성의 크기는 각각 축의 아이겐밸류가 된다.
-
좌 아이겐벡터와 우 아이겐벡터가 절묘하게 사용되는 사례는 마르코프 체인이다. 아이겐밸류 1이 존재하고, 그 아이겐벡터가 해당 상태의 극한 분포가 된다는 사실이 좌, 우 아이겐벡터를 번갈아 사용하면서 도출된다. 자세한 것은 여기를 참고하자. ↩
-
얼핏 생각하면 이런 경우가 있나 싶을 수 있다. 가장 좋은 사례는 항등 행렬, ${\boldsymbol I}_n$이다. 이 항등행렬의 경우 아이겐밸류는 1이고, 대응 가능한 어떤 벡터도 아이겐벡터가 된다. ↩
-
직교행렬의 경우 $\boldsymbol{Q}^T \boldsymbol{Q} = \boldsymbol{Q} \boldsymbol{Q}^T = {\boldsymbol I}$가 성립한다. 따라서 $\boldsymbol{Q}^{-1} = \boldsymbol{Q}^T$ ↩