< Index >
- Eigenvalues & Eigenvectors
=> ์ค์ ์์ฉ: ๊ตฌ๊ธ์ 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$: ๊ณ ์ ๋ฒกํฐ๋ ์๋ฒกํฐ๋ก ๋งคํ๋๋ค
์ฃผ์ ์ฑ์ง
- $n \times n$ ํ๋ ฌ์ ์ต๋ $n$๊ฐ์ ์๋ก ๋ค๋ฅธ ๊ณ ์ ๊ฐ์ ๊ฐ์ง๋ค.
- ๋์นญํ๋ ฌ($A = A^T$)์ ๋ชจ๋ ๊ณ ์ ๊ฐ์ ์ค์์ด๋ค.
- ์ง๊ตํ๋ ฌ($A^TA = I$)์ ๋ชจ๋ ๊ณ ์ ๊ฐ์ ์ ๋๊ฐ์ 1์ด๋ค.
- ํ๋ ฌ $A$์ ๋๊ฐํฉ(trace)์ ๋ชจ๋ ๊ณ ์ ๊ฐ์ ํฉ๊ณผ ๊ฐ๋ค: $\text{tr}(A) = \sum_{i=1}^{n} \lambda_i$
- ํ๋ ฌ $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$ ์ด์์ ํ๋ ฌ์ ๋ํด์๋ ์ด๋ป๊ฒ ๊ณ ์ ๊ฐ๊ณผ ๊ณ ์ ๋ฒกํฐ๋ฅผ ๊ตฌํ ์ ์์๊น?
- ํน์ฑ๋คํญ์ ์ค์ : $\det(A - \lambda I) = 0$
- ํ๋ ฌ์ ๊ณ์ฐ: 3ร3 ์ด์ ํ๋ ฌ์ ํ๋ ฌ์์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ณ์ฐํ๋ค.
- ์ฌ์ธ์ ์ ๊ฐ(cofactor expansion)
- ํ ์ฐ์ฐ์ ํตํ ์์ผ๊ฐ/ํ์ผ๊ฐ ํ๋ ฌ๋ก์ ๋ณํ
- ๋คํญ์ ๊ทผ ๊ตฌํ๊ธฐ: ํน์ฑ๋คํญ์์ ๊ทผ์ด ํ๋ ฌ์ ๊ณ ์ ๊ฐ์ด๋ค.
๊ทธ๋ฐ ๋ค์, ์ด์ ๊ณ ์ ๋ฒกํฐ๋ฅผ ๊ตฌํด์ฃผ๋ฉด ๋๋ค.
- ์ฐ๋ฆฝ๋ฐฉ์ ์ ์ค์ : $(A - \lambda I)v = 0$
- ๊ธฐ์ฝํ์ฌ๋ค๋ฆฌ๊ผด(RREF)๋ก ๋ณํ: ๊ฐ์ฐ์ค-์กฐ๋ ์๊ฑฐ๋ฒ ์ ์ฉ
- ํด๊ณต๊ฐ(null space) ๊ตฌํ๊ธฐ: ๊ธฐ์ ๋ฒกํฐ๋ค์ด ๊ณ ์ ๋ฒกํฐ์ด๋ค.
์ค์ ํ๋ ฌ์ด ํฐ ๊ฒฝ์ฐ ์ ๋ฐฉ๋ฒ์ด ์ด๋ ต๊ฑฐ๋ ๋นํจ์จ์ ์ผ ์ ์์ด ๋ค์์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค.
- QR ์๊ณ ๋ฆฌ์ฆ: ํฐ ํ๋ ฌ์ ๊ณ ์ ๊ฐ์ ์์น์ ์ผ๋ก ๊ณ์ฐํ๋ ๋ฐ ํจ์จ์ ์ด๋ค
- ๋ฉฑ์น๋ฒ(Power method): ๊ฐ์ฅ ํฐ ์ ๋๊ฐ์ ๊ฐ๋ ๊ณ ์ ๊ฐ๊ณผ ๊ทธ์ ๋์ํ๋ ๊ณ ์ ๋ฒกํฐ๋ฅผ ์ฐพ๋๋ค
- ์ญ๋ฉฑ์น๋ฒ(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)
...