유투브 - 혁펜하임님의 선형대수학강의를 정리하기 위해 작성한 글입니다.
Eigen Value Decomposition(EVD)
고윳값분해는 행렬을 분해하는 방법 중 하나로 행렬이 1)full rank인 정사각행렬이거나 2)정사각행렬이면서 대칭행렬인 경우에 사용할 수 있다.
정사각행렬이며 대칭행렬의 경우에는 항상 EVD 가능하지만 일반적인 정사각행렬인 경우 모든 column,row가 선형독립(full rank)이어야 한다.
행렬 \(A \in \mathbb{R}^{2 \times 2}\)의 eigen value는 \(2\)개 eigen vector도 \(2\)개라 해보자>
- 다음과 식을 생각했을때…
- \(V = \begin{bmatrix}v_1\,v_2\end{bmatrix},\Lambda = \begin{bmatrix}\lambda_1 & 0 \\ 0& \lambda_2\end{bmatrix}\)라 하면 다음과 같이 정리할 수 있다.
- 위와같이 하나의 행렬을 몇 개의 행렬들로 인수분해했을때, 행렬A를 decomposition했다고 하며 고윳값,고유벡터를 통해서 decompose하면 eigen (value) decomposition이라고 한다.
Diagonalizable
- 임의의 정방행렬 A에 대해서 다음이 성립한다고 하자.
\(D\)는 대각행렬이며 \(P\)는 유사행렬이라고 하며 역행렬이 존재하는 정방행렬이라고 한다.
위와 같은 경우 \(A\)는 diagonalizable(대각화 가능하다)이라고 한다.
정방행렬의 EVD와 Diagonalizable의 연관성
- 대각화(diagonalization)와 고윳값분해(EVD)는 매우 연관된 개념이다.
- 어떤 행렬이 Diagonalizable하다는 의미는 대각행렬(diagonal matrix)과 유사행렬(similar matrix)의 곱으로 표현할 수 있다는 의미이다.
- 이때 고윳값을 대각원소로 하는 대각행렬을 만들고 고유벡터를 열벡터로 유사행렬을 만들면 고윳값분해를 통해 대각화를 할 수 있는 것이다.
- 정리하자면 정방행렬의 대각화는 고윳값 분해를 이루어질 수 있다고 할 수 있다.
대각화 관련 동치명제 정리
- \(A \in \mathbb{R}^{n \times n}\)이라 했을때 다음의 명제는 동치이다.
분해했을 때 좋은 점
- 행렬의 거듭제곱을 간단히 구한다.
- inverse matrix의 계산이 간단해진다.
\[A^{-1} = (V\Lambda V^{-1})^{-1} = V\Lambda ^{-1}V^{-1}\]
- eigen value를 모두 곱하면 determinant
- 임의의 행렬에 대해서 \(\text{det}(A^{-1}) = \frac{1}{\text{det}(A)}\)이다.
- 또한 대각행렬의 행렬식은 주대각선에 있는 원소를 모두 곱하는 것과 같다. 그러므로 다음과 같다.
- eigenvector를 모두 더하면 trace이다.
\[\text{tr}(A) = \text{tr}(V\Lambda V^{-1}) \overset{\text{tracetrick}}{=} \text{tr}(V^{-1}V\Lambda) = \text{tr}(\Lambda) = \sum_{i=1}^n\lambda_i\]
- \(\lambda = 0\)인 eigenvalue의 존재여부 파악가능하다.
알아둬야 할 것들
1. \(A^T\)의 eigen value와 \(A\)의 eigen value는 같다.
- eigen value를 구하는 characteristic equation이 같기 때문이다.
2. \(Q\)가 orthonormal matrix \(\Longrightarrow\) \(\lambda = 1 \text{ or } \lambda = -1\)
\[\begin{aligned} &Qv = \lambda v \\ &\longleftrightarrow (Qv)^TQv = v^TQ^TQv = v^Tv = |v|_2^2 = \lambda^2|v|_2^2\\ &\therefore \lambda = 1 \text{ or } \lambda = -1 \end{aligned}\]3. 대칭행렬이 positive definite \(\leftrightarrow \forall i,\lambda_i > 0\) (단,\(A=A^T\)인 symmetric matrix,\(\lambda_i\)는 행렬A의 모든 고윳값)
- 증명1 : 먼저 대칭행렬이 positive definite \(\rightarrow \forall i,\lambda_i > 0\)임을 보인다.
- 대칭행렬\(A\)가 양의 정부호일 경우 \({\bf{x}}^TA{\bf{x}} >0\) 이므로 \(x\)를 행렬A의 임의의 고유벡터인 \(v_j\)로 놓아도 성립해야한다. 즉 다음과 같다.
- 그런데 대칭행렬의 경우 고유벡터는 직교(orthogonal)한다. 즉 다음과 같이 정리된다.
그러므로, 고윳값은 항상0보다 크다.
증명2 : 그 다음 \(\forall i,\lambda_i > 0 \rightarrow\) 대칭행렬이 positive definite임을 증명한다.
이차형식은 다음과 같다.
- 행렬A의 고유벡터의 집합을 \(B = {v_1,v_2,\dots,v_n}\)으로 두면 고유벡터는 서로간에 직교하므로 orthogonal set이며 이는 \(\mathbb{R}^n\)의 직교기저가 될 수 있음을 의미한다.그러므로, \({\bf{x}} \in \mathbb{R}^n\)인 \({\bf{x}}\)에 대하여 내적\({\bf{x}}^Tv_i\)의 값은 적어도 하나는 고유벡터에서는 0보다 커야한다.(간단히 2차원상에 존재하는 벡터는 2차원 공간을 span하는 기저와 모두 직교할 수 없으며 적어도 하나의 기저와는 내적을 했을때 0보다 크다.)
\[||{\bf{x}}^Tv_1||^2 + ||{\bf{x}}^Tv_2||^2 + \dots + ||{\bf{x}}^Tv_n||^2 > 0\]
- 결과적으로,\(\forall i,\lambda_i>0\)이라고 가정했으므로 다음과 같다.
\[{\bf{x}}^TA{\bf{x}} = \lambda_1||{\bf{x}}^Tv_1||^2 + \lambda_2||{\bf{x}}^Tv_2||^2 + \dots + \lambda_n||{\bf{x}}^Tv_n||^2 > 0\]
4. Diagonalizable matrix의 non-zero eigenvalue의 수는 rank(A)이다.(중요)
- diagonalizable할 경우 EVD가 가능하다. 따라서 다음과 같이 고유분해 할 수 있다.
- 임의의 행렬이 서로다른 행렬의 곱인 경우에 행렬의 랭크는 곱해진 행렬 중 가장작은 랭크를 따라간다. 윗 식에서 \(V,V^{-1}\)는 역행렬이 존재하며 full rank이므로 랭크는 \(\Lambda\)에 달려있다.
- 따라서 \(\text{rank}(A) =\) 0이아닌 고윳값의 갯수와 같음을 알 수 있다.