6. 특이값 분해 SVD:SinulgarValueDecomposition에 필요한 관련 정의 /정리
관련 정의 : 수반연산자의 일반화
조건
유한차원 내적공간 V,W이 있다고 하자
V,W에 정의된 내적이 각각 ⟨⋅,⋅⟩1,⟨⋅,⋅⟩2 라고 하자
어떤 선형연산자 T:V→W가 있다고 하자
정의
모든 x∈V,y∈W에 대해 ⟨T(x),y⟩2=⟨x,T∗(y)⟩1 인 함수 T∗:W→V를 T의 수반연산자라고 한다
관련 정의2 : 양의 정부호/ 준정부호
조건
- 유한차원 내적공간 V가 있고 자기수반 선형연산자 T가 있다고 하자
정의
- 모든 x=0에 대해 ⟨T(x),x⟩>0 이면 양의 정부호positivedefinite라고 한다
- 모든 x=0에 대해 ⟨T(x),x⟩≥0이면 양의 준정부호positivesemidefinite라고 한다
이에 따라오는 성질
T가 양의 정부호(준정부호)이기 위한 필요충분조건은 모든 고윳값이 양수(음이 아닌 실수) 인 것이다
증명
준정부호 → 양수 증명 |
T는 자기수반 선형연산자이므로 T의 고유벡터로 이루어진 정규직교기저 γ={v1,v2,...,vn} 가 존재할 수 있고 다음과 같이 있다 하자
v∈V에 대해 v=∑i=1naivi 로 적당한 스칼라 ai가 있다하자. 그러면 정의에 따라 ⟨T(v),v⟩≥0. ⟨T(v),v)⟩=⟨∑i=1naiλivi,∑j=1najvj⟩=∑i,jaiajˉλiδij=∑i∣ai∣2λi≥0
∣ai∣2 는 임의의 음이 아닌 실수값을 가질 수 있으므로 λi또한 음이 아닌 실수를 가져야 한다
양수 → 준정부호 증명 |
λi가 영이 아닌 실수면 당연히 ⟨T(v),v⟩=∑i∣ai∣2λi 또한 영이 아닌 실수값을 갖는다
관련 정리: T∗T
조건
- 유한차원 내적공간 V,W와 선형변환 T→W가 있다 하자
정리
- TT∗와 T∗T는 양의 준정부호다
- rank(TT∗)=rank(T∗T)=rank(T)
증명
- 모든 x∈V에 대하여 ⟨T∗T(x),x⟩=⟨T(x),T(x)⟩>0 (내적의 정의에 따라
- ⟨TT∗(x),x⟩=⟨T∗(x),T∗(x)⟩>0
- N(T∗T)=N(T) 증명하기
- N(T∗T)⊆N(T) 증명 |
- x∈N(T∗T)라 하자
- ⟨T∗T(x),x⟩=0 , ⟨T(x),T(x)⟩=0
- x∈N(T)
- N(T)⊆N(T∗T) 증명 |
- x∈N(T)라 하자
- T∗T(x)=T∗(0)=0
- x∈N(T∗T)
- dimV=rank(T)+nullity(T) 이므로
- N(T∗T)=N(T)→rank(T∗T)=rank(T)
- rank(T)=rank(TT∗) 증명은 생략
6-1. 선형변환의 특이값 분해SVD 정리
조건
- 유한차원 내적공간 V,W와 랭크 r인 선형변환 T:V→W가 있다 하자
정리
- T(vi)=(σiui(1≤i≤r)0(i>r))
- 이 되도록하는
- T∗T의 고유벡터로 이루어진 V의 정규직교기저 β={v1,v2,...,vn}와
- T∗T의 고유값의 제곱근에 해당하는 값인 σi
- W의 정규직교기저 γ={u1,u2,...,um} 가 존재한다
증명
- 위의 정리에 따라 rank(T∗T)=r 이고 T∗T는 양의 준정부호이다
- 즉 고유값 λi에 대응하는 고유벡터 vi로 이루어진 정규직교기저 β={v1,v2,...,vn}이 존재한다
- 이떄 λ1≥λ2≥...≥λr≥0 이고 , i>r 일떄 λi=0을 두자
- σi=λi,ui=σi1T(vi)라 정의하자 γ={u1,u2,...,ur}이 W의 정규직교부분집합임을 보일것이다
- ⟨ui,uj⟩=⟨σi1T(vi),σj1T(vj)⟩=σiσj1⟨T∗T(vi),vj⟩=σiσj1⟨λivi,vj⟩
- =σiσjλiδij=δij
- 따라서 {u1,u2,...,ur}는 정규직교이다
- 대체정리에 따라 {u1,u2,...,ur}와 더불어 선형독립인 m−r개의 벡터를 찾고 그람-슈미트 과정을 하면 γ={u1,u2,...,ur,ur+1,...,um}, W의 정규직교기저를 얻을 수 있다
i>r 일 때 T(vi)에 대해 살펴보자
j>r 일때 T∗T(vj)=0 이고 ⟨T∗T(vj),vj⟩=⟨T(vj),T(vj)⟩=0 이므로 T(vj)도 0이 된다
조건
- 랭크가 r 인 행렬 A∈Mm×n(F) 가 존재한다고 하자
- 행렬 A의 특이값이 σ1≥σ2≥...≥σr>0 이라고 하자
- 행렬 Σ∈Mm×n(F) 가 다음과 같이 정의되었다 하자
- Σij=σi(i=j≤r)orelse0
정리
- A=UΣV∗를 만족시키는 유니타리 행렬 U∈Mm×m(F) 와 유니타리 행렬 V∈Mn×n(F) 가 존재한다
증명
- T=LA:Fn→Fm 이라 하자
- 앞의 정리를 따라 T(vi)=σiui(i≤i≤r)or0(i>r) 을만족시키는
- Fn의 정규직교기저 β′={v1,v2,...,vn} 과
- Fm의 정규직교기저 γ′={u1,u2,...,um}이 존재한다
- 또한 Fn,Fm의 표준기저를 각각 β,γ로 둔다면
- [T]βγ=[I]γ′γ[T]β′γ′[I]ββ′ 의 식이 성립한다
- [I(uj)]γ=[I]γ′γ[uj]γ′=colj([I]γ′γ)=[uj]γ=uj
- [I(vj)]β=[I]β′β[vj]β′=colj([I]β′β)=[vj]β=vj
- 로 [I]γ′γ=U , [I]β′β=V 유니타리 행렬임이 증명된다
6-3. truncated SVD
조건
- 랭크가 r 인 행렬 A∈Mm×n(F) 가 존재한다고 하자
- 행렬 A의 특이값이 σ1≥σ2≥...≥σr>0 이라고 하자
- 행렬 Σ∈Mm×n(F) 가 다음과 같이 정의되었다 하자
- Σij=σi(i=j≤r)or0(else)
Statement
- A=UΣV∗를 만족시키는 유니타리 행렬 U∈Mm×m(F) 와 유니타리 행렬 V∈Mn×n(F) 가 존재한다
- U 의 r 개 row를 갖는 부분행렬 U′ 과 V 의 r 개 column를 갖는 부분행렬 V′ , Σ의 (r×r) 영역을 갖는 부분행렬 Σ′ 이 있다 하자 그러면
- A=U′Σ′(V′)∗ 이 성립한다(be called compact SVD)
이미지
full SVD
compact SVD
truncated SVD
- 0이 아닌 singular value까지 제거하여 이 경우에는 원래의 A가 보존되지 않고 A에 대한 근사행렬 A′이 나오는 방정식
truncated SVD 효과
데이터 차원을 줄임으로서
- 오버피팅을 줄일 수 있다
- 설명력이 낮은 피처들을 제거할 수 있다