본문 바로가기

pytorch

차원 축소를 사용한 데이터 압축

주성분 분석을 통한 비지도 차원 축소

특성 추출은 새로운 특성 공간으로 데이터를 변환, 투영한다. 

 

데이터를 압축하는 방법으로 이해할 수 있다. 특성 추출이 저장 공간을 절약하거나 학습 알고맂므의 계산 효율성을 향상, 차원의 저주 문제를 감소시켜 예측 성능을 향상

특히, 규제가 없는 모델로 작업할 때

 

주성분 분석의 주요 단계

특성 사이의 상관관계를 기반으로 하여 데이터의 패턴을 찾을 수 있다.

PCA 는 고차원 데이터에서 분산이 가장 큰 방향을 찾고 새로운 부분 공간으로 이를 ㅜㅌ영한다.

 

새로운 부분 공간의 직교 좌표(주성분Principal component) 는 주어진 조건하에서 분산이 최대인 방향으로 해석할 수 있다.

새로은 특성 축은 서로 직각을 이룬다. 

 

차원 축소를 위해 d*k 차원의 변환 행렬 W 를 만든다. 

  1. d 차원 데이터셋을 표준화 전처리한다.
  2. 공분산 행렬을 만든다.
  3. 공분산 행렬을 고유 벡터와 고윳값으로 분해한다.
  4. 고윳값을 내림차순으로 정렬, 그에 해당하는 고유 벡터의 순위 측정
  5. 고윳값이 가장 큰 k 개의 고유 벡터 선택
  6. 투영 행렬 W 생성

 

선형 판별 분석을 통한 지도 방식의 데이터 압축

Linear Deiscriminant Analysis 은 규제가 없는 모델에서 차원의 저주로 인한 과대 적합 정도를 줄이고 계산 효율성을 높이기 위한 특성 추출의 기법으로 사용할 수 ㅣㅇㅆ다.

 

주성분 분석 VS 선형 판별 분석

전자는 비지도 학습, 후자는 지도 학습 알고리즘, 

 

LDA 는 데이터가 정규 분포라고 가정,

 

선형 판별 분석의 내부 동작 방식

  1. d 차원 데이터셋을 표준화 전처리
  2. 각 클래스에 대해 d 차원의 평균 벡터를 계산
  3. 클래스 간의 산포 행렬 S_B 과 클래스 내 산포 행렬 S_W 구성
  4. S_W^-1 S_B 행렬의 고유 벡터와 고윳값을 계산
  5. 고윳값 정렬
  6. k 개의 고유 벡터 선택
  7. 변환 행렬을 통해 새로운 특성 부분공간으로 투영

 

 

비선형 차원 축소와 시각화

t-SNE t-distributed Stochastic Neighbor Embedding

 

비선형 차원 축소를 고려하는 이유

완벽하게 선형적으로 분리 가능하지 못하는 이유를 잡음 때문이라고 가정,

 

비선형 문제 해결 시 PCA, LDA 은 최선의 선택이 아님,

 

비선형 차원 축소 기법의 개발과 적용을 흔히 매니폴드 manifold learning 이라고 한다. 

고차원 공간에 포함된 저차원 공간을 의미한다.