차원 축소 (통계학)

**차원 축소**(dimensionality reduction, dimension reduction)는 데이터를 고차원 공간에서 저차원 공간으로 변환하여, 저차원 표현이 원래 데이터의 일부 의미 있는 특성을 보존하도록 하는 과정이다. 이상적으로는 에 가깝게 정보를 보존한다. 고차원 공간에서 작업하는 것은 여러 이유로 바람직하지 않을 수 있는데, 원시 데이터는 종종 희소 행렬이 되며 이는 차원의 저주 때문이다. 또한 이러한 데이터 분석은 보통 계산적으로 매우 어렵다. 차원 축소는 신호 처리, 음성 인식, 신경정보학, 생물정보학 등 많은 관측치 또는 변수의 수가 많은 분야에서 흔히 사용된다.

방법론은 일반적으로 선형과 비선형 접근법으로 나뉜다. 선형 방법은 다시 특징 선택과 특징 추출로 구분할 수 있다. 차원 축소는 노이즈 감소, 데이터 시각화, 군집 분석, 또는 다른 분석을 용이하게 하는 중간 단계로 활용될 수 있다.

## 특징 선택

특징 선택(feature selection)은 주어진 작업에 적합한 입력 변수(특징, 속성)의 부분 집합을 찾는 과정이다. 대표적인 세 가지 전략은 '필터' 전략(예: 정보 이득), '래퍼(wrapper)' 전략(예: 정확도 기반 탐색), '임베디드(embedded)' 전략(모델 생성 과정에서 예측 오류에 기반해 특징을 추가하거나 제거)이다.

회귀 분석이나 통계적 분류와 같은 데이터 분석은 축소된 공간에서 원래 공간보다 더 정확하게 수행될 수 있다.

## 특징 투영

특징 투영(feature projection, 특징 추출)은 데이터를 고차원 공간에서 더 적은 차원의 공간으로 변환한다. 변환은 주성분 분석처럼 선형일 수도 있고, 다양한  기법도 존재한다. 다차원 데이터의 경우, 을 활용한 으로 차원 축소가 가능하다.
alt=A scatterplot showing two groups points. An axis runs through the groups. They transition into a histogram showing where each point lands in the PCA projection.|섬네일|A visual depiction of the resulting PCA projection for a set of 2D points.

### 주성분 분석 (PCA)

차원 축소를 위한 대표적인 선형 기법인 주성분 분석(PCA)은 데이터의 분산이 최대가 되도록 데이터를 저차원 공간으로 선형 매핑한다. 실제로는 데이터의 공분산(또는 상관관계) 행렬을 구성하고, 이 행렬의 고유값과 고유벡터를 계산한다. 가장 큰 고유값에 해당하는 고유벡터(주성분)를 사용하면 원래 데이터의 분산 대부분을 재구성할 수 있다. 특히, 첫 몇 개의 고유벡터는 시스템의 대규모 물리적 행동을 해석하는 데 사용될 수 있다. 그러나 모든 시스템이 이러한 특성을 보이는 것은 아니므로, 개별적으로 검증이 필요하다. 원래의 차원(데이터 포인트 수)은 몇 개의 고유벡터가 생성하는 공간으로 축소된다(정보 손실이 있지만, 중요한 분산을 최대한 보존).
### 비음수 행렬 분해 (NMF)

비음수 행렬 분해(NMF)는 비음수 행렬을 두 개의 비음수 행렬 곱으로 분해하는 기법으로, 비음수 신호만 존재하는 분야(예: 천문학)에서 유용하게 사용된다. 예를 들어 천문학 분야에서 활용된다. NMF는 Lee & Seung의 곱셈 업데이트 규칙 이후로 널리 알려졌으며, 불확실성의 도입, 결측 데이터와 병렬 계산, 순차적 구성 및 선형 모델링 과정에서의 안정성, 그리고 디지털 이미지 처리에서 결측 데이터 처리를 포함하는 여러 업데이트가 개발되었다.

구성 과정에서 안정적인 성분 기저와 선형 모델링을 제공하는 순차적 NMF는 천문학에서 원시행성계 원반의 직접 이미징 등에서 플럭스를 보존할 수 있다. PCA와 달리, NMF는 행렬의 평균값을 제거하지 않으므로 물리적으로 의미 있는 비음수 플럭스가 유지된다. 따라서 NMF는 PCA보다 더 많은 정보를 보존할 수 있다.

### 커널 PCA
주성분 분석은 커널 트릭을 통해 비선형적으로 적용할 수 있다. 이 기법을 (kernel PCA)이라고 한다.

### 그래프 기반 커널 PCA
주요 비선형 기법으로는  기반의 , , Hessian LLE, 라플라스 고유 지도, 접공간 정렬 기반 방법 등이 있다. 이들은 데이터의 지역적 특성을 유지하는 비용 함수를 사용하여 저차원 표현을 구성하며, 커널 PCA의 그래프 기반 커널로 볼 수 있다.

최근에는 고정된 커널 대신 을 통해 커널을 학습하는 방법이 제안되었는데, 대표적으로 가 있다. MVU의 핵심은 최근접 이웃 간의 거리를 정확히 보존하면서, 최근접 이웃이 아닌 점들 간의 거리를 최대화하는 것이다.

또 다른 접근법은 입력 공간과 출력 공간의 거리 차이를 최소화하는 비용 함수를 사용하는 것이다. 대표적인 예로 고전적 다차원 척도법(PCA와 동일),  (지오데식 거리 사용), (확산 거리 사용), t-분포 확률적 임베딩, 곡선성분분석 등이 있다.

또 다른 비선형 차원 축소 방법으로는 오토인코더가 있는데, 이는 순방향 신경망의 병목 구조를 활용한다. 딥 오토인코더의 학습은 보통 그리디 계층별 사전학습(예: 제한된 볼츠만 머신 스택 사용)과 역전파 기반 미세조정 단계로 이루어진다.
섬네일|A visual depiction of the resulting LDA projection for a set of 2D points.

### 선형 판별 분석 (LDA)

선형 판별 분석(LDA)은 피셔의 선형 판별법을 일반화한 것으로, 통계학, 패턴 인식, 기계학습에서 두 개 이상의 클래스(집단)를 구분하는 선형 조합을 찾는 방법이다.

### 일반화 판별 분석 (GDA)
GDA는 커널 함수 연산자를 이용해 비선형 판별 분석을 수행한다. 이론적으로 서포트 벡터 머신과 유사하며, 입력 벡터를 고차원 특징 공간으로 사상한다. LDA와 마찬가지로, 클래스 간 분산 대비 클래스 내 분산의 비를 최대화하는 투영을 찾는 것이 목적이다.

### 오토인코더

오토인코더는 비선형 차원 축소 함수와 인코딩, 그리고 역함수를 함께 학습하는 데 사용된다.

### t-SNE
t-분포 확률적 이웃 임베딩(t-SNE)은 고차원 데이터셋의 시각화에 유용한 비선형 차원 축소 기법이다. 밀도나 거리를 잘 보존하지 않으므로, 군집 분석이나 이상치 탐지에는 권장되지 않는다.

### UMAP
 (UMAP)은 비선형 차원 축소 기법이다. 시각적으로는 t-SNE와 유사하지만, 데이터가 국소 연결된 리만 다양체 위에 균일하게 분포하고, 리만 계량이 국소적으로 상수이거나 근사적으로 상수라고 가정한다.

## 차원 축소
고차원 데이터셋에서는 k-최근접 이웃 알고리즘 적용 전에 차원 축소를 통해 차원의 저주 문제를 완화하는 경우가 많다.

특징 추출과 차원 축소는 주성분 분석, 선형 판별 분석, 정준 상관 분석, 비음수 행렬 분해 등으로 한 번에 수행할 수 있으며, 이후 특징 벡터의 저차원 공간에서 k-NN 등 군집화를 적용할 수 있다. 기계 학습에서는 이를 저차원 임베딩이라고도 한다.

고차원 데이터셋(예: 실시간 비디오 스트림, DNA 데이터, 고차원 시계열)에서는 , , "스케치", 기타 고차원 유사도 검색기법을 통한 빠른 근사 k-NN 검색이 유일한 실용적 선택일 수 있다.

## 응용
신경과학 등에서 사용되는 차원 축소 기법 중 하나로 이 있다. 이는 데이터셋의 정보를 최대한 보존하는 저차원 표현을 찾는 방법이다.

## 같이 보기

* 

* 

* 

* 정보 이득 (의사결정나무)

* 

* 잠재 의미 분석

* 

* 

* 

* 

* 최근접 이웃 검색

* 

* 

* 새몬 매핑

* 

* 

* 특이값 분해

* 

* 

* 

* 요인 분석

## 각주

## 참고 문헌

* 

* 

* 

* 

## 외부 링크
* JMLR 특집호: 변수 및 특징 선택

* ELastic MAPs 

* Locally Linear Embedding

* 다양한 차원 축소 방법 시각적 비교

* 비선형 차원 축소를 위한 전역 기하학적 프레임워크