- 참고 자료
- 선형대수학(2-1)
- LG AI연구원
선형대수학과 데이터 과학에서 데이터 차원 축소, 노이즈 제거, 특징 추출 등을 위해 가장 널리 사용되는 두 가지 핵심 기법
1. SVD
- SVD (Singular Value Decomposition, 특이값 분해)
- 행렬 분해(Matrix Factorization) 기법 중 하나
- 임의의 차원 행렬 를 세 개의 행렬의 곱으로 분해하는 방법
- 정방행렬(Square Matrix)이 아닌 직사각형 행렬에도 적용할 수 있다는 점이 특징
1.1. 구성
-
(Left Singular Vectors, 좌특이벡터 행렬)
- 크기의 직교행렬(Orthogonal Matrix, )
- 의 고유벡터(Eigenvectors)들로 구성되며, 열 벡터들은 서로 직교한다.
-
(Singular Values, 특이값 행렬)
- 크기의 대각행렬(Diagonal Matrix)
- 대각 성분에는 의 특이값(Singular Values)이 내림차순으로 정렬되어 들어간다.
- 이 특이값들은 해당 방향으로 데이터가 얼마나 퍼져 있는지(스케일링 정도)를 나타낸다.
-
(Right Singular Vectors, 우특이벡터 행렬의 전치)
- 는 크기의 직교행렬()
- 의 고유벡터들로 구성된다.
1.2. 기하학적 의미
- SVD는 어떤 선형 변환(행렬 )을 행하더라도,
- 이를 **회전(Rotation, ) 스케일링(Scaling, ) 회전(Rotation, )**의 세 단계로 쪼개어 설명할 수 있음을 의미한다.
cf. Truncated SVD (절단된 SVD)
- SVD를 실무에 적용할 때는 전체 특이값 중 가장 크기가 큰 개만 남기고 나머지를 버리는 Truncated SVD를 주로 사용한다.
- 이를 통해 원본 행렬을 완벽하게 복원할 수는 없지만, 가장 중요한 정보(큰 분산)만 보존하면서 데이터의 크기를 대폭 줄일 수 있다.
- (추천 시스템, 이미지 압축 등에 활용)