선형대수 6-4. 특이값 분해

milkbuttercheese·2023년 1월 14일
0

AI를 위한 선형대수

목록 보기
12/14

6-4. 특이값 분해 SVD

6. 특이값 분해 SVD:SinulgarValueDecompositionSVD: Sinulgar\,\,Value\,\,Decomposition에 필요한 관련 정의 /정리

관련 정의 : 수반연산자의 일반화

  • 조건
    • 유한차원 내적공간 V,WV,W이 있다고 하자
    • V,WV,W에 정의된 내적이 각각 ,1,,2\langle\cdot,\cdot \rangle_1, \langle\cdot,\cdot\rangle_2 라고 하자
    • 어떤 선형연산자 T:VWT : V \rightarrow W가 있다고 하자
  • 정의
    • 모든 xV,yWx\in V ,y\in W에 대해 T(x),y2=x,T(y)1\langle T(x),y \rangle_2=\langle x,T^*(y)\rangle_1 인 함수 T:WVT^*:W\rightarrow VTT의 수반연산자라고 한다

관련 정의2 : 양의 정부호/ 준정부호

  • 조건
    - 유한차원 내적공간 VV가 있고 자기수반 선형연산자 TT가 있다고 하자
  • 정의
    - 모든 x0x \ne0에 대해 T(x),x>0\langle T(x),x \rangle >0 이면 양의 정부호positivedefinitepositive \,\,definite라고 한다
    - 모든 x0x \ne 0에 대해 T(x),x0\langle T(x),x \rangle \ge 0이면 양의 준정부호positivesemidefinitepositive\,\,semidefinite라고 한다
  • 이에 따라오는 성질
    • TT가 양의 정부호(준정부호)이기 위한 필요충분조건은 모든 고윳값이 양수(음이 아닌 실수) 인 것이다
  • 증명
    • 준정부호 → 양수 증명 |
      • TT는 자기수반 선형연산자이므로 TT의 고유벡터로 이루어진 정규직교기저 γ={v1,v2,...,vn}\gamma=\{v_1,v_2,...,v_n\} 가 존재할 수 있고 다음과 같이 있다 하자
      • vVv \in V에 대해 v=i=1naiviv=\sum_{i=1}^{n} a_iv_i 로 적당한 스칼라 aia_i가 있다하자. 그러면 정의에 따라 T(v),v0\langle T(v),v \rangle \ge0. T(v),v)=i=1naiλivi,j=1najvj=i,jaiajˉλiδij=iai2λi0\langle T(v),v) \rangle=\langle \sum_{i=1}^{n}a_i\lambda_i v_i,\sum_{j=1}^{n}a_jv_j \rangle=\sum_{i,j} a_i \bar{a_j}\lambda_i \delta_{ij}=\sum_{i}|a_i|^2\lambda_i \ge0
      • ai2|a_i|^2 는 임의의 음이 아닌 실수값을 가질 수 있으므로 λi\lambda_i또한 음이 아닌 실수를 가져야 한다
      • 양수 → 준정부호 증명 |
        • λi\lambda_i가 영이 아닌 실수면 당연히 T(v),v=iai2λi\langle T(v),v \rangle=\sum_{i}|a_i|^2\lambda_i 또한 영이 아닌 실수값을 갖는다

관련 정리: TTT^*T

  • 조건
    - 유한차원 내적공간 V,WV,W와 선형변환 TWT\rightarrow W가 있다 하자
  • 정리
    - TTTT^*TTT^*T는 양의 준정부호다
    - rank(TT)=rank(TT)=rank(T)rank(TT^*)=rank(T^*T)=rank(T)
  • 증명
    - 모든 xVx \in V에 대하여 TT(x),x=T(x),T(x)>0\langle T^*T(x),x \rangle=\langle T(x),T(x) \rangle >0 (내적의 정의에 따라
    - TT(x),x=T(x),T(x)>0\langle TT^*(x),x \rangle = \langle T^*(x),T^*(x) \rangle >0
    - N(TT)=N(T)N(T^*T)=N(T) 증명하기
    - N(TT)N(T)N(T^*T) \subseteq N(T) 증명 |
    - xN(TT)x \in N(T^*T)라 하자
    - TT(x),x=0\langle T^*T(x),x \rangle=0 , T(x),T(x)=0\langle T(x),T(x) \rangle =0
    - xN(T)x \in N(T)
    - N(T)N(TT)N(T) \subseteq N(T^*T) 증명 |
    - xN(T)x \in N(T)라 하자
    - TT(x)=T(0)=0T^*T(x)=T^*(0)=0
    - xN(TT)x\in N(T^*T)
    - dimV=rank(T)+nullity(T)dimV=rank(T)+nullity(T) 이므로
    - N(TT)=N(T)rank(TT)=rank(T)N(T ^{*}T)=N(T) \to rank(T ^{*}T)=rank(T)
    - rank(T)=rank(TT)rank(T)=rank(TT^*) 증명은 생략

6-1. 선형변환의 특이값 분해SVDSVD 정리

  • 조건
    - 유한차원 내적공간 V,WV,W와 랭크 rr인 선형변환 T:VWT:V\rightarrow W가 있다 하자
  • 정리
    - T(vi)=T(v_i)= (σiui(1ir)0(i>r))\begin{pmatrix} \sigma_iu_i \,\,\,(1\le i \le r) \\ 0 \,\,\,\,\,\,(i>r)\end{pmatrix}
    - 이 되도록하는
    - TTT^*T의 고유벡터로 이루어진 VV의 정규직교기저 β={v1,v2,...,vn}\beta=\{v_1,v_2,...,v_n\}
    - TTT^*T의 고유값의 제곱근에 해당하는 값인 σi\sigma_i
    - WW의 정규직교기저 γ={u1,u2,...,um}\gamma=\{u_1,u_2,...,u_m\} 가 존재한다
  • 증명
    - 위의 정리에 따라 rank(TT)=rrank(T^*T)=r 이고 TTT^*T는 양의 준정부호이다
    - 즉 고유값 λi\lambda_i에 대응하는 고유벡터 viv_i로 이루어진 정규직교기저 β={v1,v2,...,vn}\beta=\{v_1,v_2,...,v_n\}이 존재한다
    - 이떄 λ1λ2...λr0\lambda_1 \ge \lambda_2 \ge ... \ge \lambda_r \ge0 이고 , i>ri >r 일떄 λi=0\lambda_i=0을 두자
    - σi=λi,ui=1σiT(vi)\sigma_i=\sqrt{\lambda_i}, u_i=\displaystyle\frac{1}{\sigma_i}T(v_i)라 정의하자 γ={u1,u2,...,ur}\gamma=\{u_1,u_2,...,u_r\}WW의 정규직교부분집합임을 보일것이다
    - ui,uj=1σiT(vi),1σjT(vj)=1σiσjTT(vi),vj=1σiσjλivi,vj\langle u_i,u_j \rangle= \langle \displaystyle\frac{1}{\sigma_i} T(v_i),\displaystyle\frac{1}{\sigma_j}T(v_j) \rangle=\displaystyle\frac{1}{\sigma_i\sigma_j}\langle T^*T(v_i),v_j \rangle=\displaystyle\frac{1}{\sigma_i\sigma_j}\langle \lambda_i v_i,v_j \rangle
    - =λiσiσjδij=δij=\displaystyle\frac{\lambda_i}{\sigma_i\sigma_j}\delta_{ij}=\delta_{ij}
    - 따라서 {u1,u2,...,ur}\{u_1,u_2,...,u_r\}는 정규직교이다
    - 대체정리에 따라 {u1,u2,...,ur}\{u_1,u_2,...,u_r\}와 더불어 선형독립인 mrm-r개의 벡터를 찾고 그람-슈미트 과정을 하면 γ={u1,u2,...,ur,ur+1,...,um}\gamma=\{ u_1,u_2,...,u_r,u_{r+1},...,u_m\}, WW의 정규직교기저를 얻을 수 있다
    • i>ri>r 일 때 T(vi)T(v_i)에 대해 살펴보자
      • j>rj>r 일때 TT(vj)=0T^*T(v_j)=0 이고 TT(vj),vj=T(vj),T(vj)=0\langle T^*T(v_j),v_j \rangle= \langle T(v_j),T(v_j) \rangle=0 이므로 T(vj)T(v_j)도 0이 된다
    • 이번엔 T(ui)T^*(u_i)를 살펴보자
      • T(ui)=j=1nT(ui),vjvjT^*(u_i)=\sum_{j=1}^{n} \langle T^*(u_i),v_j \rangle v_j
        - T(ui),vj=ui,T(vj)=σjδij\langle T^*(u_i),v_j\rangle= \langle u_i,T(v_j)\rangle=\sigma_j \delta_{ij} (1ir)\,\,\,(1\le i \le r) oror 0(i>r)0 \,\,\,(i>r)이 된다
        - T(ui)=σivi(1ir)T^*(u_i)=\sigma_i v_i \,\,\,(1\le i \le r) oror 0(i>r)0\,\,\,(i>r) 이다

6-2. 행렬의 특잇값 분해 정리

  • 조건
    - 랭크가 rr 인 행렬 AMm×n(F)\boldsymbol{A} \in \boldsymbol{M}_{m \times n}(F) 가 존재한다고 하자
    - 행렬 A\boldsymbol{A}의 특이값이 σ1σ2...σr>0\sigma_1 \ge \sigma_2 \ge ...\ge \sigma_r >0 이라고 하자
    - 행렬 ΣMm×n(F)\Sigma \in \boldsymbol{M}_{m \times n}(F) 가 다음과 같이 정의되었다 하자
    - Σij=σi(i=jr)\Sigma_{ij}= \sigma_i \,\,(i=j \le r)\,\, oror else0else \,\,0
  • 정리
    - A=UΣV\boldsymbol{A}=\boldsymbol{U}\Sigma \boldsymbol{V}^*를 만족시키는 유니타리 행렬 UMm×m(F)\boldsymbol{U} \in \boldsymbol{M}_{m \times m}(F) 와 유니타리 행렬 VMn×n(F)\boldsymbol{V} \in \boldsymbol{M}_{n \times n}(F) 가 존재한다
  • 증명
    - T=LA:FnFmT=L_A:F^n\rightarrow F^m 이라 하자
    - 앞의 정리를 따라 T(vi)=σiui(iir)T(v_i)=\sigma_iu_i \,\,(i \le i \le r) oror 0(i>r)0 \,\,(i>r) 을만족시키는
    - FnF^n의 정규직교기저 β={v1,v2,...,vn}\beta'=\{v_1,v_2,...,v_n\}
    - FmF^m의 정규직교기저 γ={u1,u2,...,um}\gamma'=\{u_1,u_2,...,u_m \}이 존재한다
    - 또한 Fn,FmF^n,F^m의 표준기저를 각각 β,γ\beta,\gamma로 둔다면
    - [T]βγ=[I]γγ[T]βγ[I]ββ[T]_{\beta}^{\gamma}= [I]_{\gamma'}^{\gamma} [T]_{\beta'}^{\gamma'} [I]_{\beta}^{\beta'} 의 식이 성립한다
    - [I(uj)]γ=[I]γγ[uj]γ=colj([I]γγ)=[uj]γ=uj[I(u_j)]_{\gamma}=[I]_{\gamma'}^{\gamma}[u_j]_{\gamma'}=col_j([I]_{\gamma'}^{\gamma})=[u_j]_{\gamma}=u_j
    - [I(vj)]β=[I]ββ[vj]β=colj([I]ββ)=[vj]β=vj[I(v_j)]_{\beta}=[I]_{\beta'}^{\beta}[v_j]_{\beta'}=col_j([I]_{\beta'}^{\beta})=[v_j]_{\beta}=v_j
    - 로 [I]γγ=U[I]_{\gamma'}^{\gamma}=\boldsymbol{U} , [I]ββ=V[I]_{\beta'}^{\beta}=\boldsymbol{V} 유니타리 행렬임이 증명된다

6-3. truncated SVD

  • 조건
    - 랭크가 rr 인 행렬 AMm×n(F)\boldsymbol{A} \in \boldsymbol{M}_{m \times n}(F) 가 존재한다고 하자
    - 행렬 A\boldsymbol{A}의 특이값이 σ1σ2...σr>0\sigma_1 \ge \sigma_2 \ge ...\ge \sigma_r >0 이라고 하자
    - 행렬 ΣMm×n(F)\Sigma \in \boldsymbol{M}_{m \times n}(F) 가 다음과 같이 정의되었다 하자
    - Σij=σi(i=jr)\Sigma_{ij}= \sigma_i \,\,(i=j \le r) oror 0(else)0 \,\,\,(else)

  • Statement
    - A=UΣV\boldsymbol{A}=\boldsymbol{U}\Sigma \boldsymbol{V}^*를 만족시키는 유니타리 행렬 UMm×m(F)\boldsymbol{U} \in \boldsymbol{M}_{m \times m}(F) 와 유니타리 행렬 VMn×n(F)\boldsymbol{V} \in \boldsymbol{M}_{n \times n}(F) 가 존재한다
    - U\boldsymbol{U}rr 개 row를 갖는 부분행렬 U\boldsymbol{U}'V\boldsymbol{V}rr 개 column를 갖는 부분행렬 V\boldsymbol{V}' , Σ\Sigma(r×r)(r \times r) 영역을 갖는 부분행렬 Σ\Sigma' 이 있다 하자 그러면
    - A=UΣ(V)\boldsymbol{A}=\boldsymbol{U}'\Sigma' (\boldsymbol{V}')^* 이 성립한다(be called compact SVD)

  • 이미지

    • full SVD
    • compact SVD
    • truncated SVD
      - 0이 아닌 singular value까지 제거하여 이 경우에는 원래의 A\boldsymbol{A}가 보존되지 않고 A\boldsymbol{A}에 대한 근사행렬 A\boldsymbol{A}'이 나오는 방정식

truncated SVD 효과

  • 데이터 차원을 줄임으로서
    - 오버피팅을 줄일 수 있다
    - 설명력이 낮은 피처들을 제거할 수 있다
  • 입력데이터의 sparsity 를 줄일수 있다
profile
안녕하세요!

0개의 댓글