-
[선형대수] 고유값과 고유벡터Research/Machine Learning 2020. 7. 27. 22:18
정의
선형 변환(=행렬 연산) $T$가 주어졌을 때, 어떤 vector $v$와 scalar $\lambda$에 대하여
$Tv = \lambda v$, $v \neq$0
일 때, $v$를 $T$의 고유 벡터 (eigen value)라 하고 $\lambda$를 $v$에 대응하는 고유값이라고 한다.
의미
어떠한 선형 변환 $T$에 대하여 대부분의 벡터들은 그 크기와 방향이 모두 변하지만 일부 벡터(=고유 벡터)에 대해서만 그 크기(=고유값)만 바뀌었다.
당연하게도 $T$가 정방행렬이 아닐 경우 $Tv$ 와 $v$의 길이가 달라짐으로 $T$가 정방행렬일 경우만 고유값과 고유벡터가 존재한다.
구하는 방법
$Tv = \lambda v$
$Tv - \lambda v =$ $(T-\lambda I)v$ $=0$
즉, $T-\lambda I$는 특이 행렬이여야 하며 $det(T-\lambda I)=0$을 통해 고유값 $\lambda$를 찾고 그에 대응하는 고유벡터 $v$를 찾을 수 있다.
고유값분해
행렬 $T$에 대해서 선형독립적인 고유 벡터 $v_1$ $v_2$, $\dotsb$, $v_n$ 들이 존재할 때 이 고유벡터들로 이루어진 Q를 다음과 같이 정의할 수 있다.
$Q=[v_1 v_2 \dotsb v_n]$
이때 양변에 $T$를 곱하면,
$TQ=[Tv_1 \ \ Tv_2 \ \ \dotsb \ \ Tv_n] = [\lambda_1 v_1 \ \ \lambda_2 v_2 \ \ \dotsb \ \ \lambda_n v_n] $
$\Lambda$를 고유값으로 구성된 대각 행렬로 정의하면,
$TQ = Q\Lambda \ \ \ \leftrightarrow \ \ \ T=Q\Lambda Q^{-1} $
일반적으로, 대각화 (eigendecomposition)을 수행할 경우 $T$의 거듭제곱, det($T$), 역행렬, 등을 구하는 과정이 단순해진다.
그리고 ML에서 많이 사용되는 주성분분석(PCA)를 구할 때 데이터 행렬의 공분산 행렬을 고유값분해하여 주성분 벡터를 찾을 수 있다.
이러한 고유값분해를 수행하기 위해서는 $T$가 정방행렬이며 1차 선형독립이여야 한다는 조건이 붙는데 이 한계를 극복한 decomposition 방법이 Singular Value Decomposition (SVD)이다.
마무리
블로그 첫 글입니다. 생각보다 글 쓰는 것이 쉽지 않네요.
선형대수에서 빠질 수 없는 고유값과 고유벡터에 대해 다뤄 봤습니다.
내용이 많지 않지만, 문제가 있다거나 질문이 있다면 댓글 달아주시면 감사합니다.
출처
https://en.wikipedia.org/wiki/Eigenvalues\_and\_eigenvectors'Research > Machine Learning' 카테고리의 다른 글
[알고리즘] 칼만 필터 (0) 2020.11.10 [선형대수] 특이값 분해 (0) 2020.08.04