PCA vs t-SNE vs UMAP vs PyMDE

안민기·2023년 5월 9일
0
post-custom-banner

~ing

  • PCA : 고윳값 , 고유벡터를 이용한 선형변환(선형적)

  • t-SNE : 주로 시각화 , 비선형변환 , 원본의 분포를 보존하면서 새로운 차원으로 변환(KL divergence 최소화)

  • UMAP : 비선형변환 , 국소적인구조 + 전체 구조를 모두 보존. 데이터의 개수가 많아도 빠르다는 장점

  • pymde : 선형,비선형 모두 가능 , 잠재변수 모델링 기반 , 고차원->저차원 정보 보존

Fashion MNIST dataset
TEST code

t-SNE

  • 비교의 기준은 분포 : 자유도 = 표본수 - 1라는 가정하에 자유도가 30이하 시 t-분포 , 30~120사이면 t-분포는 정규분포와 비슷해지며 120이상이면 정규분포와 완전히 같아진다.

<T-SNE방법>
1. 모든 고차원의 피처 x에 대해서 각 x끼리 가우시안 분포를 이용하여 유사도를 비교한다.
2. 각 x에 매칭되는 같은 개수의 y를 낮은 차원(n_components)에 무작위 배치하고 모든 y에 관하여 유사도를 위의 기준 분포로 비교하여 비슷한 x는 y가 비슷해지도록 수렴할 때 까지 학습한다

  • T-SNE는 PCA의 선형변환과 다르게 새로운 차원으로 접근하기 때문에 비선형적이며 표현력이 증가됨.

  • 앵커 부츠와 스웨터(Pullover)는 매우 구분하기가 쉽다.
  • 가방, 티셔츠, 셔츠는 나름 한곳에 있지만 구분이 잘 되어있다.(가방은 왜??)
  • 반면 드레스,스니커즈,샌달은 한데 섞인 모습이다.(드레스는 왜..?)
    • bias는 다르지만 variance가 커 겹치는 부분이 많은 느낌

#주의# 위의 scatter그래프는 이미지를 단순히 flat후 t-sne를 진행 한 것임. 즉, 픽셀의 밝기분포만 따름
%cnn후 t-sne 진행해보기

profile
Trendy AI Developer
post-custom-banner

0개의 댓글