지난주 선형대수 학습에서 어려웠던 SVD와 Newton’s Method에 대해 더 알아보고자 한다.

SVD(Singular Value Decomposition)

Positive definite

$z^TAz>0;\forall{z\ne0}, A\text{ is symmetric matrix}$

즉, 어떤 대칭행렬 $A$가 영벡터가 아닌 모든 column vector z에 대해 항상 $z^TAz>0$을 만족할 때, 행렬 $A$를 positive definite matrix라고 부른다.

이 조건을 $z^T(Az)>0$으로 생각하여 내적의 계산처럼 봐보자.

이는 영벡터가 아닌 어떤 벡터 z에 대해서 선형 변환 A를 취한 후, 다시 z와 내적을 취한 것으로 생각할 수 있다. 그 결과가 0보다 크다는 것은, 두 벡터간의 각도가 $-\pi/2 < \theta<\pi/2$ 이어야 한다.

https://angeloyeo.github.io/2021/12/20/positive_definite.html

https://angeloyeo.github.io/2021/12/20/positive_definite.html

모든 positive defnite한 행렬은 그 행렬의 모든 eigenvalue가 양수이다.

$$ Ax=\lambda x\\x^TAx=x^T\lambda x=\lambda\lvert{x}\rvert^2>0

$$

이러한 내용은 Hessian matrix과 최적화에도 주요하게 활용된다.

Hessian matrix는 2차 미분계수와 유사한 의미를 가지는데, eigenvalue가 모두 양수인 Hessian matrix는 항상 convex(볼록)하다.

즉, 어떤 twice-differentiable 한 함수 f의 Hessian이 positive defenite하다면, 이 함수 f 는 반드시 극솟값을 가진다.

Application of SVD

  1. 이미지 압축

$$ ⁍ $$

이 식을 시그마 형태로 표현하면 $A=\displaystyle\sum_{i=1}^r\sigma_iu_iv^T_i;\forall r=\text{rank of A}$와 같다.

특이값 $\sigma_i$는 큰 값부터 정렬되어 있고, 이를 이용하여 A를 근사할 수 있다.

예를 들어 A를 rank가 3인 행렬로 근사시키고자 한다면