Linear Algebra
๐Ÿ“

5. Singular Value Decomposition

ํƒœ๊ทธ
SVD
orthogonally diagonalizable
s.p.d

Singular Value Decomposition (SVD)

rectangular ํ–‰๋ ฌ AโˆˆRmร—nA \in \mathbb{R}^{m \times n}์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, SVD๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜๋ฉ๋‹ˆ๋‹ค.
A=UฮฃVT=โˆ‘i=1nฯƒiuiviT,ย whereย ฯƒ1โ‰ฅฯƒ2โ‰ฅโ‹ฏโ‰ฅฯƒnA=U \Sigma V^{T}=\sum_{i=1}^{n} \sigma_{i} \mathbf{u}_{i} \mathbf{v}_{i}^{T}, \quad \text { where } \sigma_{1} \geq \sigma_{2} \geq \cdots \geq \sigma_{n}
์ด ๋•Œ, SVD๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ํ–‰๋ ฌ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
โ€ข
UโˆˆRmร—mU \in \mathbb{R}^{m \times m} โ†’ ColโกA\operatorname{Col} A์˜ orthonormal basis์— ํ•ด๋‹นํ•˜๋Š” orthonormal column๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ํ–‰๋ ฌ
โ€ข
VโˆˆRnร—nV \in \mathbb{R}^{n \times n} โ†’ RowโกA\operatorname{Row} A์˜ orthonormal basis์— ํ•ด๋‹นํ•˜๋Š” orthonormal column์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ํ–‰๋ ฌ
โ€ข
ฮฃโˆˆRmร—n\Sigma \in \mathbb{R}^{m \times n} โ†’ ฯƒ1โ‰ฅฯƒ2โ‰ฅโ‹ฏโ‰ฅฯƒminโก(m,n)\sigma_{1} \geq \sigma_{2} \geq \cdots \geq \sigma_{\min (m, n)}์˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ singular value๊ฐ’๋“ค์„ entries๋กœ ๊ฐ€์ง€๋Š” diagonal matrix
์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
์ด์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•  ๊ฒฝ์šฐ, UโˆˆRmร—mโ†’Uโ€ฒโˆˆRmร—n\mathbf{U} \in \mathbb{R}^{m \times m} \rightarrow \mathbf{U}^{\prime} \in \mathbb{R}^{m \times n}, DโˆˆRmร—nโ†’Dโ€ฒโˆˆRnร—n\mathbf{D} \in \mathbb{R}^{m \times n} \rightarrow \mathbf{D}^{\prime} \in \mathbb{R}^{n \times n}๋กœ ์ถ•์†Œ๋˜์–ด ํ‘œํ˜„๋˜๋ฉฐ, ์ด๋ฅผ Reduced form of SVD๋ผ๊ณ ํ•œ๋‹ค.

Another Perspective of SVD

์•ž์„œ ๋ฐฐ์šด Gram-Schmidt orthogonalization์„ ํ™œ์šฉํ•˜๋ฉด, ์‰ฝ๊ฒŒ 2๊ฐœ์˜ orthonormal basis ์ง‘ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ColโกA\operatorname{Col} A์— ํ•ด๋‹นํ•˜๋Š” {u1,โ€ฆ,un}\left\{\mathbf{u}_{1}, \ldots, \mathbf{u}_{n}\right\}, RowโกA\operatorname{Row} A์— ํ•ด๋‹นํ•˜๋Š” {v1,โ€ฆ,vn}\left\{\mathbf{v}_{1}, \ldots, \mathbf{v}_{n}\right\} ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ orthonormal basis๋Š” uniqueํ•˜์ง€ ์•Š์œผ๋ฉฐ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ๋ฒกํ„ฐ vi,ui\mathbf{v_{i}, u_{i}}๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์‹์„ ๋งŒ์กฑํ•œ๋‹ค.
Avi=ฯƒiui,โˆ€i=1,โ€ฆ,nA \mathbf{v}_{i}=\sigma_{i} \mathbf{u}_{i}, \quad \forall i=1, \ldots, n
์•ž์„œ ๋‹ค๋ฃฌ, EVD์—์„œ์˜ Ax=ฮปxA \mathbf{x}=\lambda \mathbf{x}์™€ ๊ต‰์žฅํžˆ ์œ ์‚ฌํ•œ ํ˜•ํƒœ์ธ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์ง€, EVD์˜ ๊ฒฝ์šฐ ์–‘๋ณ€์˜ orthonormal vector๋“ค์˜ dimension์ด ๋™์ผํ–ˆ๋˜ ๊ฒƒ ๋Œ€๋น„, SVD์—์„œ๋Š” ์–‘๋ณ€์˜ orthonormal vector๋“ค์˜ dimension์ด ๋™์ผํ•˜์ง€ ์•Š๋‹ค.

Singular Values of an mร—nm \times n Matrix

ํ–‰๋ ฌ AA๋ฅผ mร—nm \times n ํ–‰๋ ฌ๋กœ ๊ฐ€์ •ํ•˜๋ฉด, ์ด ๋•Œ, ATA A^{T}A๋Š” symmetricํ•˜๊ธฐ ๋•Œ๋ฌธ์— orthogonally diagonalizable ํ•ฉ๋‹ˆ๋‹ค. (์ด์ „ ์ฑ•ํ„ฐ์—์„œ ๋‹ค๋ฃจ์—ˆ์Œ) {v1,โ€ฆ,vn}\left\{\mathbf{v}_{1}, \ldots, \mathbf{v}_{n}\right\}์„ ํ•ด๋‹นํ•˜๋Š” eigenvector๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” orthonormal basis๋ผ๊ณ  ๊ฐ€์ •ํ•œ๋‹ค๋ฉด, ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.
โˆฅAviโˆฅ2=(Avi)TAvi=viTATAvi=viT(ฮปivi)=ฮปi\left\|A \mathbf{v}_{i}\right\|^{2}=\left(A \mathbf{v}_{i}\right)^{T} A \mathbf{v}_{i}=\mathbf{v}_{i}^{T} A^{T} A \mathbf{v}_{i} \\\begin{array}{l} =\mathbf{v}_{i}^{T}\left(\lambda_{i} \mathbf{v}_{i}\right) \\ =\lambda_{i} \end{array}
ํ–‰๋ ฌ AA์˜ singular value๋Š” ํ–‰๋ ฌ ATAA^{T}A์˜ eigenvector ๊ฐ’์˜ square root๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋ฒกํ„ฐ Av1,โ€ฆ,AvnA \mathbf{v}_{1}, \ldots, A \mathbf{v}_{n} ์˜ ๊ธธ์ด๋กœ๋„ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.
ฯƒi=ฮปiย forย 1โ‰คiโ‰คn\sigma_{i}=\sqrt{\lambda_{i}} \text { for } 1 \leq i \leq n

์ž„์˜์˜ ํ–‰๋ ฌ AโˆˆRmร—nA\in \mathbb{R}^{m \times n} ์˜ rank ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•

โ€ข
ํ–‰๋ ฌ AA๋ฅผ row-reduction ํ•œ ํ›„์— echelon form์œผ๋กœ ๋งŒ๋“ค์–ด pivot์˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ
โ€ข
ํ–‰๋ ฌ ATAA^{T}A์— ํ•ด๋‹นํ•˜๋Š” eigenvalue, eigenvector๋ฅผ ๊ตฌํ•œ ํ›„ 0์ด ์•„๋‹Œ rr๊ฐœ์˜ singular values๋ฅผ ๊ตฌํ•˜๋ฉด, {Av1,โ€ฆ,Avr}\left\{A \mathbf{v}_{1}, \ldots, A \mathbf{v}_{r}\right\}์ด ColโกA\operatorname{Col} A์˜ orthogonal basis๊ฐ€ ๋˜๊ณ , rankโกA=r\operatorname{rank} A=r์„ ๋งŒ์กฑํ•˜๊ฒŒ ๋œ๋‹ค.
๋ช‡๋ช‡์˜ ๊ฒฝ์šฐ์— ํ•œํ•ด์„œ, ํ–‰๋ ฌ AA์˜ rank๋Š” ๋‚ด๋ถ€ ์›์†Œ์˜ ์กฐ๊ทธ๋งˆํ•œ ๋ณ€ํ™”์—๋„ ๋ฏผ๊ฐํ•˜๋‹ค. ์ปดํ“จํ„ฐ๋กœ row-reductionํ•˜๋Š” ๊ฒฝ์šฐ echelon form์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ round off-error๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•ํ•˜๊ฒŒ ๋˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ด ์ž˜ ๋™์ž‘ํ•˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค. ์‹ค์ œ ์ƒํ™ฉ์—์„œ๋Š” 2๋ฒˆ์งธ ๋ฐฉ๋ฒ•์„ ์ฑ„ํƒํ•˜์—ฌ ํฐ ํ–‰๋ ฌ์— ๋Œ€ํ•ด์„œ rank๋ฅผ ๊ตฌํ•œ๋‹ค.

Computing SVD

๋จผ์ €, eigendecomposition์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด AAT,ATAAA^{T}, A^{T}A๋ฅผ ํ˜•์„ฑํ•œ๋‹ค.
AAT=UฮฃVTVฮฃTUT=UฮฃฮฃTUT=Uฮฃ2UTATA=VฮฃTUTUฮฃVT=VฮฃTฮฃUT=Vฮฃ2VT\begin{array}{l}A A^{T}=U \Sigma V^{T} V \Sigma^{T} U^{T}=U \Sigma \Sigma^{T} U^{T}=U \Sigma^{2} U^{T} \\A^{T} A=V \Sigma^{T} U^{T} U \Sigma V^{T}=V \Sigma^{T} \Sigma U^{T}=V \Sigma^{2} V^{T}\end{array}
์ด ๋•Œ, AAT,ATAAA^{T}, A^{T}A๋Š” symmetric์ด๊ธฐ ๋•Œ๋ฌธ์— orthogonally diagonalizable ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋งž์ถ”์–ด eigendecomposition์„ ์‹คํ–‰ํ•˜๋ฉด,
S=UDUT=[u1u2โ‹ฏun][ฮป10โ‹ฏ00ฮป2โ‹ฑโ‹ฎโ‹ฎโ‹ฑโ‹ฑ00โ‹ฏ0ฮปn][u1Tu2Tโ‹ฎunT]=ฮป1u1u1T+ฮป2u2u2T+โ‹ฏ+ฮปnununTย whereย ฮปj>0,โˆ€j=1,โ‹ฏโ€‰,n\begin{array}{c}S=U D U^{T}=\left[\begin{array}{llll}\mathbf{u}_{1} & \mathbf{u}_{2} & \cdots & \mathbf{u}_{n}\end{array}\right]\left[\begin{array}{cccc}\lambda_{1} & 0 & \cdots & 0 \\0 & \lambda_{2} & \ddots & \vdots \\\vdots & \ddots & \ddots & 0 \\0 & \cdots & 0 & \lambda_{n}\end{array}\right]\left[\begin{array}{c}\mathbf{u}_{1}^{T} \\\mathbf{u}_{2}^{T} \\\vdots \\\mathbf{u}_{n}^{T}\end{array}\right] \\=\lambda_{1} \mathbf{u}_{1} \mathbf{u}_{1}^{T}+\lambda_{2} \mathbf{u}_{2} \mathbf{u}_{2}^{T}+\cdots+\lambda_{n} \mathbf{u}_{n} \mathbf{u}_{n}^{T}\end{array} \\ \text { where } \lambda_{j}>0, \forall j=1, \cdots, n
๊ฐ๊ฐ์˜ term ฮปiujujT\lambda_{i} \mathbf{u}_{j} \mathbf{u}_{j}^{T}๋Š” uj \mathbf{u}_{j}์— ์˜ํ•ด span๋˜๋Š” subspace๋กœ์˜ projection matrix๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๊ฒƒ์€ eigenvalue ฮปi\lambda_{i}๋กœ Scale ๋ฉ๋‹ˆ๋‹ค.
์ด ๋•Œ, ํ–‰๋ ฌ SS์— ๋Œ€ํ•œ ํŠน์ง•์„ 2๊ฐ€์ง€๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
Symmetric โ†’ (AAT)T=AATย andย (ATA)T=ATA\left(A A^{T}\right)^{T}=A A^{T} \text { and }\left(A^{T} A\right)^{T}=A^{T} A
โ€ข
Positive-(semi-)definite โ†’ ์•„๋ž˜ ์„ฑ์งˆ์„ ๋งŒ์กฑ
xTAATx=(ATx)T(ATx)=โˆฅATxโˆฅ2โ‰ฅ0xTATAx=(Ax)T(Ax)=โˆฅAxโˆฅ2โ‰ฅ0\begin{array}{l}\mathbf{x}^{T} A A^{T} \mathbf{x}=\left(A^{T} \mathbf{x}\right)^{T}\left(A^{T} \mathbf{x}\right)=\left\|A^{T} \mathbf{x}\right\|^{2} \geq 0 \\\mathbf{x}^{T} A^{T} A \mathbf{x}=(A \mathbf{x})^{T}(A \mathbf{x})=\|A \mathbf{x}\|^{2} \geq 0\end{array}
์œ„์˜ s.p.d ์กฐ๊ฑด์„ ํ†ตํ•ด ํ•ญ์ƒ orthogonalํ•œ eigenvector ํ–‰๋ ฌ U,VU,V๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ฮฃ2\Sigma^{2}๋กœ ํ‘œํ˜„๋˜๋Š” eigenvalues๋Š” ํ•ญ์ƒ positiveํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!
์ •๋ฆฌํ•˜๋ฉด, ์ž„์˜์˜ rectangular matrix AโˆˆRmร—n\mathbf{A} \in \mathbb{R}^{m \times n}์— ๋Œ€ํ•ด SVD๋Š” ํ•ญ์ƒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด ํ–‰๋ ฌ AA๋ฅผ ๊ฐ€์ง€๊ณ  ๋งŒ๋“  s.p.d matrix SS๋Š” ํ•ญ์ƒ EVD ๊ฐ€๋Šฅํ•˜๋ฉฐ, SVD์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ๊ฐ’์œผ๋กœ SVD ์ง„ํ–‰ํ•ด๋ณด๊ธฐ

Reference