| 특이값 분해 Singular Value Decomposition | |
|---|---|
| 약칭 | SVD |
| 분해 형태 | A = UΣVᵀ |
| 적용 대상 | 임의의 m×n 실/복소 행렬 |
| 관련 문제 | 고유값 문제, QR 분해 |
| 대표 응용 | PCA, 저계수 근사, 모델차수축소 |
1. 개요[편집]
세상의 모든 행렬은 결국 “돌리고, 늘리고, 다시 돌리는” 것뿐이다.
특이값 분해(Singular Value Decomposition, SVD)는 임의의 행렬 를 형태로 분해하는 방법으로, 와 는 직교(정규직교)행렬이고 는 음이 아닌 특이값을 대각선에 내림차순으로 담은 대각행렬이다. LU 분해나 QR 분해가 정사각·특정 조건의 행렬을 노리는 반면, SVD는 정사각이든 직사각이든, 특이하든 정칙이든 가리지 않고 항상 존재한다는 점에서 선형대수의 스위스 아미 나이프로 불린다.1
수학적으로는 와 의 고유값 문제와 직결되어 있지만, 실무자 입장에서 SVD의 매력은 다른 데 있다. “이 행렬에서 진짜 중요한 방향이 뭐냐”를 특이값 크기순으로 줄 세워 주기 때문이다. 데이터 압축, 차원 축소, 잡음 제거, 유사역행렬 — 죄다 이 한 줄 세우기에서 파생된다.
2. 기하학적 의미[편집]
를 벡터에 곱하는 연산을 세 단계로 쪼갠 것이 SVD다.
- : 입력 공간에서 정규직교축을 골라 **회전(reflection 포함)**시킨다.
- : 각 축 방향으로 특이값 만큼 늘리거나 줄인다.
- : 출력 공간에서 다시 회전시킨다.
즉 임의의 선형변환은 “회전 → 축 스케일링 → 회전”의 합성으로 분해된다. 단위 구(unit sphere)를 로 변환하면 항상 타원체(hyperellipsoid)가 나오는데, 그 반축(semi-axis)의 길이가 바로 특이값 이고, 반축의 방향이 의 열벡터다. 이 그림 하나만 머릿속에 있으면 SVD 관련 절반은 이해한 셈이다.
3. 저계수 근사와 에카르트-영 정리[편집]
SVD를 실전 병기로 만드는 핵심은 저계수 근사(low-rank approximation)다. 를 특이값 순으로 랭크-1 조각들의 합으로 펼치면
이고, 여기서 앞의 큰 개만 남긴 가 “랭크 짜리 최선의 근사”가 된다. 에카르트-영-미르스키(Eckart–Young–Mirsky) 정리는 이 가 프로베니우스 노름과 스펙트럴 노름 모두에서 오차를 최소화하는 유일한 최적해임을 보장한다.2 버려진 오차의 크기는 정확히 잘라낸 특이값들로 결정된다.
특이값이 급격히 작아지는(스펙트럼이 빠르게 감쇠하는) 행렬일수록 적은 로 큰 정보를 담을 수 있다. 데이터가 “본질적으로 저차원”이라는 말은 곧 이 특이값 스펙트럼이 뚝 떨어진다는 뜻이다.
4. 조건수와 유사역행렬[편집]
SVD는 수치해석적 건강 진단서이기도 하다. 행렬의 조건수(condition number)는 최대·최소 특이값의 비로 정의된다.
이 값이 크면 선형 시스템이 병적(ill-conditioned)이라 작은 입력 오차가 해에서 폭발한다. 가우스 소거법으로는 잘 안 보이던 이 위험을 SVD는 특이값 목록만 보면 바로 알려준다.
정칙이 아니거나 직사각인 행렬의 “역행렬 대용”인 무어-펜로즈 유사역행렬(pseudoinverse)도 SVD로 깔끔하게 정의된다.
여기서 는 0이 아닌 특이값을 역수로 바꾼 것이다. 이것이 최소자승법의 정규방정식 해를 안정적으로 주며, 랭크 결핍(rank-deficient) 문제에서 작은 특이값을 잘라내는 절단 SVD(truncated SVD)는 역문제 정규화의 표준 도구다.
5. 응용[편집]
- 주성분 분석(PCA): 데이터를 중심화한 뒤 SVD하면 의 열이 곧 주성분 방향, 특이값 제곱이 분산이 된다. 통계와 머신러닝의 차원 축소는 사실상 SVD의 다른 이름이다.
- 이미지 압축: 이미지 행렬을 저계수 근사하면 상위 특이값 몇십 개만으로 원본과 구분하기 힘든 그림을 복원한다. 교과서 예제 단골 손님.3
- 모델차수축소(MOR)와 POD: 전산유체역학의 대규모 스냅샷 데이터에 SVD를 적용하는 적합직교분해(Proper Orthogonal Decomposition, POD)는 수백만 자유도의 유동장을 지배하는 소수의 모드를 뽑아낸다. 이는 축소차수모델(ROM), 디지털 트윈, 유동 제어의 뼈대가 된다.
- 추천 시스템: 넷플릭스 프라이즈로 유명해진 잠재 요인 모델이 SVD 계열의 행렬 분해다.
6. 계산과 현실[편집]
이론상 의 고유값을 구하면 되지만, 실무에서 그렇게 하면 조건수가 제곱으로 나빠져 정밀도를 날려 먹는다. 그래서 실제로는 골룹-라인시(Golub–Kahan) 이중대각화 후 QR 알고리즘 계열로 특이값을 잡는 방식이 LAPACK 등에 표준 구현돼 있다. 초대형 희소·저계수 문제에는 랜덤화 SVD(randomized SVD)가 사실상 국룰이 됐다. 어느 쪽이든 “그냥 np.linalg.svd 부르면 되는 거 아냐?”라는 말이 통하는 건, 뒤에서 수십 년치 수치해석 노하우가 갈려 들어갔기 때문이다.4
7. 관련 문서[편집]
8. Footnotes[편집]
-
SVD의 존재 증명은 컴팩트 집합 위 연속 함수의 최댓값 존재라는, 놀랍도록 소박한 도구만으로 끝난다. 정작 그렇게 겸손하게 태어난 정리가 현대 데이터 과학의 절반을 먹여 살린다. ↩
-
에카르트(Carl Eckart)와 영(Gale Young)이 1936년에 프로베니우스 노름 버전을 증명했고, 미르스키(Leon Mirsky)가 1960년에 임의의 유니터리 불변 노름으로 일반화했다. 그래서 요즘은 세 사람 이름을 다 붙여 부르는 게 예의다. ↩
-
다만 JPEG가 SVD를 쓰는 건 아니다. JPEG는 DCT 기반이다. “이미지 압축 = SVD”라고 시험지에 쓰면 반은 맞고 반은 틀린다. ↩
-
특이값이 서로 매우 가까울 때 대응하는 특이벡터를 안정적으로 뽑는 문제는 지금도 수치선형대수의 골칫거리다. 값은 쉽게 나와도 방향은 예민하다. ↩