차원 축소(Dimensionality Reduction)는 데이터에 인코딩이나 변환을 적용하여 원본 데이터를 더 작게 줄이거나 '압축된' 형태로 표현하는 기법입니다. 압축된 데이터로부터 원본 데이터를 정보 손실 없이 완벽하게 복원할 수 있다면 이를 무손실(lossless) 축소라고 부르며, 반대로 복원된 데이터가 원본의 근사치에 불과하다면 손실(lossy) 축소라고 합니다.
그렇다면 손실 축소는 어떤 방법으로 수행될까요? 대표적인 두 가지 기법을 살펴보겠습니다.
1. 웨이블릿 변환(Wavelet Transform)
이산 웨이블릿 변환(Discrete Wavelet Transform, DWT)은 선형 신호 처리 기법으로, 데이터 벡터 X에 적용하면 수치적으로 다른 벡터 X′, 즉 웨이블릿 계수(wavelet coefficient)들로 변환합니다. 이때 원래 벡터와 변환된 벡터는 비슷한 길이를 가집니다. 데이터 축소 목적으로 이 기법을 활용할 때는 각 튜플(tuple)을 n차원 데이터 벡터, 즉 X = (x₁, x₂, …, xₙ)로 간주할 수 있으며, 이는 n개의 데이터베이스 속성에서 측정된 n개의 값에 해당합니다.
DWT는 사인(sine)과 코사인(cosine)을 기반으로 하는 신호 처리 기법인 이산 푸리에 변환(Discrete Fourier Transform, DFT)과 밀접한 관련이 있습니다. 그러나 일반적으로 DWT가 더 우수한 손실 압축 성능을 보여줍니다. 동일한 데이터 벡터에 대해 DWT와 DFT가 같은 수의 계수를 유지한다면, DWT 버전이 원본 데이터를 더 정확하게 근사하기 때문입니다. 따라서 동등한 근사 수준을 달성하는 데 DWT는 DFT보다 적은 저장 공간을 필요로 합니다.
웨이블릿 변환의 특징과 활용
웨이블릿 변환은 데이터 큐브(data cube)를 포함한 다차원 데이터에도 적용할 수 있습니다. 적용 방법은 첫 번째 차원에 변환을 수행한 뒤, 두 번째 차원에 이어서 적용하는 순차적 방식입니다. 이때 계산 복잡도는 큐브를 구성하는 셀(cell)의 수에 대해 선형(linear)이므로 효율적입니다.
또한 웨이블릿 변환은 희소(sparse)하거나 치우친(skewed) 데이터, 그리고 순서 속성을 가진 데이터에서 특히 좋은 성능을 발휘합니다. 실제로 웨이블릿 기반의 손실 압축은 현재 상용 표준인 JPEG 압축보다 우수하다고 알려져 있습니다. 이러한 장점 덕분에 지문 이미지 압축, 컴퓨터 비전(computer vision), 시계열 데이터 분석, 데이터 클렌징(data cleaning) 등 다양한 실무 분야에서 폭넓게 활용되고 있습니다.
2. 주성분 분석(Principal Component Analysis, PCA)
주성분 분석은 카후넨-뢰브(Karhunen-Loève, K-L) 방법이라고도 불립니다. 이 기법은 k ≤ n 조건을 만족하는 k개의 n차원 직교(orthogonal) 벡터를 탐색하여, 해당 벡터들이 데이터를 가장 잘 표현하도록 만듭니다.
구체적으로는 원본 데이터를 훨씬 작은 공간에 투영(projection)함으로써 차원 축소를 수행합니다. 더 작은 새로운 변수 집합을 생성해 여러 속성의 본질적인 정보를 하나로 결합하고, 원본 데이터를 이 축소된 집합 위에 투영하는 방식입니다. 이를 통해 데이터의 핵심 구조는 유지하면서 불필요한 차원을 효과적으로 제거할 수 있습니다.
정리
차원 축소는 대용량 데이터를 효율적으로 저장하고 처리하기 위한 필수 기술입니다. 무손실 방식은 원본을 그대로 복원할 수 있는 반면, 손실 방식인 웨이블릿 변환과 주성분 분석은 약간의 정보 손실을 감수하더라도 훨씬 작은 공간으로 데이터를 압축할 수 있다는 점에서 실무적으로 널리 사용됩니다. 데이터의 특성과 분석 목적에 맞는 기법을 선택하는 것이 중요합니다.