4. 차원축소와 표현¶
이 챕터의 질문¶
고차원 데이터를 낮은 차원으로 바꿀 때 무엇을 보존하려 하며, 각 방법은 어떤 목적으로 사용하는가?
데이터의 차원이 크면 계산과 시각화가 어려워지고, 서로 강하게 관련된 feature가 중복 정보를 가질 수 있다. 차원축소는 고차원 sample \(x\in\mathbb{R}^{D}\)를 더 낮은 차원의 표현 \(z\in\mathbb{R}^{d}\)로 바꾸는 방법이다. 보통 \(d<D\)다.
그러나 모든 차원축소가 같은 문제를 풀지는 않는다. PCA는 큰 variance를 설명하는 선형 방향을 찾고, LDA는 label을 이용해 class 분리를 강조한다. t-SNE와 UMAP은 주로 저차원 시각화를 위해 이웃 관계를 배치한다. autoencoder는 neural network를 통해 비선형 표현을 학습한다. plot 모양만 비교하기 전에 목적과 보존하려는 관계를 구분해야 한다.
이 장에서 알아볼 수준¶
핵심 개념¶
- compression, feature extraction, visualization, latent representation의 차이
- scaling, distance, variance, covariance
- PCA, LDA, t-SNE, UMAP의 학습 신호와 보존 목표
- projection 결과를 과도하게 해석하면 생기는 문제
- 학습된 representation과 autoencoder로의 연결
이름과 위치를 알아둘 개념¶
- eigenvector와 singular value decomposition(SVD)의 역할
- manifold assumption, neighborhood graph
- out-of-sample transform
eigendecomposition이나 t-SNE objective를 완전히 유도하지 않는다. 어떤 정보가 입력되고 어떤 관계를 보존하려는지 설명할 수 있으면 된다.
이해에 필요한 항목¶
- vector와 dimension, coordinate
- Euclidean distance와 가까운 이웃이라는 개념
- 평균, variance, covariance
- matrix가 vector를 다른 좌표계로 변환한다는 의미
- class label과 supervised learning
먼저 목적을 구분한다¶
차원을 줄인다는 표현 안에는 여러 목적이 섞여 있다.
- Compression: 적은 수의 값으로 원 데이터를 근사한다.
- Feature extraction: downstream model에 유용한 표현을 만든다.
- Denoising: 중요한 signal을 남기고 noise 또는 작은 변동을 줄이려 한다.
- Class separation: 서로 다른 label의 sample을 구분하기 쉬운 공간을 만든다.
- Visualization: 사람이 볼 수 있는 2차원 또는 3차원 배치를 만든다.
- Latent representation: 관측값 뒤의 요인을 나타내는 내부 표현을 학습한다.
한 방법이 여러 목적에 쓰일 수 있지만, 그 결과가 모든 목적에 동시에 적합하다는 뜻은 아니다. 시각적으로 뚜렷한 cluster가 downstream prediction에 가장 좋은 feature라고 보장할 수 없고, reconstruction이 좋은 표현이 반드시 class를 잘 분리하는 것도 아니다.
전처리가 geometry를 바꾼다¶
PCA, t-SNE, UMAP 등은 feature scale과 distance에 영향을 받는다. 키를 cm로 쓰고 몸무게를 kg로 쓰는 표에서 한 feature의 수치 범위가 훨씬 크면 그 축이 distance와 variance를 지배할 수 있다. standardization은 각 feature에서 평균을 빼고 표준편차로 나누어 scale을 맞추는 대표적 선택이다.
하지만 모든 데이터를 무조건 standardize해야 하는 것은 아니다. pixel intensity, count data, sparse feature, 물리 단위가 있는 값은 목적에 맞는 전처리가 다르다. 전처리 통계는 train data에서 계산하고 validation과 test에 그대로 적용해야 data leakage를 피할 수 있다.
PCA: variance가 큰 선형 좌표계¶
Principal Component Analysis(PCA)는 평균을 뺀 데이터에서 variance가 가장 큰 방향을 첫 번째 principal component로 찾고, 그 방향과 직교하면서 남은 variance가 가장 큰 방향을 차례로 찾는다.
첫 번째 방향 \(w_1\)의 아이디어는 다음처럼 쓸 수 있다.
sample을 선택한 component에 projection하면 저차원 coordinate를 얻는다. covariance matrix의 eigenvector 또는 centered data matrix의 SVD로 계산할 수 있다. 여기서 알아야 할 것은 eigenvector 계산법보다 데이터의 선형 변화 방향을 새로운 축으로 삼는다는 의미다.
PCA가 제공하는 것¶
- component loading을 통해 원 feature가 새 축에 얼마나 기여하는지 볼 수 있다.
- explained variance ratio로 선택한 component들이 전체 variance의 어느 정도를 담는지 볼 수 있다.
- train data에서 구한 평균과 component를 저장하면 새 sample에 같은 linear transform을 적용할 수 있다.
- 모든 component를 유지하지 않으면 원 데이터를 근사적으로 reconstruct할 수 있다.
PCA를 해석할 때의 제한¶
큰 variance가 항상 중요한 signal인 것은 아니다. 측정 noise나 batch effect가 큰 variance를 만들 수 있고, class를 구분하는 정보가 작은 variance 방향에 있을 수도 있다. PCA는 nonlinear manifold를 직접 펼치지 않으며 label을 사용하지 않는다.
LDA: label을 이용한 선형 분리¶
Linear Discriminant Analysis(LDA)는 class 안의 퍼짐은 작고 class 평균 사이의 거리는 크게 보이도록 선형 축을 찾는다. PCA가 \(X\)만 사용하는 unsupervised 방법인 반면, LDA는 \(X\)와 class label \(y\)를 함께 사용하는 supervised 방법이다.
두 class의 직관으로는 다음 비율을 크게 만드는 방향을 찾는다고 볼 수 있다.
LDA라는 이름은 문맥에 따라 Fisher 방식의 dimensionality reduction projection과 확률적 classification model을 모두 가리킬 수 있다. Fisher 방식의 projection은 class 사이 scatter와 class 내부 scatter의 비율을 기준으로 축을 찾으며, 이 기준 자체를 정의하는 데 Gaussian class-conditional distribution이 반드시 필요한 것은 아니다.
반면 LDA를 생성적 확률 classifier로 해석할 때는 보통 각 class의 입력이 multivariate Gaussian을 따르고 모든 class가 하나의 covariance matrix를 공유한다고 가정한다. 이 가정에서 class posterior를 비교하면 입력에 대한 linear decision boundary가 나온다. 따라서 Gaussian과 shared covariance는 확률 classifier 해석의 가정이지, 모든 Fisher-style projection 설명에 일괄 적용되는 가정은 아니다. 이 장에서는 class separation을 강조하는 projection 관점을 중심으로 본다.
class가 \(K\)개면 표준적인 LDA projection에서 얻을 수 있는 discriminant 축은 최대 \(K-1\)개다. label에 맞춘 분리는 잘 보일 수 있지만 새로운 종류의 class나 label 오류에 강하다는 뜻은 아니다. 확률 classifier로 사용할 때는 Gaussian과 shared covariance 가정이 데이터와 얼마나 맞는지도 확인해야 한다.
t-SNE: 가까운 이웃을 보이게 배치하기¶
t-distributed Stochastic Neighbor Embedding(t-SNE)은 고차원에서 가까운 sample 쌍의 유사도를 확률로 나타내고, 저차원에서도 그 이웃 관계가 비슷해지도록 배치를 최적화한다. 저차원 공간에서 heavy-tailed Student t-distribution을 사용해 서로 다른 군집이 겹치는 문제를 줄인다.
t-SNE plot은 복잡한 데이터의 local neighborhood를 탐색하는 데 유용하다. 그러나 좌표축 자체에는 PCA component 같은 직접적 의미가 없고, cluster 사이의 거리나 크기가 원 공간의 전역 관계를 정확히 나타낸다고 볼 수 없다.
Perplexity와 실행 간 변동¶
perplexity는 각 sample이 어느 정도 규모의 이웃을 중요하게 볼지 조절하는 값으로 이해할 수 있다. 값과 random initialization, learning 설정이 달라지면 배치 모양도 달라질 수 있다. 여러 설정과 seed에서 반복되는 local pattern인지 확인하고, 원 데이터와 domain metadata로 다시 검증해야 한다.
새 sample을 같은 map에 넣는 표준적이고 단순한 linear transform을 기본 t-SNE가 제공하는 것은 아니다. library의 별도 transform 지원이나 parametric variant가 없다면, train plot과 test plot을 각각 다시 맞추어 좌표를 직접 비교하는 것은 위험하다.
UMAP: neighborhood graph와 저차원 embedding¶
Uniform Manifold Approximation and Projection(UMAP)은 데이터가 낮은 차원의 manifold 근처에 있고 local neighborhood가 의미 있다는 가정에서 출발한다. 고차원 데이터의 이웃 graph를 구성하고, 저차원에서 비슷한 fuzzy graph 구조를 갖도록 embedding을 최적화한다.
주요 hyperparameter의 직관은 다음과 같다.
n_neighbors는 local 이웃과 더 넓은 구조 사이의 관찰 scale에 영향을 준다.min_dist는 저차원에서 가까운 점들이 얼마나 밀집할 수 있는지 조절한다.- 선택한 metric은 원 공간에서 무엇을 가깝다고 볼지 정한다.
UMAP은 구현상 학습된 객체를 사용해 새 데이터의 transform을 지원할 수 있다는 실용적 특징이 있다. 그렇다고 새 sample 위치가 불확실성 없이 고정된 참 좌표라는 뜻은 아니다. data distribution과 hyperparameter가 바뀌면 embedding geometry도 달라진다.
UMAP이 t-SNE보다 전역 구조를 항상 잘 보존한다고 단정해서는 안 된다. 일부 데이터와 설정에서 더 넓은 관계가 나타날 수 있지만, 2차원 plot의 cluster 간 거리와 면적을 정량적 사실처럼 해석하는 것은 여전히 위험하다.
네 방법을 공통 질문으로 비교하기¶
학습 신호¶
- PCA, t-SNE, UMAP은 기본적으로 label 없이 \(X\)의 구조를 사용한다.
- LDA는 class label을 사용한다.
변환 형태¶
- PCA와 LDA는 linear projection이다.
- t-SNE와 UMAP은 nonlinear embedding이다.
주된 보존 대상¶
- PCA는 global variance를 설명하는 선형 subspace를 찾는다.
- LDA는 주어진 class의 선형 분리를 강조한다.
- t-SNE는 local neighbor similarity를 시각적으로 보존하려 한다.
- UMAP은 neighborhood graph의 구조를 저차원 graph와 맞추려 한다.
새 데이터¶
- PCA와 LDA는 학습한 projection matrix로 새 sample을 변환할 수 있다.
- 기본 t-SNE는 동일한 의미의 간단한 out-of-sample transform이 없다.
- UMAP 구현은 학습된 model의 transform을 지원할 수 있지만 distribution shift에 대한 검증이 필요하다.
결과의 사용¶
- PCA와 LDA feature는 downstream model의 입력으로 사용할 수 있다.
- t-SNE와 UMAP의 2차원 결과는 주로 탐색과 visualization에 사용하며, 거리 기반 정량 결론에는 특별한 주의가 필요하다.
Autoencoder로 이어지는 이유¶
PCA는 고정된 linear encoder와 decoder의 관점으로 볼 수 있다. autoencoder(AE)는 neural network encoder \(z=f_\theta(x)\)와 decoder \(\hat{x}=g_\phi(z)\)를 사용하고 reconstruction loss로 학습한다.
nonlinear activation과 충분한 structure를 사용하면 AE는 nonlinear representation을 학습할 수 있다. 다만 작은 bottleneck을 둔다고 의미 있는 요인이 자동으로 분리되는 것은 아니다. reconstruction objective는 입력을 복원하는 데 필요한 정보를 선호할 뿐, 사람이 원하는 class, 인과 요인, 물리 변수와 일치한다는 보장은 없다.
linear activation, squared reconstruction loss 등 특정 조건에서 linear autoencoder가 찾는 subspace는 PCA principal subspace와 연결된다. 하지만 두 방법의 coordinate가 항상 정확히 같거나 모든 autoencoder가 PCA의 nonlinear 일반화라고 단순화해서는 안 된다. 9장에서는 deterministic AE와 확률 분포를 다루는 VAE를 비교한다.
흔한 혼동과 실패¶
- PCA의 첫 두 축에 cluster가 없으면 구조가 없다고 결론 낸다: 첫 두 component는 variance 일부만 보여준다.
- t-SNE나 UMAP의 섬을 실제 class로 확정한다: embedding algorithm과 설정이 만든 시각적 분리일 수 있다.
- cluster 사이 거리를 그대로 비교한다: nonlinear 2차원 embedding은 전역 거리와 밀도를 왜곡할 수 있다.
- LDA와 PCA를 모두 unsupervised 방법으로 묶는다: LDA는 class label을 사용한다.
- 차원축소 전에 전체 dataset으로 scaling한다: test 정보가 train transform에 들어가는 leakage가 생긴다.
- 2차원 visualization 성능과 downstream prediction 성능을 동일시한다: 목적함수가 다르므로 별도로 평가해야 한다.
- UMAP이나 t-SNE 결과 하나만 보고 과학적 mechanism을 주장한다: metadata, 원 feature, 반복 실험, domain 검증이 추가로 필요하다.
앞뒤 장과의 연결¶
1장에서 입력 표현과 task를 나누었고, 이 장에서는 표현을 바꾸는 방법마다 보존 목표가 다름을 보았다. 5장의 CNN부터 8장의 GNN까지는 데이터 구조에 맞는 representation을 layer를 통해 학습한다. 9장에서는 AE와 VAE를 통해 reconstruction과 probabilistic latent space를 비교한다. 이후 embedding 그림을 볼 때도 model, objective, neighborhood 정의와 해석 한계를 함께 확인한다.
스스로 확인하기¶
- PCA와 LDA는 모두 linear projection이지만 어떤 학습 신호와 목적에서 다를까?
- t-SNE 또는 UMAP plot에서 두 cluster가 멀리 보인다는 사실만으로 어떤 결론까지 말할 수 있을까?
- visualization에 좋은 2차원 표현과 downstream prediction에 좋은 표현이 다를 수 있는 이유는 무엇일까?
더 읽을 자료¶
- Jolliffe and Cadima, Principal component analysis: a review and recent developments, 2016. PCA의 개념과 사용을 다룬 리뷰: https://doi.org/10.1098/rsta.2015.0202
- Fisher, The Use of Multiple Measurements in Taxonomic Problems, 1936. class 분리를 위한 discriminant 관점의 고전 원 논문: https://doi.org/10.1111/j.1469-1809.1936.tb02137.x
- scikit-learn, Linear and Quadratic Discriminant Analysis, accessed 2026-09-04. LDA의 확률 classifier 가정과 dimensionality reduction 관점을 구분하는 공식 안내: https://scikit-learn.org/stable/modules/lda_qda.html
- van der Maaten and Hinton, Visualizing Data using t-SNE, 2008. t-SNE 원 논문: https://www.jmlr.org/papers/v9/vandermaaten08a.html
- McInnes, Healy, Melville, UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction, 2018: https://arxiv.org/abs/1802.03426
- UMAP 공식 문서, accessed 2026-09-04. 주요 parameter가 embedding에 주는 영향: https://umap-learn.readthedocs.io/en/latest/parameters.html
- scikit-learn, Decomposition guide, accessed 2026-09-04. PCA와 여러 decomposition 방법의 공식 사용 안내: https://scikit-learn.org/stable/modules/decomposition.html
- Baldi and Hornik, Neural networks and principal component analysis, 1989. linear autoencoder와 PCA의 관계: https://doi.org/10.1016/0893-6080(89)90014-2