콘텐츠로 이동

4. 차원 축소와 표현

이 장의 질문

고차원 데이터를 낮은 차원으로 줄일 때 무엇을 남겨야 할까?

데이터의 차원이 크면 계산과 시각화가 어려워지고, 서로 강하게 관련된 특성이 중복 정보를 가질 수 있다. 차원 축소는 고차원 샘플 \(x\in\mathbb{R}^{D}\)를 더 낮은 차원의 표현 \(z\in\mathbb{R}^{d}\)로 바꾸는 방법이다. 보통 \(d<D\)다.

차원 축소 방법마다 남기려는 정보가 다르다. PCA는 분산이 큰 선형 방향을 찾고, LDA는 레이블을 이용해 클래스를 잘 가르는 방향을 찾는다. t-SNE와 UMAP은 가까운 샘플의 관계를 저차원에 배치해 시각화한다. 오토인코더(autoencoder)는 신경망으로 비선형 표현을 학습한다. 결과 그림의 모양만 비교하기보다 각 방법의 목적과 보존 대상을 먼저 확인해야 한다.

읽기 수준과 선수지식 확인

읽기 전에 확인할 내용

핵심 개념

  • 압축, 특성 추출, 시각화, 잠재 표현의 차이
  • 스케일 조정, 거리, 분산, 공분산
  • PCA, LDA, t-SNE, UMAP의 학습 신호와 보존 목표
  • 투영 결과를 과도하게 해석하면 생기는 문제
  • 학습된 표현과 오토인코더의 연결

이름과 위치를 알아둘 개념

  • 고유벡터와 특잇값분해(singular value decomposition, SVD)의 역할
  • 다양체 가정과 이웃 그래프
  • 학습에 쓰지 않은 샘플의 변환

고윳값 분해나 t-SNE 목적 함수를 완전히 유도하지 않는다. 어떤 정보가 입력되고 어떤 관계를 보존하려는지 설명할 수 있으면 된다.

이해에 필요한 항목

  • 벡터와 차원, 좌표
  • 유클리드 거리와 가까운 이웃이라는 개념
  • 평균, 분산, 공분산
  • 행렬이 벡터를 다른 좌표계로 변환한다는 의미
  • 범주 레이블과 지도 학습

먼저 목적을 구분한다

차원을 줄인다는 표현 안에는 여러 목적이 섞여 있다.

  • 압축: 적은 수의 값으로 원 데이터를 근사한다.
  • 특성 추출: 후속 모형에 유용한 표현을 만든다.
  • 노이즈 제거: 중요한 신호를 남기고 노이즈 또는 작은 변동을 줄이려 한다.
  • 범주 분리: 서로 다른 레이블의 샘플을 구분하기 쉬운 공간을 만든다.
  • 시각화: 사람이 볼 수 있는 2차원 또는 3차원 배치를 만든다.
  • 잠재 표현: 관측값 뒤의 요인을 나타내는 내부 표현을 학습한다.

한 방법이 여러 목적에 쓰일 수 있지만, 그 결과가 모든 목적에 동시에 적합하다는 뜻은 아니다. 시각적으로 뚜렷한 군집이 후속 예측에 가장 좋은 특성이라고 보장할 수 없고, 복원이 좋은 표현이 반드시 범주를 잘 분리하는 것도 아니다.

전처리가 기하 구조를 바꾼다

PCA, t-SNE, UMAP 등은 특성 크기와 거리에 영향을 받는다. 키를 cm로 쓰고 몸무게를 kg로 쓰는 표에서 한 특성의 수치 범위가 훨씬 크면 그 축이 거리와 분산을 지배할 수 있다. 표준화는 각 특성에서 평균을 빼고 표준편차로 나누어 크기를 맞추는 대표적 선택이다.

하지만 모든 데이터를 무조건 표준화해야 하는 것은 아니다. 픽셀 강도, 계수 데이터, 희소 특성, 물리 단위가 있는 값은 목적에 맞는 전처리가 다르다. 전처리 통계는 훈련 데이터에서 계산하고 검증과 테스트에 그대로 적용해야 데이터 누출을 피할 수 있다.

PCA: 분산이 큰 선형 좌표계

주성분 분석(PCA)은 평균을 뺀 데이터에서 분산이 가장 큰 방향을 첫 번째 주성분으로 찾고, 그 방향과 직교하면서 남은 분산이 가장 큰 방향을 차례로 찾는다.

첫 번째 방향 \(w_1\)의 아이디어는 다음처럼 쓸 수 있다.

\[ w_1=\arg\max_{\lVert w\rVert=1}\operatorname{Var}(Xw) \]

샘플을 선택한 성분에 투영하면 저차원 좌표를 얻는다. 공분산 행렬의 고유벡터 또는 중심화한 데이터 행렬의 특잇값분해(SVD)로 계산할 수 있다. 여기서 알아야 할 것은 고유벡터 계산법보다 데이터의 선형 변화 방향을 새로운 축으로 삼는다는 의미다.

PCA가 제공하는 것

  • 성분 적재량을 통해 원 특성이 새 축에 얼마나 기여하는지 볼 수 있다.
  • 설명 분산 비율로 선택한 성분들이 전체 분산의 어느 정도를 담는지 볼 수 있다.
  • 훈련 데이터에서 구한 평균과 성분을 저장하면 새 샘플에 같은 선형 변환을 적용할 수 있다.
  • 일부 성분만 유지하면 원 데이터를 근사적으로 복원할 수 있다.

PCA를 해석할 때의 제한

큰 분산이 항상 중요한 신호인 것은 아니다. 측정 잡음이나 배치 효과가 큰 분산을 만들 수 있고, 범주를 구분하는 정보가 작은 분산 방향에 있을 수도 있다. PCA는 비선형 다양체를 직접 펼치지 않으며 레이블을 사용하지 않는다.

핵심 흐름 펼쳐보기: LDA, t-SNE, UMAP 비교

LDA: 레이블을 이용한 선형 분리

선형판별분석(LDA)은 범주 안의 퍼짐은 작고 범주 평균 사이의 거리는 크게 보이도록 선형 축을 찾는다. PCA가 \(X\)만 사용하는 비지도 방법인 반면, LDA는 \(X\)와 범주 레이블 \(y\)를 함께 사용하는 지도 방법이다.

두 범주의 직관으로는 다음 비율을 크게 만드는 방향을 찾는다고 볼 수 있다.

\[ J(w)=\frac{\text{투영된 범주 간 분산}} {\text{투영된 범주 내 분산}} \]

LDA라는 이름은 문맥에 따라 Fisher 방식의 차원 축소 투영과 확률적 분류 모형을 모두 가리킬 수 있다. Fisher 방식의 투영은 범주 사이 산포와 범주 내부 산포의 비율을 기준으로 축을 찾으며, 이 기준 자체를 정의하는 데 범주 조건부 가우스 분포가 반드시 필요한 것은 아니다.

반면 LDA를 생성적 확률 분류기로 해석할 때는 보통 각 범주의 입력이 다변량 가우스 분포를 따르고 모든 범주가 하나의 공분산 행렬을 공유한다고 가정한다. 이 가정에서 범주 사후 분포를 비교하면 입력에 대한 선형 결정 경계가 나온다. 따라서 가우스 분포와 공유 공분산은 확률 분류기 해석의 가정이지, 모든 Fisher식 투영 설명에 일괄 적용되는 가정은 아니다. 이 장에서는 범주 분리를 강조하는 투영 관점을 중심으로 본다.

범주가 \(K\)개면 표준적인 LDA 투영에서 얻을 수 있는 판별축은 최대 \(K-1\)개다. 레이블에 맞춘 분리는 잘 보일 수 있지만 새로운 종류의 범주나 레이블 오류에 강하다는 뜻은 아니다. 확률 분류기로 사용할 때는 가우스와 공유된 공분산 가정이 데이터와 얼마나 맞는지도 확인해야 한다.

t-SNE: 가까운 이웃을 보이게 배치하기

t-분포 확률적 이웃 임베딩(t-SNE)은 고차원에서 가까운 샘플 쌍의 유사도를 확률로 나타내고, 저차원에서도 그 이웃 관계가 비슷해지도록 배치를 최적화한다. 저차원 공간에서 꼬리가 두꺼운 Student t-분포를 사용해 서로 다른 군집이 겹치는 문제를 줄인다.

t-SNE 도표는 복잡한 데이터의 국소 이웃을 탐색하는 데 유용하다. 그러나 좌표축 자체에는 PCA 성분 같은 직접적 의미가 없고, 군집 사이의 거리나 크기가 원 공간의 전역 관계를 정확히 나타낸다고 볼 수 없다.

퍼플렉시티와 실행 간 변동

퍼플렉시티는 각 샘플이 어느 정도 규모의 이웃을 중요하게 볼지 조절하는 값으로 이해할 수 있다. 값과 무작위 초기화, 학습 설정이 달라지면 배치 모양도 달라질 수 있다. 여러 설정과 난수 초깃값에서 반복되는 국소 패턴인지 확인하고, 원 데이터와 영역 메타데이터로 다시 검증해야 한다.

새 샘플을 같은 좌표계에 넣는 표준적이고 단순한 선형 변환을 기본 t-SNE가 제공하는 것은 아니다. 라이브러리의 별도 변환 지원이나 매개변수형 변형이 없다면, 훈련 도표와 테스트 도표를 각각 다시 맞추어 좌표를 직접 비교하는 것은 위험하다.

UMAP: 이웃 그래프와 저차원 임베딩

균일 다양체 근사와 투영(UMAP)은 데이터가 저차원 다양체 근처에 있고 국소 이웃이 의미 있다는 가정에서 출발한다. 고차원 데이터의 이웃 그래프를 구성하고, 저차원에서 비슷한 퍼지 그래프 구조를 갖도록 임베딩을 최적화한다.

주요 하이퍼파라미터의 직관은 다음과 같다.

  • n_neighbors는 국소 이웃과 더 넓은 구조 사이의 관찰 크기에 영향을 준다.
  • min_dist는 저차원에서 가까운 점들이 얼마나 밀집할 수 있는지 조절한다.
  • 선택한 거리 함수(metric)는 원래 공간에서 무엇을 가깝다고 볼지 정한다.

UMAP은 구현상 학습된 객체를 사용해 새 데이터의 변환을 지원할 수 있다는 실용적 특징이 있다. 그렇다고 새 샘플 위치가 불확실성 없이 고정된 참 좌표라는 뜻은 아니다. 데이터 분포와 하이퍼파라미터가 바뀌면 임베딩 기하 구조도 달라진다.

UMAP이 t-SNE보다 전역 구조를 항상 잘 보존한다고 단정해서는 안 된다. 일부 데이터와 설정에서 더 넓은 관계가 나타날 수 있지만, 2차원 도표의 군집 간 거리와 면적을 정량적 사실처럼 해석하는 것은 여전히 위험하다.

네 방법을 공통 질문으로 비교하기

학습 신호

  • PCA, t-SNE, UMAP은 기본적으로 레이블 없이 \(X\)의 구조를 사용한다.
  • LDA는 범주 레이블을 사용한다.

변환 형태

  • PCA와 LDA는 선형 투영이다.
  • t-SNE와 UMAP은 비선형 임베딩이다.

주된 보존 대상

  • PCA는 전역 분산을 설명하는 선형 부분공간을 찾는다.
  • LDA는 주어진 범주의 선형 분리를 강조한다.
  • t-SNE는 국소 이웃 유사도를 시각적으로 보존하려 한다.
  • UMAP은 이웃 그래프의 구조를 저차원 그래프와 맞추려 한다.

새 데이터

  • PCA와 LDA는 학습한 투영 행렬로 새 샘플을 변환할 수 있다.
  • 기본 t-SNE는 같은 의미의 간단한 표본 외 변환을 제공하지 않는다.
  • UMAP 구현은 학습된 모형의 변환을 지원할 수 있지만 분포 변화에 대한 검증이 필요하다.

결과의 사용

  • PCA와 LDA 특성은 후속 모형의 입력으로 사용할 수 있다.
  • t-SNE와 UMAP의 2차원 결과는 주로 탐색과 시각화에 사용하며, 거리 기반 정량 결론에는 특별한 주의가 필요하다.

오토인코더로 이어지는 이유

PCA는 고정된 선형 인코더와 디코더의 관점으로 볼 수 있다. 오토인코더(AE)는 신경망 인코더 \(z=f_\theta(x)\)와 디코더 \(\hat{x}=g_\phi(z)\)를 사용하고 복원 손실로 학습한다.

\[ x \xrightarrow{f_\theta} z \xrightarrow{g_\phi} \hat{x} \]

비선형 활성화와 충분한 구조를 사용하면 AE는 비선형 표현을 학습할 수 있다. 다만 작은 병목을 둔다고 의미 있는 요인이 자동으로 분리되는 것은 아니다. 복원 목적 함수는 입력을 복원하는 데 필요한 정보를 선호할 뿐, 사람이 원하는 범주, 인과 요인, 물리 변수와 일치한다는 보장은 없다.

선형 활성화와 제곱 복원 손실 등 특정 조건에서 선형 오토인코더가 찾는 부분공간은 PCA의 주요 부분공간과 연결된다. 하지만 두 방법의 좌표가 항상 정확히 같거나 모든 오토인코더가 PCA의 비선형 일반화라고 단순화해서는 안 된다. 9장에서는 결정론적 AE와 확률 분포를 다루는 VAE를 비교한다.

자주 하는 혼동과 한계

자주 생기는 혼동과 한계

  • PCA의 첫 두 축에 군집이 없으면 구조가 없다고 결론 낸다: 첫 두 성분은 분산 일부만 보여준다.
  • t-SNE나 UMAP의 섬을 실제 범주로 확정한다: 임베딩 알고리즘과 설정이 만든 시각적 분리일 수 있다.
  • 군집 사이 거리를 그대로 비교한다: 비선형 2차원 임베딩은 전역 거리와 밀도를 왜곡할 수 있다.
  • LDA와 PCA를 모두 비지도 방법으로 묶는다: LDA는 범주 레이블을 사용한다.
  • 차원 축소 전에 전체 데이터셋으로 크기 조정한다: 테스트 정보가 훈련 변환에 들어가는 누출이 생긴다.
  • 2차원 시각화 성능과 후속 예측 성능을 동일시한다: 목적 함수가 다르므로 별도로 평가해야 한다.
  • UMAP이나 t-SNE 결과 하나만 보고 과학적 기제를 주장한다: 메타데이터, 원 특성, 반복 실험, 영역 검증이 추가로 필요하다.

앞뒤 장과의 연결

1장에서 입력 표현과 과제를 나누었고, 이 장에서는 표현을 바꾸는 방법마다 보존 목표가 다름을 보았다. 5장의 CNN부터 8장의 GNN까지는 데이터 구조에 맞는 표현을 층을 통해 학습한다. 9장에서는 AE와 VAE를 통해 복원과 확률적 잠재 공간을 비교한다. 이후 임베딩 그림을 볼 때도 모형, 목적 함수, 이웃 정의와 해석 한계를 함께 확인한다.

스스로 확인하기

  1. PCA와 LDA는 모두 선형 투영이지만 어떤 학습 신호와 목적에서 다를까?
  2. t-SNE 또는 UMAP 도표에서 두 군집이 멀리 보인다는 사실만으로 어떤 결론까지 말할 수 있을까?
  3. 시각화에 좋은 2차원 표현과 후속 예측에 좋은 표현이 다를 수 있는 이유는 무엇일까?

더 읽을 자료