특잇값 분해

AI
qwen-3-235b-a22b-instruct-2507
작성자
익명
작성일
2025.10.12
조회수
13
버전
v1

특잇값 분해

특잇값 분해(Singular Value Decomposition, S)는 선형수학에서 행렬을 세 개의별한 행렬로 분해하는 기법으로, 데이터 과학, 기계 학습, 신호 처리, 이미지 압축 등 다양한 분야에서 핵심적인 역할을 하는 수학적 도구이다. 임의의 실수 또는 복소수 행렬에 대해 적용할 수 있으며, 행렬의 구조를 명확히 이해하고 차원을 축소하거나 노이즈를 제거하는 데 유용하다.


개요

특잇값 분해는 $ m \times n $ 크기의 행렬 $ A $를 다음과 같은 형태로 분해하는 것을 말한다:

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

여기서: - $ U $는 $ m \times m $ 크기의 유니터리 행렬(실수일 경우 직교행렬)로, $ A A^* $의 고유벡터로 구성된다. - $ \Sigma $는 $ m \times n $ 크기의 대각행렬로, 대각선 상에 있는 비음수 실수 값을 특잇값(singular values)이라 한다. - $ V^* $는 $ n \times n $ 크기의 유니터리 행렬 $ V $의 켤레 전치(복소수일 경우), 실수일 경우 단순 전치 $ V^T $이다. $ V $는 $ A^* A $의 고유벡터로 구성된다.

특잇값은 일반적으로 내림차순으로 정렬되며, $ \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0 $ ($ r $는 행렬의 계수)의 형태를 가진다.


수학적 배경

고유값 분해와의 비교

특잇값 분해는 고유값 분해(Eigenvalue Decomposition, EVD)와 유사하지만, 다음과 같은 차이점이 있다: - 고유값 분해는 정방행렬(square matrix)에만 적용 가능하며, 대각화 가능한 조건이 필요하다. - 특잇값 분해는 임의의 직사각형 행렬(rectangular matrix)에도 적용 가능하며, 항상 존재한다.

즉, $ A $가 정방행렬이 아니거나 대칭이 아닐 경우에도 SVD는 항상 존재한다. 이 점에서 SVD는 고유값 분해보다 더 일반적인 분해 기법이다.


분해의 구성 요소

1. 왼쪽 특이벡터 (U)

행렬 $ U $의 열벡터는 $ A A^* $의 고유벡터이며, 왼쪽 특이벡터(left singular vectors)라고 부른다. 이들은 $ m $차원 공간에서 $ A $의 출력 방향을 나타낸다.

2. 특잇값 (Σ)

대각행렬 $ \Sigma $의 대각 원소 $ \sigma_i $는 $ A^* A $ 또는 $ A A^* $의 고유값의 제곱근이다. 즉:

$$ \sigma_i = \sqrt{\lambda_i(A^* A)} = \sqrt{\lambda_i(A A^*)} $$

특잇값은 행렬 $ A $의 "크기" 또는 "영향력"을 나타내며, 큰 특잇값은 데이터의 주요 정보를 담고 있다.

3. 오른쪽 특이벡터 (V)

행렬 $ V $의 열벡터는 $ A^* A $의 고유벡터이며, 오른쪽 특이벡터(right singular vectors)라고 한다. 이들은 입력 공간에서 $ A $의 주요 방향을 나타낸다.


응용 분야

1. 차원 축소 (Dimensionality Reduction)

SVD는 주성분 분석(PCA)과 밀접한 관련이 있다. PCA는 공분산 행렬의 고유값 분해를 사용하지만, 데이터 행렬 자체에 SVD를 적용하면 동일한 결과를 얻을 수 있다. 특히, 큰 특잇값에 대응하는 특이벡터만을 선택함으로써 데이터의 주요 정보를 보존하면서 차원을 줄일 수 있다.

2. 이미지 압축

이미지를 행렬로 표현하고 SVD를 적용하면, 적은 수의 특잇값과 특이벡터로 이미지를 근사할 수 있다. 예를 들어, $ A \approx U_k \Sigma_k V_k^T $로 근사하면, 저장 공간을 크게 줄일 수 있다.

3. 추천 시스템

협업 필터링 기반의 추천 시스템에서 SVD는 사용자-아이템 평점 행렬을 분해하여 숨겨진 요인(latent factors)을 추출하는 데 사용된다. 이 기법은 저랭크 근사(low-rank approximation)를 통해 누락된 평점을 예측한다.

4. 의사역행렬 계산

SVD를 이용하면 무어-펜로즈 의사역행렬(Moore-Penrose pseudoinverse)을 쉽게 계산할 수 있다. 행렬 $ A $의 의사역행렬 $ A^+ $는 다음과 같이 구해진다:

$$ A^+ = V \Sigma^+ U^* $$

여기서 $ \Sigma^+ $는 $ \Sigma $에서 0이 아닌 특잇값의 역수를 취하고 전치한 행렬이다.


예시

다음과 같은 행렬 $ A $를 생각해보자:

$$ A = \begin{bmatrix} 3 & 0 \\ 4 & 5 \end{bmatrix} $$

이 행렬의 SVD를 계산하면, $ U $, $ \Sigma $, $ V^T $를 얻을 수 있으며, 이를 통해 $ A $의 기하학적 변환 성질을 분석할 수 있다. 계산 과정은 $ A^T A $와 $ A A^T $의 고유값과 고유벡터를 구하는 것으로 시작된다.


참고 자료 및 관련 문서

참고 문헌:
- Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations. Johns Hopkins University Press.
- Strang, G. (2016). Introduction to Linear Algebra. Wellesley-Cambridge Press.


특잇값 분해는 현대 수학과 공학에서 없어서는 안 될 핵심 도구로, 복잡한 데이터 구조를 해석하고 처리하는 데 강력한 수학적 기반을 제공한다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?