SVD (Singular Value Decomposition)

Heejin·2023년 5월 30일
0

특이값 분해(Singular Value Decomposition, SVD)는 행렬을 세 개의 행렬의 곱으로 분해하는 기법이다. SVD는 선형 대수학의 중요한 도구로 사용되며, 차원 축소, 행렬 근사, 잡음 제거 등 다양한 분야에서 유용하게 활용된다.

주어진 행렬 A에 대한 SVD는 다음과 같이 표현된다:
A = UΣV^T

여기서 U와 V는 직교행렬(orthogonal matrix)이며, Σ는 대각행렬(diagonal matrix)이다. 직교행렬은 열벡터와 행벡터가 서로 직교하고 단위 벡터인 행렬을 말하며, 대각행렬은 비대각 요소가 모두 0이고 대각 요소가 특이값(singular value)으로 이루어진 행렬이다.

SVD의 주요 의미는 다음과 같다:

  1. 차원 축소: SVD를 사용하여 주어진 행렬 A를 저차원으로 근사할 수 있다. 대각행렬 Σ에서 특이값이 작은 순서대로 차원을 축소할 수 있다. 이를 통해 중요한 정보를 유지하면서 차원을 줄일 수 있다.

  2. 행렬 근사: 특이값의 크기에 따라 행렬 A를 근사적으로 표현할 수 있다. 특이값이 작은 부분을 제거하면서 원본 행렬의 근사치를 구할 수 있다. 이를 통해 데이터 압축이나 잡음 제거에 활용될 수 있다.

  3. 역행렬 및 의사역행렬 계산: SVD는 역행렬 및 의사역행렬(pseudoinverse)을 계산하는 데 사용다. 역행렬은 정방행렬에 대해서만 존재하지만, SVD를 사용하면 정방행렬이 아닌 행렬에 대해서도 유사 역행렬을 계산할 수 있다.

SVD는 머신 러닝, 이미지 처리, 자연어 처리 등 다양한 분야에서 활용되며, 행렬의 내재된 구조와 패턴을 이해하고 데이터를 효과적으로 처리하는 데에 도움을 준다.

0개의 댓글