차원 축소 기법은 크게 Feature Selection과 Feature Extraction으로 나눌 수 있습니다.
Feature Selection은 말 그대로 데이터의 특징을 잘 표현하는 주요 피쳐만 선택하는 방법입니다.
Feature Extraction은 기존 feature를 저차원으로 매핑하여 feature를 함축적으로 잘 설명할 수 있도록 하는 방법입니다.
대표적인 방법으로는 PCA, LDA, t-SNE 가 있습니다.
▮ PCA
데이터를 축에 사영했을 때 가장 높은 분산을 가지는 데이터의 축을 찾아 그 축으로 차원을 축소하는 것인데, 이 축을 주성분이라고 말합니다.
사영했을 때 분산이 크다는 것은 원래 데이터의 분포를 잘 설명할 수 있다는 것을 뜻하고 정보의 손실을 최소화 할 수 있다는 것을 뜻합니다.
▮ LDA
LDA는 PCA와 유사하게 입력 데이터 세트를 저차원 공간에 투영해 차원을 축소하는 기법이지만,
Classification에서 사용하기 쉽도록 개별 클래스를 분별할 수 있는 기준을 최대한 유지하면서 차원을 축소합니다.
즉, PCA는 입력 데이터의 분산이 가장 큰 축을 찾았지만, LDA는 입력 데이터의 결정 값 클래스를 최대한으로 분리할 수 있는 축을 찾습니다.
▮ t-SNE
PCA는 전체 데이터에 대해서 선형변환을 적용해 분산이 큰 축을 뽑아내기 때문에 고차원 데이터의 복잡한 관계를 저차원으로 매핑하는 능력이 부족합니다.
t-SNE는 이러한 문제점을 해결하고자 만들어진 고차원의 벡터의 유사성이 저차원에서도 유사하도록 보존하는 방법입니다.
t-SNE는 이름에서처럼 t 분포를 이용하여 하나의 기준점을 정하고 모든 다른 데이터와 거리를 구한뒤에 그 값에 해당하는 t분포값을 선택하여 값이 유사한 데이터끼리 묶어주는 방식입니다.
단점으로는 데이터개수가 n개라면 연산량은 n의 제곱만큼 늘어나므로 시간이 오래걸립니다.