STUDY_SEONMIN

DAY16 - 특이값 분해 본문

EDUCATION/DSS Online 6기

DAY16 - 특이값 분해

Kululu_ 2021. 2. 3. 15:44

고유분해는 정방행렬에 대해서만 가능했지만, 특이분해는 모든 행렬에 대해서 가능하다.

 

특이값 분해

$N \times M$ 크기의 행렬 $A$를 다음과 같은 3개의 행렬의 곱으로 나타내는 것을 특이값 분해라고 한다.

$$ A = U\Sigma V^T ,\quad U \in R^{N\times N},\quad \Sigma \in R^{N\times M},\quad V \in R^{M \times M}$$

$$ U와 V는\ 정규직교행렬,\quad \Sigma는\ 대각\ 성분이\ 모두\ 양수인\ 대각행렬 $$

 

특이값 : $\Sigma$의 대각 성분

왼쪽 특이벡터 : $U$의 열벡터

오른쪽 특이벡터 : $V$의 열벡터

 

특이값 분해 행렬의 크기

특이값의 개수는 행렬의 행과 열의 개수 중 작은 값과 같다.

$A \in R^{N\times M}$ 일 때 만약 $N \gt M$이라면 $M$개의 특이값을 가지고 다음과 같이 나타내진다.

$$\begin{split} 
\begin{align}
A = \begin{bmatrix}
\boxed{\begin{matrix} \\ \\ \\ \\ \\ \, u_1 \, \\ \\ \\ \\ \\ \\ \end{matrix}} \!\!\!\!& 
\boxed{\begin{matrix} \\ \\ \\ \\ \\ \, u_2 \, \\ \\ \\ \\ \\ \\ \end{matrix}} \!\!\!\!& 
\boxed{\begin{matrix} \\ \\ \\ \\ \\ \, u_3 \, \\ \\ \\ \\ \\ \\ \end{matrix}} \!\!\!\!& 
\cdots \!\!\!\!& 
\boxed{\begin{matrix} \\ \\ \\ \\ \\  u_M  \\ \\ \\ \\ \\ \\ \end{matrix}} \!\!\!\!&
\cdots \!\!\!\!& 
\boxed{\begin{matrix} \\ \\ \\ \\ \\ u_N \\ \\ \\ \\ \\ \\ \end{matrix}} 
\end{bmatrix}
\begin{bmatrix}
\boxed{\sigma_1 \phantom{\dfrac{}{}} \!\!} & 0 & 0 & \cdots & 0 \\
0 & \boxed{\sigma_2 \phantom{\dfrac{}{}} \!\!} & 0 & \cdots & 0 \\
0 & 0 & \boxed{\sigma_3 \phantom{\dfrac{}{}} \!\!} & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots \\
0 & 0 & 0 & \cdots & \boxed{\sigma_M \phantom{\dfrac{}{}} \!\!} \\
0 & 0 & 0 & \cdots & 0 \\
\vdots & \vdots & \vdots &  & \vdots \\
0 & 0 & 0 & \cdots & 0 \\
\end{bmatrix}
\begin{bmatrix}
\boxed{\begin{matrix} & & & v_1^T & & & \end{matrix}} \\ 
\boxed{\begin{matrix} & & & v_2^T & & & \end{matrix}} \\ 
\vdots \\ 
\boxed{\begin{matrix} & & & v_M^T & & & \end{matrix}} \\ 
\end{bmatrix}
\end{align}
\end{split}$$

 

만약 $ M \gt N $이라면 $N$개의 특이값을 가지고 다음과 같이 나타내진다.

$$\begin{split} 
\begin{align}
A = \begin{bmatrix}
\boxed{\begin{matrix} \\ \\ \\ \, u_1 \, \\ \\ \\ \\ \end{matrix}} \!\!\!\!& 
\boxed{\begin{matrix} \\ \\ \\ \, u_2 \, \\ \\ \\ \\ \end{matrix}} \!\!\!\!& 
\cdots \!\!\!\!& 
\boxed{\begin{matrix} \\ \\ \\ u_N \\ \\ \\ \\ \end{matrix}} 
\end{bmatrix}
\begin{bmatrix}
\boxed{\sigma_1 \phantom{\dfrac{}{}} \!\!} & 0 & 0 & \cdots & 0 & 0 & \cdots & 0 \\
0 & \boxed{\sigma_2 \phantom{\dfrac{}{}} \!\!} & 0 & \cdots & 0 & 0 & \cdots & 0 \\
0 & 0 & \boxed{\sigma_3 \phantom{\dfrac{}{}} \!\!} & \cdots & 0 & 0 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots & \vdots & & \vdots \\
0 & 0 & 0 & \cdots & \boxed{\sigma_N \phantom{\dfrac{}{}} \!\!} & 0 & \cdots & 0 \\
\end{bmatrix}
\begin{bmatrix}
\boxed{\begin{matrix} \quad & \quad & \quad & v_1^T & \quad & \quad & \quad \end{matrix}} \\ 
\boxed{\begin{matrix} \quad & \quad & \quad & v_2^T & \quad & \quad & \quad \end{matrix}} \\ 
\boxed{\begin{matrix} \quad & \quad & \quad & v_3^T & \quad & \quad & \quad \end{matrix}} \\ 
\vdots \\ 
\boxed{\begin{matrix} \quad & \quad & \quad & v_N^T & \quad & \quad & \quad \end{matrix}} \\ 
\vdots \\ 
\boxed{\begin{matrix} \quad & \quad & \quad & v_M^T & \quad & \quad & \quad \end{matrix}} \\ 
\end{bmatrix}
\end{align}
\end{split}$$

 

 

특이값 분해의 축소형

특이값 행렬 $\Sigma$에서 0인 부분은 아무런 의미가 없기 때문에 그에 대응하는 왼쪽 또는 오른쪽 특이벡터들을 없애고 축소된 형태로 나타낼 수 있다.

 

$$ A \in R^{N\times M} $$

 

$N \gt M$일 경우 왼쪽 특이벡터 중 $u_{m+1},\dots,u_N$을 없앤다. 

$$\begin{split} 
\begin{align}
A = \begin{bmatrix}
\boxed{\begin{matrix} \\ \\ \\ \\ \\ \, u_1 \, \\ \\ \\ \\ \\ \\ \end{matrix}} \!\!\!\!& 
\boxed{\begin{matrix} \\ \\ \\ \\ \\ \, u_2 \, \\ \\ \\ \\ \\ \\ \end{matrix}} \!\!\!\!& 
\cdots \!\!\!\!& 
\boxed{\begin{matrix} \\ \\ \\ \\ \\  u_M  \\ \\ \\ \\ \\ \\ \end{matrix}} \!\!\!\!&
\end{bmatrix}
\begin{bmatrix}
\boxed{\sigma_1 \phantom{\dfrac{}{}} \!\!} & 0 & 0 & \cdots & 0 \\
0 & \boxed{\sigma_2 \phantom{\dfrac{}{}} \!\!} & 0 & \cdots & 0 \\
0 & 0 & \boxed{\sigma_3 \phantom{\dfrac{}{}} \!\!} & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots \\
0 & 0 & 0 & \cdots & \boxed{\sigma_M \phantom{\dfrac{}{}} \!\!} \\
\end{bmatrix}
\begin{bmatrix}
\boxed{\begin{matrix} & & & v_1^T & & & \end{matrix}} \\ 
\boxed{\begin{matrix} & & & v_2^T & & & \end{matrix}} \\ 
\vdots \\ 
\boxed{\begin{matrix} & & & v_M^T & & & \end{matrix}} \\ 
\end{bmatrix}
\end{align}
\end{split}$$

 

$ M \gt N$일 경우 오른쪽 특이벡터 중 $v_{N+1},\dots,v_M$을 없앤다.

$$\begin{split} 
\begin{align}
A = \begin{bmatrix}
\boxed{\begin{matrix} \\ \\ \\ \, u_1 \, \\ \\ \\ \\ \end{matrix}} \!\!\!\!& 
\boxed{\begin{matrix} \\ \\ \\ \, u_2 \, \\ \\ \\ \\ \end{matrix}} \!\!\!\!& 
\cdots \!\!\!\!& 
\boxed{\begin{matrix} \\ \\ \\ u_N \\ \\ \\ \\ \end{matrix}} 
\end{bmatrix}
\begin{bmatrix}
\boxed{\sigma_1 \phantom{\dfrac{}{}} \!\!} & 0 & 0 & \cdots & 0 \\
0 & \boxed{\sigma_2 \phantom{\dfrac{}{}} \!\!} & 0 & \cdots & 0  \\
0 & 0 & \boxed{\sigma_3 \phantom{\dfrac{}{}} \!\!} & \cdots & 0  \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \boxed{\sigma_N \phantom{\dfrac{}{}} \!\!}  \\
\end{bmatrix}
\begin{bmatrix}
\boxed{\begin{matrix} \quad & \quad & \quad & v_1^T & \quad & \quad & \quad \end{matrix}} \\ 
\boxed{\begin{matrix} \quad & \quad & \quad & v_2^T & \quad & \quad & \quad \end{matrix}} \\ 
\vdots \\ 
\boxed{\begin{matrix} \quad & \quad & \quad & v_N^T & \quad & \quad & \quad \end{matrix}} \\ 
\end{bmatrix}
\end{align}
\end{split}$$

 

 

특이값과 특이벡터의 관계

$$ A = U\Sigma V^T $$

$$ AV = U\Sigma V^TV = U\Sigma $$

$$ Av_i = \sigma_iu_i \quad (i = 1,\ 2,\dots,\ min(N,M))$$

 

 

특이분해와 고유분해의 관계

특이분해는 모든 행렬에 대해 가능하고, 고유분해는 정방행렬에 대해서만 가능하다.

임의의 행렬 $A \in R^{N\times M}$에 대하여 $ A = U\Sigma V^T $로 나타낼 수 있다.

 

또한 분산행렬 $A^TA = V\Lambda V^T$로 나타낼 수 있는데 특이분해를 이용해 분산행렬을 구해보면 다음과 같은 관계가 성립한다.

 

$$ A^TA = V\Sigma^T U^T U\Sigma V^T = V\Sigma^T\Sigma V^T = V\Lambda V^T $$

 

위 식에서 $N \gt M$일 경우

$$ \Sigma^T \Sigma =  \begin{bmatrix} \sigma_1^2 & 0 & \cdots & 0 \\ 0 & \sigma_2^2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \sigma_M^2 \\ \end{bmatrix} = \Lambda $$

 

위 식에서 $M \gt N$일 경우

$$ \Sigma^T\Sigma = \begin{bmatrix}
\sigma_1^2 & 0 & \cdots & 0 & \cdots & 0 \\
0 & \sigma_2^2 & \cdots & 0 & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\
0 & 0 & \cdots & \sigma_N^2 & \cdots & 0 \\
\vdots & \vdots & \cdots & \vdots & \ddots & \vdots \\
0 & 0 & \cdots & 0 & \cdots & 0 \\
\end{bmatrix} = \Lambda$$

'EDUCATION > DSS Online 6기' 카테고리의 다른 글

DAY17 - PCA  (0) 2021.02.06
DAY17 - K차원 근사  (0) 2021.02.04
DAY16 - 분산행렬의 고유분해  (0) 2021.02.03
DAY16 - 대칭행렬의 고유분해  (0) 2021.02.03
DAY16 - 고유값 분해  (0) 2021.02.03
Comments