차원 축소(dimensionality reduction)는 「수백·수천 차원의 복잡한 데이터를 2~3차원의 시각화 가능한 공간으로 줄이는 기법」입니다.
사람이 4차원 이상을 머릿속으로 그리지 못하므로, 데이터의 구조를 한눈에 보려면 반드시 필요합니다.
가장 오래된 방법은 PCA(주성분 분석)입니다.
「데이터가 가장 많이 흩어진 방향(주성분)」을 찾아 그 방향들로 좌표축을 다시 잡는 방식입니다.
회전과 늘림만 사용하는 선형 변환이라 빠르고 안정적이지만, 데이터의 비선형 구조는 잘 못 잡습니다.
t-SNE(t-distributed Stochastic Neighbor Embedding)는 2008년에 등장한 비선형 기법입니다.
「고차원에서 가까운 점은 저차원에서도 가깝게, 먼 점은 멀게」 배치하려고 노력합니다.
군집을 시각적으로 명확히 보여 주는 데 강하지만, 학습이 느리고 매번 결과가 조금씩 다르며 거리의 절대값은 신뢰할 수 없다는 한계가 있습니다.
UMAP(Uniform Manifold Approximation and Projection)은 2018년에 등장한 더 새로운 비선형 기법입니다.
t-SNE보다 빠르고, 군집 사이의 거리도 더 의미 있게 보존합니다.
최근에는 단일 세포 RNA 분석, 자연어 임베딩 시각화 등에서 t-SNE를 빠르게 대체하고 있습니다.
비유하자면 PCA는 「3D 조각을 정면·측면·평면 사진으로 찍는 일」, t-SNE·UMAP은 「3D 조각을 종이 위에 가장 알아보기 쉽게 평면화하는 일」과 같습니다.
후자는 더 자유롭지만 거리가 왜곡될 수 있다는 점을 늘 의식해야 합니다.
한 줄 요약
PCA는 빠르고 안정적인 선형 차원 축소, t-SNE는 군집을 잘 보여 주는 비선형 기법, UMAP은 t-SNE보다 빠르고 거리 보존이 더 좋은 신세대 기법입니다.
더 알아볼 것
- 주성분 — 데이터가 가장 흩어진 방향
- perplexity·n_neighbors — t-SNE·UMAP의 핵심 하이퍼파라미터
- 오토인코더 — 신경망으로 하는 차원 축소