Search

고유값 분해 : Eigendecomposition (간단)

링크
Category
Mathematics
Keywords
eigendecomposition
eigenvalue
eigenvector
상위 개념
하위 개념
속성
Subcategory
날짜
Av=λvA \overrightarrow{v} = \lambda \overrightarrow{v}
A : Matrix, λ\lambda : scalar, v : vector
v\overrightarrow{v}를 A와의 곱을 통해 선형 변환을 한 결과가 v\overrightarrow{v}에 대해 scalar곱을 한 결과와 같은 경우
즉, 방향은 그대로고 크기만 바뀐 경우
λ\lambda를 고유값 (eigenvalue)
v\overrightarrow{v}를 고유 벡터 (eigenvector)라고한다.
행렬 A에 의한 선형 변환에 따라서 이런 고유값이 존재하지 않을 수도, 무수히 많을 수도, 하나만 존재할 수도 있다.
위와 같은 경우에서는 [11]\begin{bmatrix}{1}\\{-1} \end{bmatrix} 이 고유벡터, 2가 고유값이 될 것이다.

Eigendecomposition

이런 고유값, 고유벡터는 Diagonal Matrix를 통해서 나타낼 수 있는데,
우선 이는 Square Matrix에 대해서만 가능하다.
고유값 분해(Eigendecomposition)는 행렬 A 에 대해서 A 의 고유벡터들을 원소로 하는 행렬과 고유값으로 Diagonal matrix를 이루는 행렬의 곱셈으로 분해하는 것을 말한다.
식으로 간단하게 표현해보면 아래와 같다.
A[v1,v2...vn]=[λ1v1,λ2v2...λnvn]=[v1,v2...vn][λ100λ3]A[v_1, v_2 ... v_n] = [\lambda_1v_1,\lambda_2v_2...\lambda_nv_n] = [v_1, v_2 ... v_n]\begin{bmatrix}\lambda_{1}& \dots&0\\\vdots&\ddots&\vdots\\0&\dots&\lambda_{3} \end{bmatrix}
A=[v1,v2...vn][λ100λ3][v1,v2...vn]1A = [v_1, v_2 ... v_n]\begin{bmatrix}\lambda_{1}& \dots&0\\\vdots&\ddots&\vdots\\0&\dots&\lambda_{3} \end{bmatrix}{[v_1, v_2 ... v_n]}^{-1}
위의 고유값 분해 식을 좀 더 간소화해서 나타내면 다음과 같다.
고유벡터로 이루어진 행렬은 P, 고유값의 대각 행렬 (Diagonal Matrix) 은 ADA^D로 나타냈다.
A=PADP1A = PA^DP^{-1}
그렇다면 왜 굳이 멀쩡한 행렬을 고유벡터와 고유값으로 나누는 것일까?
선형 변환을 하는 과정에서 이 두 가지를 안다면 변환 과정을 확인을 할 수가 있다.
P,P1P, P^{-1} 를 통해 선형변환을 하고 ADA^D를 통해 scale의 변화를 알 수 있기 떄문이다.
고유벡터는 방향이 고정되어 있으며 고유값으로 scale만 변화되기 때문에 Real world에 적용시켰을 때 object가 어떻게, 얼마나 변화하는지 등을 알 수 있다.
동어 반복같지만 결국 A에 의한 선형변환이 갖는 의미를 풀어서 나타낸 것이라고 생각하면 될 듯하다.
실제 영상처리 기법에서 얼굴을 인식하는 방법으로 Eigenface방법은 이런 개념을 바탕으로 진행한다.