본문 바로가기

머신러닝/[인공지능을 위한 선형대수]

특이값 분해 2

학습목표

 이번 강의에서는 특이값 분해를 계산하는 법을 배우겠습니다. 그리고 그 과정에서 등장하는 새로운 개념들을 함께 배우며서 특이값 분해에 대해 더 깊이 이해하는 시간을 가지겠습니다.

핵심 키워드

  • 스펙트럴 정리(Spectral Theorem)
  • 대칭행렬(Symmetric Matrix)
  • Positive Definite Matrix

학습하기

 그러면 이런 SVD를 어떻게 구하느냐-에 대해 말해보겠습니다. 별도의 알고리즘은 없다고 생각하셔도 됩니다. ED를 계산할 때 사용했던 방법이 가장 근접하다-라고 말할 수 있습니다. 그러면 SVD와 ED가 어떻게 연결되는지-에 초점을 맞춰봅시다. A=USV' 에서 AA'와 A'A를 생각해보죠. 그럼, 아래의 식처럼 중간의 S의 제곱된 형태로 수식이 표현될겁니다. U는 Orthonormal vector로 구성된 행렬이다. 그렇다면, U' 는 U의 역행렬이겠죠. 이렇게되면 마치, ED의 형태와 굉장히 유사해집니다. (ED란 A=V^-1*D*V 로 표현하는 것) 다만 우리는, 아래의 3가지 조건을 만족하는 U,S,V를 찾을 수 있어야하겠죠. 그런데 결과적으로, ED와 같은 계산을 진행하면 3가지 조건이 모두 만족됩니다. 그렇다면, 애초에 AA'와 A'A가 Diagonalizable한가-에 대해 생각을 해봐야하겠죠.

 Diagonalizable하다라는 것의 정의를 살펴보죠. 이는 nxn size의 A 행렬이 n개의 선형독립 고유벡터를 가진다는 말입니다. 동시에, Symmetric 하다는 말은, S' = S를 의미합니다. 그리고 이러한 S는 항상 Diagonalizable합니다. 그런데, AA'과 A'A는 Symmetric하죠. 이유는 간단하겠죠. (AA')' = AA'이 성립할테니까요. 그러니까 자연스럽게, Diagonalizable하게 되는 겁니다. 더나아가서, 이러한 Symmetric matrix의 Eigen vector들은 선형독립일뿐 아니라, 서로 Orthogonal하게 됩니다. 다만, 이에 대한 내용을 따로 증명하지는 않겠습니다.

 이러한 내용이 Spectral Theorem에 담겨있습니다. 어떤 nxn size Symmetric matrix S에 대해, 다음의 내용들이 성립합니다. 첫째, 해당 행렬은 허근을 갖지 않으며, 중복도를 포함해서 반드시 n개의 Eigenvalue를 갖는다. 이건 Diagonalizable의 최소한의 필요조건과도 같습니다. 둘째로, 특성 방정식을 통해 계산된 Eigenvalue의 중복도는, 각각의 Eigenvalue에 대응하는 Eigenspace의 차원과 동일합니다. 여기서, Eigenvalue의 중복도를 Algebraic multiplicity, Eigenspace의 차원을 Geometric multiplicity라고 지칭합니다. 셋째로, Eigenspace들이 상호 직교한다. 이걸 조금 더 자세히 설명드리면, 본래 하나의 고유값에 대응되는 고유벡터들 끼리는 직교하게 구성하는 것이 가능합니다. 그냥 Gram-Schmidt orthogonalization을 사용하면 되겠죠. 다만 다른 고유값에 대한 고유벡터끼리 직교하게 구성하는 것은 저희의 범위를 벗어나는 일입니다. 그런데 Symmetric matrix의 경우에는, 이렇게 구성된 고유벡터들끼리 항상 직교하게 됩니다. 

 이러한 내용들을 적용해서, Symmetric matrix에 대한 ED를 계산하는 것을 Spectral Decomposition이라고 칭하는데, 별로 다를 것은 없습니다. 결국 n개 만큼의 Outer product의 합으로써, S라는 행렬이 표현되더라. 정도가 될 수 있겠습니다.

 다시한번 확인해봅시다. SVD를 계산하는 조건이 3가지가 있었죠. 그 중 저희는 1번 조건을 만족시킨다는 것을 알았습니다. 이제 다른 조건들에 대해서도 확인해봅시다.

 Positive definite matrix에 대한 정의입니다. 어떤 정사각 행렬 A가 주어졌을 때, Symmetric 조건은 필요없습니다. 이 경우 x'Ax > 0 이라면, 이러한 행렬을 Positive definite라고 하며, 0을 포함하면 Positive semi-definite라고 지칭합니다. 그리고, 행렬 A가 Positive definite 라는 것과, A의 모든 고유값이 양수인 것은 동치입니다. 증명은 생략하도록 하겠습니다. 

 앞의 개념에서는 Symmetric 조건은 전혀 필요없었습니다. 때문에 단순한 Positive definite matrix에 대해서는 Diagonalizable할 수도 있고, 없을 수도 있겠죠. 그래서 이번에는, Symmetric positivie definite matrix에 대해서 생각을 해 보겠습니다. 이 경우에는 우선적으로 Spectral Decomposition이 가능 하겠죠. 이 경우 앞의 정리에 따라 모든 고유값이 양수가 됩니다.

 이제 다시 돌아가봅시다. 우리가 다루고 있던, AA'과 A'A은 Symmetric positive-(semi-)definite한가? 정답은 그렇다-가 되겠죠. 일단 (AA')' = AA' 으로 Symmetric 임을 쉽게 알 수 있고, x'AA'x = (A'x)'A'x = ||A'x|| >= 0를 통해, Positive-(semi-)definit 임을 알 수 있습니다. 따라서 저희는 Orthogonal eigenvector로 구성된 U,V 행렬을 구성할 수 있고, S의 Eigenvalue들이 모두 양수로 구성할 수 있음을 확신할 수 있습니다. 

 정리하자면, 기존의 ED는 정사각 행렬에 대해서만 정의가능했던 것과는  달리 SVD의 경우 직사각 행렬에 대해서도 적용이 가능하다는 점. 즉 주어진 어떤 행렬의 ED가 존재하지 않더라도, SVD는 항상 존재한다는 것. 만약 주어진 행렬이 Square, Symmetric, Positive (semi) definite 조건을 만족한다면, ED가 항상 존재하며, ED와 SVD는 사실상 같은 역활을 한다. 정도가 되겠습니다. 이상입니다.

'머신러닝 > [인공지능을 위한 선형대수]' 카테고리의 다른 글

고유값 분해와 특이값 분해의 응용  (0) 2020.05.29
특이값 분해 1  (0) 2020.05.27
고유값 분해와 선형변환  (0) 2020.05.26
대각화  (0) 2020.05.25
특성방정식  (0) 2020.05.24