차원 축소는 머신 러닝에서 사용되는 기술로 데이터셋의 변수나 특징 수를 줄이면서 대부분의 정보를 보존하는 기술입니다. 특히 변수의 수가 많은 데이터셋에서 문제를 단순화하고 분석을 용이하게 하는 데 유용합니다.
차원 축소의 기본 아이디어는 원래의 고차원 데이터를 중요한 정보 대부분을 보존하는 저차원 공간으로 변환하는 것입니다. 이는 특징 선택과 특징 추출 두 가지 주요 접근 방식을 통해 수행할 수 있습니다.
특징 선택은 분석에 사용할 원래 특징의 하위 집합을 선택하고 나머지는 삭제하는 것을 의미합니다. 이는 통계 검정 또는 전문가 지식과 같은 다양한 기준을 사용하여 수행할 수 있습니다.
반면에, 특징 추출은 원래 특징을 데이터에서 중요한 정보를 포착하는 새로운 특징 집합으로 변환하는 것을 의미합니다. 이는 주성분 분석 (PCA)과 같은 기술을 사용하여 데이터의 분산을 가장 잘 설명하는 원래 변수들의 선형 조합을 식별하거나, t-SNE과 같은 비선형 기술을 사용하여 데이터의 지역 구조를 보존하는 것으로 수행할 수 있습니다.
차원 축소의 이점은 계산 효율성이 향상되고 저장 요구 사항이 감소하며, 과적합의 위험을 줄이기 위해 모델 성능이 향상될 수 있다는 것입니다. 그러나 차원 축소는 정보 손실을 초래할 수 있으며, 모든 유형의 데이터나 분석 작업에 항상 적합하지는 않을 수 있습니다.
일명 경제성의 원리(Principle of economy) 또는 단순성의 원리라고 불리는 오컴의 면도날(Ocam’s Razor) 이론이 있습니다. 특정 현상을 설명하기 위한 논리적으로 타당한 여러 방식이 있다면, 가장 단순한 방식이 최적의 방식임을 설명하는 이론입니다. 머신러닝 관점에서 해석하자면 특정 task를 수행하기 위해 많은 변수들이 필요가 없다면 가능한 적은 수의 변수를 유지하는 것이 경제적이고 효과적이라고 할 수 있습니다.
차원의 저주는 머신러닝에서 고차원 데이터를 다룰 때 발생하는 문제입니다. 고차원 공간에서는 차원의 수가 증가함에 따라 공간의 부피가 기하급수적으로 증가하므로 데이터가 희소(sparse)해집니다.
이러한 데이터의 희소성(sparsity)은 과적합 및 복잡성과 같은 머신러닝 문제를 야기할 수 있습니다. 수학적으로 차원의 저주는 n차원 초정육면체의 부피가 $n^d$ 함수로 증가함을 보여줍니다. 차원의 수가 증가함에 따라 부피가 기하급수적으로 증가하므로 머신러닝에서는 모델을 학습하거나 예측하는 데 어려움을 겪을 수 있습니다.
이러한 문제를 해결하기 위해 차원 축소 기법을 적용하여 고차원 데이터를 저차원으로 압축하거나, 변수 선택 기법을 사용하여 주요 변수를 선별할 수 있습니다.
차원 축소의 목적은 다음과 같습니다.