SVD

이정훈·2026년 2월 17일

SVD (singular vector decomposition)

  • eigen decomposition에서 nxn 형태 밖에 안되던 문제를 mxn도 decomposition되도록 함
  • symetric metrix가 아니여도 decomposition 가능
  • 세 개의 다른 행렬의 곱으로 분해할 수 있음 (U,VU, V: orthogonal max)
    A=UΣVTA = U\Sigma V^T

SVD 증명

  • 증명하는 과정을 서술하면 아래와 같음

    ATAA^T A는 symetric행렬이니 서로 수직인 고유벡터(VV)를 찾고, 이걸 행렬 A에 통과시켰더니 UU 또한 서로 직교하는 고유벡터(U) 이다.

  1. ATAA^T A고유벡터(VV)를 찾음
  2. 고유벡터(VV)를 A로 보내면 길이가 σ\sigma만큼 늘어난 벡터들(UU)
  3. 변환된 UU 벡터들도 여전히 서로 수직
  4. 이 관계를 식으로 쓰면 AV=UΣAV = U\Sigma가 되고, 정리하면 A=UΣVTA = U\Sigma V^T가 됨 (VV가 orthogonal하지 않다면 우변으로 정리 불가능)

Data 압축에 응용

  • SVD수식을 전개하면 아래와 같은 벡터들의 내적의 합으로 나타낼 수 있음. σ\sigma가 정보량을 의미하며 PCA와 같이 정보량의 합을 기준으로 나머지를 버리면 정보를 압축할 수 있음
    A=σ1u1v1T+σ2u2v2T+σ3u3v3T+A = \sigma_1 \mathbf{u}_1 \mathbf{v}_1^T + \sigma_2 \mathbf{u}_2 \mathbf{v}_2^T + \sigma_3 \mathbf{u}_3 \mathbf{v}_3^T + \dots
profile
AngDDo

0개의 댓글