← 일백제ADsP 개념서
← 개념서태블릿/PC 버전
3과목 · 데이터 분석·16

차원 축소

차원의 저주, PCA·LDA·t-SNE·UMAP·오토인코더의 원리와 활용, 특성 선택과 차원 축소의 차이를 정리합니다.

1. 차원의 저주(Curse of Dimensionality)

차원이 증가하면 발생하는 문제.

  • 데이터 희소성: 고차원에서 관측치가 드물게 분포
  • 거리 무의미화: 모든 점이 비슷하게 멀어짐
  • 과적합: 모델이 잡음까지 학습
  • 계산 비용: 시간·메모리 ↑
  • 시각화 불가: 3차원 초과 표현 어려움

2. 해결 — 차원 축소(Dimensionality Reduction)

고차원을 중요한 정보는 유지하면서 저차원으로 변환.

2가지 접근

  • 특성 선택(Feature Selection): 기존 변수 중 일부 선택
  • 특성 추출(Feature Extraction): 새로운 축 생성

3. 주성분 분석(PCA)

3-1. 핵심

  • 데이터 분산을 가장 크게 보존하는 축(주성분) 찾기
  • 선형 변환

3-2. 절차

  1. 데이터 표준화
  2. 공분산 행렬 계산
  3. 고유값·고유벡터 구함
  4. 고유값 큰 순으로 k개 선택
  5. 원본 데이터 투영

3-3. 설명 분산 비율

  • 각 주성분이 설명하는 분산 비율
  • 누적 80~95%가 되는 k 선택

3-4. 활용

  • 시각화(2D·3D)
  • 노이즈 제거
  • 다중공선성 완화
  • 이미지 압축

4. 선형 판별 분석(LDA)

  • 지도학습 차원 축소
  • 클래스 분리가 최대가 되는 축
  • 분류 전처리에 유용

PCA vs LDA

PCA LDA
종류 비지도 지도
목적 분산 최대 클래스 분리
라벨 불필요 필요

5. t-SNE

  • 비선형 차원 축소
  • 이웃 확률 보존 → 클러스터 시각화에 강함
  • 전역 구조 보존 약함
  • 계산 비용 크다

주의

  • 거리 해석 불가: 두 클러스터의 간격이 실제 거리가 아님
  • Perplexity에 민감

6. UMAP

  • t-SNE 대안
  • 빠름, 전역 구조 더 잘 보존
  • 고차원 임베딩에 선호

7. 오토인코더(Autoencoder)

  • 신경망 기반 비지도 차원 축소
  • 구조: 입력 → 인코더잠재 벡터디코더 → 재구성
Input → [Encoder] → Bottleneck(z) → [Decoder] → Reconstructed
  • 목표: 입력 ≈ 재구성
  • 병목(bottleneck)이 저차원 표현

변형

  • Denoising AE: 노이즈 제거
  • Variational AE(VAE): 확률적 잠재 공간, 생성 가능
  • Sparse AE: 희소성 제약

8. 특성 선택 방법

8-1. 필터(Filter)

  • 통계적 기준: 분산, 상관, 카이제곱, ANOVA

8-2. 래퍼(Wrapper)

  • 모델 성능 기준: RFE(Recursive Feature Elimination)

8-3. 임베디드(Embedded)

  • 모델 자체가 선택: Lasso, 트리 기반 중요도

9. 차원 축소 사용 예

분야
이미지 픽셀 → 주성분
유전체 수만 유전자 → 수십 특성
텍스트 단어 벡터 → 2D 시각화
추천 사용자·아이템 잠재 벡터

10. 파이썬 예

from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_2d = pca.fit_transform(X)
print(pca.explained_variance_ratio_)

from sklearn.manifold import TSNE
ts = TSNE(n_components=2, perplexity=30)
X_tsne = ts.fit_transform(X)

11. 출제 포인트

  • 차원의 저주 개념
  • PCA vs LDA 차이
  • t-SNE의 특징·한계
  • 특성 선택 3유형(필터·래퍼·임베디드)
  • 오토인코더 구조

요약 체크리스트

  • 차원의 저주 문제 3가지
  • PCA 절차 5단계
  • PCA와 LDA를 목적으로 구분
  • 특성 선택과 특성 추출 차이