오늘 할 일 오른쪽·왼쪽 특이벡터과 특잇값을 구하고 작은 성분을 버릴 때의 오차를 계산한다.
대각화는 정사각행렬에 쓰지만 데이터 행렬은 직사각형일 수 있다. 정의역 위의 대칭행렬 $A^TA$에서 직교 방향을 찾는다.
먼저 확인 $A=\operatorname{diag}(3,-2)$일 때 $A^TA$를 구하시오.
풀이 읽기랭크 1 성분 하나가 하는 일
단위벡터 \(v_i\)에 대한 입력 성분을 추출하고, \(\sigma_i\)배하여 \(u_i\) 방향으로 보냅니다.
\[Ax=\sum_i\sigma_i u_i(v_i^Tx),\qquad A_k=\sum_{i=1}^k\sigma_i u_iv_i^T\]
특이값을 큰 순서로 놓으면 앞 k개를 남긴 행렬이 프로베니우스 노름에서 최적 랭크 k 이하 근사이다. σ=0에서는 나누지 않고 직교기저를 보충한다.
설명을 읽고 개념 정리
- SVD는 $A=\underline{\hspace{3.2cm}}$로 행렬을 분해한다.
- $V$의 열은 $A^\mathsf TA$의 이다.
- 특잇값은 $A^\mathsf TA$의 고윳값의 이다.
- 2-노름이나 프로베니우스 노름에서 최적인 랭크 $k$ 이하 근사는 특잇값이 큰 성분부터 만 남긴다.
주의할 점 특잇값은 항상 0 이상이며 보통 큰 값부터 정렬한다.