Mathematics/Linear Algebra

[Linear Algebra] 고윳값 분해(eigen decomposition)

언킴 2022. 3. 5. 14:14
반응형

변수의 보편적인 성질을 찾아내면 변수를 더 잘 이해할 수 있는 것들이 많다. 소인수 분해를 통해 16을 설명한다면 24로 간결하게 이해할 수 있을 것이다. 비슷한 맥락으로 행렬을 다양한 방식으로 분해하게 되면 기존의 구성에서는 미처 발견하지 못하는 여러 기능적인 속성을 발견할 수도 있다. 이럴때 가장 많이 사용되는 행렬 분해 방법 중 하나는 고윳값 분해(eigen decomposition)이다. 특이값 분해도 많이 사용되지만, 다음에 다루어 볼 것이다. 

 

고윳값 분해는 행렬을 고유벡터(eigen vector)고윳값(eigen value)으로 분해한다. 정방행렬 A의 고유벡터는 하나의 0이 아닌 벡터이며, A와 곱해도 x의 스케일(scale)만 변한다는 조건을 만족하며, 수식으로 표현하면 다음과 같다. 

 

Ax=λx

 

여기서 vA의 고유벡터이면, sR,s0 으로 곱한 벡터 sbA의 한 고유벡터이다. 행렬 A에 선형독립인 n개의 고유벡터 집합 {v(1),...,v(n) }이 있고, 각 벡터에 대응되는 고윳값 집합 {λ1,...,λn}이 있다고 하자. 이 고유벡터들로 이루어진 행렬 V=[v(1),...,v(n)]과 고유값들로 이루어진 벡터 λ=[λ1,...,λn]T를 만들 수 있다. 이 행렬과 벡터를 통해 행렬 A의 고윳값 분해를 정의할 수 있으며, 고윳값 분해는 다음과 같이 정의된다. 

 

A=Vdiag(λ)V1

 

행렬을 분해하게 되면 보다 복잡한 상호관계를 쉽게 표현해주어 이해하는 것에 있어 도움을 제공해줄 수 있다. 위와 같이 새로운 행렬을 구축하는 것이 아니라 기존 행렬의 고윳값과 고유벡터들로 분해하는 경우도 많다. 도입부에 언급한 것 처럼 소인수 분해의 결과가 정수를 이해하는데 도움을 제공해주는 것과 마찬가지로, 행렬을 분해해 행렬의 특징을 파악하는데 도움이 된다. 

 

A=QΛQT

 

여기서 Q는 행렬 A의 고유벡터로 이루어진 직교행렬(orthogonal matrix)이고, Λ는 대각행렬이다. 이때 Λi,iQi의 고유벡터와 연관된다. 만약 대각행렬의 성분 중 하나라도 0이면, 행렬은 특이행렬이 된다. 

 

  • positive definite : 모든 고윳값이 양수인 행렬을 의미한다.
  • positive semidefinite : 모든 고윳값이 양수 혹은 0인 행렬을 의미한다.
  • negative definite : 모든 고윳값이 음수인 행렬을 의미한다.
  • negative semidefinite : 모든 고윳값이 음수 혹은 0인 행렬을 의미한다.