특이값 분해(SVD)의 뜻과 의미 개념 알아보기

특이값 분해(Singular Value Decomposition, SVD)는 모든 형태의 행렬을 세 개의 특수한 행렬의 곱으로 분해하는 선형대수의 강력한 도구입니다. 이 방법은 이미지 압축, 추천 시스템, 자연어 처리, 차원 축소 등 다양한 분야에서 핵심적인 역할을 하며, 행렬의 구조를 깊이 있게 분석할 수 있게 해줍니다. 이번 글에서는 SVD의 정의, 수학적 의미, 계산 절차, 그리고 응용 분야를 직관적으로 설명합니다.

1. SVD란 무엇인가?

임의의 \( m \times n \) 행렬 \( A \)에 대해, SVD는 다음과 같이 분해할 수 있습니다:

\[ A = U \Sigma V^T \]

  • \( U \in \mathbb{R}^{m \times m} \): 열벡터가 A의 왼쪽 특이벡터, 직교행렬
  • \( \Sigma \in \mathbb{R}^{m \times n} \): 대각 성분만을 가진 행렬 (특이값)
  • \( V^T \in \mathbb{R}^{n \times n} \): 행벡터가 A의 오른쪽 특이벡터, 직교행렬

2. 수학적 의미

2-1. 특이값

\( \Sigma \)의 대각 원소 \( \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0 \)는 행렬의 크기를 나타내는 양이며, 고유값과 밀접한 관련이 있습니다.

2-2. 벡터 공간의 기저 변환

SVD는 다음과 같은 과정을 수학적으로 보여줍니다:

  1. 입력 벡터 공간을 \( V \)에 의해 회전
  2. 스케일링(늘리거나 줄임)을 \( \Sigma \)로 수행
  3. 출력 벡터 공간을 \( U \)에 의해 다시 회전

2-3. 대칭이 아닌 행렬의 분해

SVD는 고유값 분해와 달리, 정방행렬이 아니어도 적용 가능합니다.

3. SVD의 계산 절차

Step 1: \( A^T A \) 계산

\( A^T A \)는 항상 대칭이며, 고유값과 고유벡터를 구할 수 있습니다. 그 고유벡터는 \( V \)의 열이 됩니다.

Step 2: 특이값 \( \sigma_i \)

\[ \sigma_i = \sqrt{\lambda_i} \]

여기서 \( \lambda_i \)는 \( A^T A \)의 고유값

Step 3: \( U \) 계산

\[ U_i = \frac{1}{\sigma_i} A V_i \]

4. 예제

\[ A = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} \]

이 행렬에 대해 SVD를 수행하면:

\[ A = U \Sigma V^T = \begin{bmatrix} \cdots \end{bmatrix} \]

(자세한 수치는 생략)

5. 응용 분야

5-1. 이미지 압축

이미지의 픽셀 행렬을 SVD로 분해 후, 상위 \( k \)개의 특이값만 보존하면 품질을 유지하면서 압축 가능

5-2. 차원 축소

고차원 데이터에서 주요 정보를 보존하면서 저차원으로 축소 (PCA와 동일 원리)

5-3. 자연어 처리 (LSA)

단어-문서 행렬을 SVD로 분해하여 의미 공간(latent semantic space)을 구성

5-4. 추천 시스템

사용자-아이템 평점 행렬을 분해해 잠재 요인 기반 추천 모델 생성

5-5. 선형 방정식 근사 해

정사각이 아니거나 역행렬이 존재하지 않는 시스템에서 최소제곱 해 구할 때 활용

결론

SVD는 모든 형태의 행렬을 분석적으로 분해할 수 있는 매우 강력한 도구로, 그 수학적 원리는 선형 변환의 회전 + 스케일 조합으로 이해할 수 있습니다.

특이값은 행렬의 본질적인 크기 정보, \( U \)와 \( V \)는 입력/출력 공간의 방향을 의미하며, 이 구조는 다양한 계산 및 분석 문제를 정밀하게 해결하는 데 활용됩니다.

SVD를 이해하고 활용하면 데이터 과학, 기계학습, 신호처리 등 다양한 분야에서 한 차원 높은 통찰을 얻을 수 있습니다.