Auspice by Goorm, Manage by DAVIAN @ KAIST

Lecture 9: Singular Value DecompositionPermalink

2022-01-20

지금까지 배웠던 선형대수 개념을 이용하여 EVD(고유값 분해)를 진행하였다.

EVD는 정방행렬에 대해서만 적용이 가능하고 이번에 배운 SVD(특이값 분해)는 직사각행렬에 폭넓게 사용이 가능하다.

SVD는 저번 포스팅에 올린 Spectral decomposition을 이용하면 직사각행렬을 고유값을 기저로하여 대각행렬로 분해할 수 있다.

  • SVD (Singular Value Decomposition)

스크린샷 2022-01-20 오전 11 49 35

  • U = [u_1, u_2, … , u_k+1, … , u_m]는 AAT를 고유값분해로 직교대각화하여 얻은 m by m orthogonal matrix이며, 특히 [u_1, u_2, … , u_k]를 left singular vectors라고 함.
  • V = [v_1, v_2, … , v_k+1, … , v_n]는 ATA를 고유값분해로 직교대각화하여 얻은 n by n orthogonal matrix이며, 특히 [v_1, v_2, … , v_k]를 right singular vectors라고 함.

스크린샷 2022-01-20 오후 12 04 29

스크린샷 2022-01-20 오후 12 04 54

스크린샷 2022-01-20 오후 12 04 54

스크린샷 2022-01-20 오후 12 06 15

결국 SVD를 계산한다는 것은 AAT와 ATA의 고유벡터와 고유값을 구하는 것이라는 것을 알 수 있음.

스크린샷 2022-01-20 오후 12 08 08

* 그림 출처 : https://en.wikipedia.org/wiki/Singular_value_decomposition

직교행렬 VT에 의해서 원 행렬 M이 회전(방향 전환)을 하게 되며, 시그마에 의해서 크기가 달라졌고(scale 변환), 다시 직교행렬 U에 의해서 VT에 의한 회전과는 반대로 회전(방향 전환)을 함.

  • 고유값분해(EVD)를 통한 대각화의 경우 고유벡터의 방향은 변화가 없고, 크기만 고유값만큼 변함.
  • 특이값분해(SVD)는 U, VT에 의해서 M의 방향이 변하고, 시그마 특이값(singular values)들 만큼의 크기(scale)가 변했음을 알 수 있음.

Reduced Form of SVD

차원 축소할 때는 reduced SVD를 진행함. full SVD 대비 reduced SVD는 특이값들 중에서 0인 것들을 제외하고 SVD를 함.

스크린샷 2022-01-20 오후 12 14 55

스크린샷 2022-01-20 오후 12 16 18

스크린샷 2022-01-20 오후 12 16 23

example of SVD

스크린샷 2022-01-20 오후 12 17 57

스크린샷 2022-01-20 오후 12 18 04

스크린샷 2022-01-20 오후 12 18 11

스크린샷 2022-01-20 오후 12 18 19

스크린샷 2022-01-20 오후 12 18 51

본 그림의 출처는 아래와 같음.

R 분석과 프로그래밍

댓글남기기