< Index >

=> ์‹ค์ œ ์‘์šฉ: ๊ตฌ๊ธ€์˜ PageRank ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ฃผ์„ฑ๋ถ„ ๋ถ„์„(PCA), ์ง„๋™ ๋ชจ๋“œ ๋ถ„์„

๊ธฐ๋ณธ ๊ฐœ๋…

๊ณ ์œ ๊ฐ’๊ณผ ๊ณ ์œ ๋ฒกํ„ฐ๋Š” ์„ ํ˜•๋Œ€์ˆ˜ํ•™์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ •๋ฐฉํ–‰๋ ฌ $A$์— ๋Œ€ํ•˜์—ฌ, 0์ด ์•„๋‹Œ ๋ฒกํ„ฐ $v$์™€ ์Šค์นผ๋ผ $\lambda$๊ฐ€ ๋‹ค์Œ ๋ฐฉ์ •์‹์„ ๋งŒ์กฑํ•  ๋•Œ:

$$Av = \lambda v$$

$\lambda$๋ฅผ ํ–‰๋ ฌ $A$์˜ ๊ณ ์œ ๊ฐ’(eigen value) ์ด๋ผ ํ•˜๊ณ , $v$๋ฅผ $\lambda$์— ๋Œ€์‘ํ•˜๋Š” ๊ณ ์œ ๋ฒกํ„ฐ(eigen vector) ๋ผ๊ณ  ํ•œ๋‹ค.
์ง๊ด€์ ์œผ๋กœ ์ดํ•ด ํ•˜์ž๋ฉด ๊ณ ์œ ๋ฒกํ„ฐ๋Š” ํ–‰๋ ฌ $A$์— ์˜ํ•œ ์„ ํ˜•๋ณ€ํ™˜์ด ์ ์šฉ๋  ๋•Œ ๋ฐฉํ–ฅ์ด ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ์˜ค์ง ํฌ๊ธฐ๋งŒ $\lambda$๋ฐฐ ๋ณ€ํ•˜๋Š” ํŠน๋ณ„ํ•œ ๋ฒกํ„ฐ์ด๋‹ค.
์ฆ‰, ํ–‰๋ ฌ $A$๊ฐ€ ๊ณ ์œ ๋ฒกํ„ฐ $v$์— ์ž‘์šฉํ•˜๋ฉด $v$์˜ ๋ฐฉํ–ฅ์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋œ๋‹ค.
๋˜, ๊ณ ์œ ๋ฒกํ„ฐ์˜ ํฌ๊ธฐ๋Š” ๊ณ ์œ ๊ฐ’ $\lambda$์— ๋น„๋ก€ํ•˜์—ฌ ๋Š˜์–ด๋‚˜๊ฑฐ๋‚˜ ์ค„์–ด๋“ ๋‹ค.

์ˆ˜ํ•™์  ์ •์˜

  • ๊ณ ์œ ๋ฐฉ์ •์‹: $Av = \lambda v$
  • ํŠน์„ฑ๋ฐฉ์ •์‹: $\det(A - \lambda I) = 0$
  • ๊ณ ์œ ๊ณต๊ฐ„: ๊ณ ์œ ๊ฐ’ $\lambda$์— ๋Œ€์‘ํ•˜๋Š” ๋ชจ๋“  ๊ณ ์œ ๋ฒกํ„ฐ์˜ ์ง‘ํ•ฉ $E_{\lambda} = {v \neq 0 : Av = \lambda v}$

์˜ˆ๋ฅผ ๋“ค์–ด, ํ–‰๋ ฌ $A = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix}$์˜ ๊ฒฝ์šฐ
ํŠน์„ฑ๋ฐฉ์ •์‹: $\det(A - \lambda I) = \det\begin{bmatrix} 3-\lambda & 1 \\ 1 & 3-\lambda \end{bmatrix} = (3-\lambda)^2 - 1 = 0$ ์ด๋ฅผ ํ’€๋ฉด $\lambda = 2$ ๋˜๋Š” $\lambda = 4$๊ฐ€ ๋œ๋‹ค. $\lambda = 2$์ผ ๋•Œ์˜ ๊ณ ์œ ๋ฒกํ„ฐ๋Š” $v_1 = \begin{bmatrix} -1 \\ 1 \end{bmatrix}$ (๋˜๋Š” ์ด์˜ ์Šค์นผ๋ผ ๋ฐฐ) $\lambda = 4$์ผ ๋•Œ์˜ ๊ณ ์œ ๋ฒกํ„ฐ๋Š” $v_2 = \begin{bmatrix} 1 \\ 1 \end{bmatrix}$ (๋˜๋Š” ์ด์˜ ์Šค์นผ๋ผ ๋ฐฐ)

ํ–‰๋ ฌ์‹(determinant, $\det$)์€ ์ •๋ฐฉํ–‰๋ ฌ์— ๋Œ€ํ•ด ์ •์˜๋˜๋Š” ์Šค์นผ๋ผ ๊ฐ’์ด๋‹ค.

๊ธฐํ•˜ํ•™์  ์˜๋ฏธ

๊ณ ์œ ๋ฒกํ„ฐ๋Š” ์„ ํ˜•๋ณ€ํ™˜ $A$์— ์˜ํ•ด ๋ฐฉํ–ฅ์ด ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ์˜ค์ง ํฌ๊ธฐ๋งŒ $\lambda$๋ฐฐ ๋ณ€ํ•˜๋Š” ํŠน๋ณ„ํ•œ ๋ฒกํ„ฐ์ด๋‹ค. ์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค.

  • $\lambda > 0$: ๊ณ ์œ ๋ฒกํ„ฐ๋Š” ๊ฐ™์€ ๋ฐฉํ–ฅ์œผ๋กœ ๋Š˜์–ด๋‚˜๊ฑฐ๋‚˜ ์ค„์–ด๋“ ๋‹ค
  • $\lambda < 0$: ๊ณ ์œ ๋ฒกํ„ฐ๋Š” ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ๋Š˜์–ด๋‚˜๊ฑฐ๋‚˜ ์ค„์–ด๋“ ๋‹ค
  • $|\lambda| = 1$: ๊ณ ์œ ๋ฒกํ„ฐ์˜ ๊ธธ์ด๊ฐ€ ๋ณด์กด๋œ๋‹ค
  • $\lambda = 0$: ๊ณ ์œ ๋ฒกํ„ฐ๋Š” ์˜๋ฒกํ„ฐ๋กœ ๋งคํ•‘๋œ๋‹ค

์ฃผ์š” ์„ฑ์งˆ

  1. $n \times n$ ํ–‰๋ ฌ์€ ์ตœ๋Œ€ $n$๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๊ณ ์œ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค.
  2. ๋Œ€์นญํ–‰๋ ฌ($A = A^T$)์˜ ๋ชจ๋“  ๊ณ ์œ ๊ฐ’์€ ์‹ค์ˆ˜์ด๋‹ค.
  3. ์ง๊ตํ–‰๋ ฌ($A^TA = I$)์˜ ๋ชจ๋“  ๊ณ ์œ ๊ฐ’์˜ ์ ˆ๋Œ“๊ฐ’์€ 1์ด๋‹ค.
  4. ํ–‰๋ ฌ $A$์˜ ๋Œ€๊ฐํ•ฉ(trace)์€ ๋ชจ๋“  ๊ณ ์œ ๊ฐ’์˜ ํ•ฉ๊ณผ ๊ฐ™๋‹ค: $\text{tr}(A) = \sum_{i=1}^{n} \lambda_i$
  5. ํ–‰๋ ฌ $A$์˜ ํ–‰๋ ฌ์‹์€ ๋ชจ๋“  ๊ณ ์œ ๊ฐ’์˜ ๊ณฑ๊ณผ ๊ฐ™๋‹ค: $\det(A) = \prod_{i=1}^{n} \lambda_i$

๋Œ€๊ฐํ™”(Diagonalization)

๋Œ€๊ฐํ™”๋Š” ์ฃผ์–ด์ง„ ์ •๋ฐฉํ–‰๋ ฌ์„ ์œ ์‚ฌํ•œ ๋Œ€๊ฐํ–‰๋ ฌ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.
์‰ฝ๊ฒŒ ๋งํ•ด,

๋ณต์žกํ•œ ํ–‰๋ ฌ์„ ๋Œ€๊ฐ ์›์†Œ๋งŒ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ 0์ธ ๋” ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ํ–‰๋ ฌ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ ์ด๋‹ค.

๊ณ ์œ ๊ฐ’ ๋ถ„ํ•ด(Eigen decomposition)

๊ณ ์œ ๊ฐ’ ๋ถ„ํ•ด๋Š” ์ •๋ฐฉํ–‰๋ ฌ์„ ๊ณ ์œ ๊ฐ’๊ณผ ๊ณ ์œ ๋ฒกํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋Œ€๊ฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์ด๋Š” ๋ณต์žกํ•œ ํ–‰๋ ฌ์„ ๋” ๋‹จ์ˆœํ•œ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜์—ฌ ๊ณ„์‚ฐ๊ณผ ๋ถ„์„์„ ์šฉ์ดํ•˜๊ฒŒ ํ•œ๋‹ค.
๋Œ€๊ฐํ™” ๊ฐ€๋Šฅํ•œ $n \times n$ ํ–‰๋ ฌ $A$๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„ํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

$$A = PDP^{-1}$$

์—ฌ๊ธฐ์„œ:

  • $P$๋Š” $A$์˜ ๊ณ ์œ ๋ฒกํ„ฐ๋“ค์„ ์—ด๋กœ ๊ฐ–๋Š” ํ–‰๋ ฌ์ด๋‹ค
  • $D$๋Š” ๋Œ€์‘ํ•˜๋Š” ๊ณ ์œ ๊ฐ’๋“ค์„ ๋Œ€๊ฐ์„ ์— ๊ฐ–๋Š” ๋Œ€๊ฐํ–‰๋ ฌ์ด๋‹ค

๋Œ€๊ฐํ–‰๋ ฌ $D$๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„๋‹ค. $$D = \begin{bmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{bmatrix}$$ ๋Œ€๊ฐ ์›์†Œ $\lambda_1, \lambda_2, \ldots, \lambda_n$์€ ์›๋ž˜ ํ–‰๋ ฌ $A$์˜ ๊ณ ์œ ๊ฐ’๋“ค์ด๋‹ค.

์œ„์˜ ์˜ˆ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ๋Œ€๊ฐํ–‰๋ ฌ $D$ ๊ตฌํ•ด๋ณด์ž.
ํ–‰๋ ฌ $A = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix}$
๊ณ ์œ ๊ฐ’: $\lambda_1 = 4$, $\lambda_2 = 2$
๊ณ ์œ ๋ฒกํ„ฐ: $v_1 = \begin{bmatrix} 1 \\ 1 \end{bmatrix}$, $v_2 = \begin{bmatrix} 1 \\ -1 \end{bmatrix}$
ํ–‰๋ ฌ $P = \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}$
๋Œ€๊ฐํ–‰๋ ฌ $D = \begin{bmatrix} 4 & 0 \\ 0 & 2 \end{bmatrix}$
$PDP^{-1} = A$ ์ž„์„ ๊ฒ€์ฆ์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋Œ€๊ฐํ–‰๋ ฌ $D$๋ฅผ ํ™•์ธํ•œ๋‹ค. ์ด๋กœ์จ ํ–‰๋ ฌ $A$ ๋Œ€์‹  ๋” ๋‹จ์ˆœํ•œ ๋Œ€๊ฐํ–‰๋ ฌ $D$๋กœ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด $3X3$ ์ด์ƒ์˜ ํ–‰๋ ฌ์— ๋Œ€ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ๊ณ ์œ ๊ฐ’๊ณผ ๊ณ ์œ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์„๊นŒ?

  1. ํŠน์„ฑ๋‹คํ•ญ์‹ ์„ค์ •: $\det(A - \lambda I) = 0$
  2. ํ–‰๋ ฌ์‹ ๊ณ„์‚ฐ: 3ร—3 ์ด์ƒ ํ–‰๋ ฌ์˜ ํ–‰๋ ฌ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.
  • ์—ฌ์ธ์ˆ˜ ์ „๊ฐœ(cofactor expansion)
  • ํ–‰ ์—ฐ์‚ฐ์„ ํ†ตํ•œ ์ƒ์‚ผ๊ฐ/ํ•˜์‚ผ๊ฐ ํ–‰๋ ฌ๋กœ์˜ ๋ณ€ํ™˜
  1. ๋‹คํ•ญ์‹ ๊ทผ ๊ตฌํ•˜๊ธฐ: ํŠน์„ฑ๋‹คํ•ญ์‹์˜ ๊ทผ์ด ํ–‰๋ ฌ์˜ ๊ณ ์œ ๊ฐ’์ด๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ, ์ด์ œ ๊ณ ์œ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

  1. ์—ฐ๋ฆฝ๋ฐฉ์ •์‹ ์„ค์ •: $(A - \lambda I)v = 0$
  2. ๊ธฐ์•ฝํ–‰์‚ฌ๋‹ค๋ฆฌ๊ผด(RREF)๋กœ ๋ณ€ํ™˜: ๊ฐ€์šฐ์Šค-์กฐ๋˜ ์†Œ๊ฑฐ๋ฒ• ์ ์šฉ
  3. ํ•ด๊ณต๊ฐ„(null space) ๊ตฌํ•˜๊ธฐ: ๊ธฐ์ € ๋ฒกํ„ฐ๋“ค์ด ๊ณ ์œ ๋ฒกํ„ฐ์ด๋‹ค.

์‹ค์ œ ํ–‰๋ ฌ์ด ํฐ ๊ฒฝ์šฐ ์œ„ ๋ฐฉ๋ฒ•์ด ์–ด๋ ต๊ฑฐ๋‚˜ ๋น„ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์–ด ๋‹ค์Œ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

  1. QR ์•Œ๊ณ ๋ฆฌ์ฆ˜: ํฐ ํ–‰๋ ฌ์˜ ๊ณ ์œ ๊ฐ’์„ ์ˆ˜์น˜์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ํšจ์œจ์ ์ด๋‹ค
  2. ๋ฉฑ์Šน๋ฒ•(Power method): ๊ฐ€์žฅ ํฐ ์ ˆ๋Œ“๊ฐ’์„ ๊ฐ–๋Š” ๊ณ ์œ ๊ฐ’๊ณผ ๊ทธ์— ๋Œ€์‘ํ•˜๋Š” ๊ณ ์œ ๋ฒกํ„ฐ๋ฅผ ์ฐพ๋Š”๋‹ค
  3. ์—ญ๋ฉฑ์Šน๋ฒ•(Inverse power method): ํŠน์ • ๊ฐ’ ๊ทผ์ฒ˜์˜ ๊ณ ์œ ๊ฐ’์„ ์ฐพ๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค

ํ–‰๋ ฌ $A = \begin{bmatrix} 1 & 2 & 0 \\ 0 & 3 & 0 \\ 2 & -4 & 2 \end{bmatrix}$์˜ ๊ณ ์œ ๊ฐ’๊ณผ ๊ณ ์œ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•ด๋ณด์ž.
๊ณ ์œ ๊ฐ’ ๊ตฌํ•˜๊ธฐ: ํŠน์„ฑ๋‹คํ•ญ์‹: $$\det(A - \lambda I) = \det\begin{bmatrix} 1-\lambda & 2 & 0 \\ 0 & 3-\lambda & 0 \\ 2 & -4 & 2-\lambda \end{bmatrix} = 0$$ ํ–‰๋ ฌ์‹ ๊ณ„์‚ฐ(์ฒซ ๋ฒˆ์งธ ์—ด ๊ธฐ์ค€ ์—ฌ์ธ์ˆ˜ ์ „๊ฐœ): $$\begin{align} &(1-\lambda)\det\begin{bmatrix} 3-\lambda & 0 \\ -4 & 2-\lambda \end{bmatrix} - 0 + 2\det\begin{bmatrix} 2 & 0 \\ 3-\lambda & 0 \end{bmatrix}\\ &= (1-\lambda)[(3-\lambda)(2-\lambda) - 0] + 2[0]\\ &= (1-\lambda)(3-\lambda)(2-\lambda) \end{align}$$ ๊ณ ์œ ๊ฐ’: $\lambda_1 = 1$, $\lambda_2 = 3$, $\lambda_3 = 2$
๊ณ ์œ ๋ฒกํ„ฐ ๊ตฌํ•˜๊ธฐ: $\lambda_1 = 1$์ผ ๋•Œ:
$(A - I)v = 0$ ํ’€๊ธฐ $\begin{bmatrix} 0 & 2 & 0 \\ 0 & 2 & 0 \\ 2 & -4 & 1 \end{bmatrix}\begin{bmatrix} v_1 \\ v_2 \\ v_3 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$ ํ•ด๊ณต๊ฐ„ ๊ตฌํ•˜๊ธฐ: $v_1 = \begin{bmatrix} -1 \\ 0 \\ \frac{1}{2} \end{bmatrix}$ ๋˜๋Š” ์ด์˜ ์Šค์นผ๋ผ ๋ฐฐ

$\lambda_2 = 3$์ผ ๋•Œ:
$(A - 3I)v = 0$ ํ’€๊ธฐ $\begin{bmatrix} -2 & 2 & 0 \\ 0 & 0 & 0 \\ 2 & -4 & -1 \end{bmatrix}\begin{bmatrix} v_1 \\ v_2 \\ v_3 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$ ํ•ด๊ณต๊ฐ„ ๊ตฌํ•˜๊ธฐ: $v_2 = \begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix}$ ๋˜๋Š” ์ด์˜ ์Šค์นผ๋ผ ๋ฐฐ

$\lambda_3 = 2$์ผ ๋•Œ:
$(A - 2I)v = 0$ ํ’€๊ธฐ $\begin{bmatrix} -1 & 2 & 0 \\ 0 & 1 & 0 \\ 2 & -4 & 0 \end{bmatrix}\begin{bmatrix} v_1 \\ v_2 \\ v_3 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$ ํ•ด๊ณต๊ฐ„ ๊ตฌํ•˜๊ธฐ: $v_3 = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}$ ๋˜๋Š” ์ด์˜ ์Šค์นผ๋ผ ๋ฐฐ

์œ„ ์—ฐ๋ฆฝ ๋ฐฉ์ •์‹์€ ๊ฐ€์šฐ์Šค-์กฐ๋˜ ์†Œ๊ฑฐ๋ฒ•์„ ์ ์šฉํ•˜์—ฌ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ํŠน์ด๊ฐ’ ๋ถ„ํ•ด(SVD)์™€์˜ ๊ด€๊ณ„

ํŠน์ด๊ฐ’ ๋ถ„ํ•ด๋Š” ๊ณ ์œ ๊ฐ’ ๋ถ„ํ•ด์˜ ์ผ๋ฐ˜ํ™”๋กœ, ์ •๋ฐฉํ–‰๋ ฌ์ด ์•„๋‹Œ ํ–‰๋ ฌ์—๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

SVD(ํŠน์ด๊ฐ’ ๋ถ„ํ•ด)๋Š” ์ž„์˜์˜ ํ–‰๋ ฌ A๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ธ ๊ฐœ์˜ ํ–‰๋ ฌ๋กœ ๋ถ„ํ•ดํ•ฉ๋‹ˆ๋‹ค. $$A = U\Sigma V^T$$

  • $U$ ์ •์˜: $A$ ํ–‰๋ ฌ์ด $m \times n$ ํฌ๊ธฐ๋ผ๋ฉด, $U$๋Š” $m \times m$ ํฌ๊ธฐ์˜ ์ง๊ตํ–‰๋ ฌ์ž…๋‹ˆ๋‹ค.
  • $\Sigma$ ์ •์˜: $\Sigma$๋Š” $m \times n$ ํฌ๊ธฐ์˜ ๋Œ€๊ฐํ–‰๋ ฌ์ธ๋ฐ, NumPy์—์„œ๋Š” ๋Œ€๊ฐ์›์†Œ๋งŒ 1์ฐจ์› ๋ฐฐ์—ด S๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • $V^T$ ์ •์˜: $V$๋Š” $n \times n$ ํฌ๊ธฐ์˜ ์ง๊ตํ–‰๋ ฌ์ด๋ฉฐ, $V^T$๋Š” ์ด์˜ ์ „์น˜ํ–‰๋ ฌ์ž…๋‹ˆ๋‹ค.

๋งŽ์€ ์‘์šฉ์—์„œ๋Š” ์ „์ฒด SVD ๋Œ€์‹  ์••์ถ•๋œ ํ˜•ํƒœ์ธ “์••์ถ•ํ˜• SVD”(compact SVD)๋‚˜ “์ ˆ๋‹จ SVD”(truncated SVD)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. $$A = U_r \Sigma_r V_r^T$$ ์—ฌ๊ธฐ์„œ $r$์€ ํ–‰๋ ฌ์˜ ๋žญํฌ์ด๊ณ , $U_r$์€ ์ฒ˜์Œ $r$๊ฐœ์˜ ์™ผ์ชฝ ํŠน์ด๋ฒกํ„ฐ, $\Sigma_r$์€ ์ฒ˜์Œ $r$๊ฐœ์˜ ํŠน์ด๊ฐ’์„ ํฌํ•จํ•˜๋Š” $r \times r$ ๋Œ€๊ฐํ–‰๋ ฌ, $V_r$์€ ์ฒ˜์Œ $r$๊ฐœ์˜ ์˜ค๋ฅธ์ชฝ ํŠน์ด๋ฒกํ„ฐ๋ฅผ ํฌํ•จํ•œ๋‹ค.

๊ณ ์œ ๊ฐ’ ๋ถ„ํ•ด์™€์˜ ๋น„๊ต

ํŠน์ด๊ฐ’ ๋ถ„ํ•ด (SVD) ๊ณ ์œ ๊ฐ’ ๋ถ„ํ•ด (Eigendecomposition)
๋ชจ๋“  ํ–‰๋ ฌ์— ์ ์šฉ ๊ฐ€๋Šฅ ์ •๋ฐฉํ–‰๋ ฌ์—๋งŒ ์ ์šฉ ๊ฐ€๋Šฅ
$A = U\Sigma V^T$ $A = PDP^{-1}$
$U$, $V$๋Š” ์ง๊ตํ–‰๋ ฌ $P$๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ง๊ตํ–‰๋ ฌ์ด ์•„๋‹˜
ํŠน์ด๊ฐ’์€ ํ•ญ์ƒ ์‹ค์ˆ˜์ด๊ณ  ์Œ์ด ์•„๋‹˜ ๊ณ ์œ ๊ฐ’์€ ๋ณต์†Œ์ˆ˜์ผ ์ˆ˜ ์žˆ์Œ
์ˆ˜์น˜์ ์œผ๋กœ ์•ˆ์ •์  ์ผ๋ถ€ ํ–‰๋ ฌ์—์„œ๋Š” ๋ถˆ์•ˆ์ •ํ•  ์ˆ˜ ์žˆ์Œ
import numpy as np

# ํ–‰๋ ฌ ์ •์˜
A = np.array([[4, 0, 3], [-3, -5, 0]])

# SVD ๊ณ„์‚ฐ
U, S, Vt = np.linalg.svd(A)

print("U =\n", U)
print("S =\n", S)  # ํŠน์ด๊ฐ’๋งŒ ๋ฐ˜ํ™˜
print("V^T =\n", Vt)

# ์› ํ–‰๋ ฌ ์žฌ๊ตฌ์„ฑ
S_matrix = np.zeros((A.shape[0], A.shape[1]))
np.fill_diagonal(S_matrix, S)
A_reconstructed = U @ S_matrix @ Vt

print("A_reconstructed =\n", A_reconstructed)