Data Statistics

차원 축소(Dimensionality Reduction)

뉴욕킴 2024. 11. 2. 13:05

차원 축소란
차원 축소는 고차원 데이터를 더 낮은 차원의 데이터로 변환하는 기법입니다. 이는 데이터의 복잡성을 줄이면서도 중요한 정보는 보존하는 것을 목표

필요성

  • 차원의 저주(Curse of Dimensionality) 해결
  • 데이터 시각화 용이
  • 계산 효율성 향상
  • 불필요한 노이즈 제거
  • 데이터 압축


주요 차원 축소 기법
PCA (Principal Component Analysis, 주성분 분석) : 가장 대표적인 선형 차원 축소 기법으로, 비지도 학습 방식

작동 원리

  • 데이터 표준화
  • 공분산 행렬 계산
  • 고유값과 고유벡터 계산
  • 주성분 선택
  • 데이터 투영


특징

  • 데이터의 분산을 최대한 보존
  • 직교하는 새로운 축을 찾음
  • 선형 변환만 가능


활용 사례

  • 얼굴 인식 (Eigenface)
  • 이미지 압축
  • 데이터 시각화
  • 이상치 탐지


LDA (Linear Discriminant Analysis, 선형판별분석) : 지도학습 기반의 차원 축소 기법

특징

  • 클래스 간 분산 최대화
  • 클래스 내 분산 최소화
  • 분류 문제에 특화


오토인코더 (Autoencoder) : 신경망 기반의 자가지도학습 차원 축소 기법

구조

  • Encoder: 입력 데이터를 저차원으로 압축
  • Bottleneck: 압축된 표현
  • Decoder: 압축된 데이터를 원래 차원으로 복원


장점

  • 비선형 변환 가능
  • 복잡한 패턴 학습 가능
  • 다양한 변형 가능 (CNN, RNN 등)


PCA 상세 분석
수학적 원리

# 1. 데이터 중심화
X_centered = X - X.mean()

# 2. 공분산 행렬 계산
cov_matrix = np.cov(X_centered.T)

# 3. 고유값 분해
eigenvalues, eigenvectors = np.linalg.eig(cov_matrix)

# 4. 주성분 선택
n_components = k  # 원하는 차원 수
principal_components = eigenvectors[:, :n_components]

# 5. 데이터 변환
X_transformed = X_centered @ principal_components


PCA를 이용한 이상치 탐지

  • 데이터 인코딩 (차원 축소)
  • 디코딩 (원래 차원으로 복원)
  • 복원 오차 계산
  • 오차가 큰 데이터를 이상치로 판단


기법 선택 기준

 

  • 지도학습 여부
  • 선형/비선형 관계
  • 데이터 특성
  • 계산 복잡도


차원 수 결정

 

  • 설명된 분산 비율
  • 스크리 플롯
  • 교차 검증
  • 도메인 지식


한계점

  • 정보 손실 불가피
  • 해석력 저하 가능
  • 최적 차원 결정의 어려움


최신 트렌드

 

  • 딥러닝 기반 기법 증가
  • 비선형 기법 발전 (t-SNE, UMAP 등)
  • 하이브리드 접근법
  • 도메인 특화 기법 등장

 

차원 축소는 현대 데이터 분석에서 필수적인 기법으로, 데이터의 특성과 목적에 따라 적절한 방법을 선택하는 것이 중요합니다. 특히 최근에는 딥러닝의 발전으로 더욱 다양한 기법들이 등장하고 있어, 상황에 맞는 최적의 방법을 선택하는 것이 핵심입니다.