티스토리 뷰

이전 포스팅에서 설명한 SNE (Stochastic Neighbor Embedding) 의 업그레이트 버전으로, 고차원 데이터의 축소 및 시각화를 위해 설계된 Machine Learning 알고리즘이다. 특히, 기본 구조를 고차원으로 인식하기 어려울 수 있는 데이터 집합을 시각화하는 데 적합하다.

 

  1. 고안된 동기
    : PCA 같은 차원 축소를 위한 많은 기법이 있지만, t-SNE는 특히 로컬 구조를 보존하도록 설계됐다. 즉, 고차원 공간에서 서로 가까운 점은 저차원 공간에서도 가깝게 유지되는 경향이 있다.
  2. 동작 방식
    : 고차원 공간에서 쌍별 유사성 (pairwise similarities) 를 계산하는 것으로 시작한 다음, 고차원 포인트 쌍에 대한 확률 분포를 구성해 유사한 포인트가 선택될 확률이 높아지도록 한다.
    저차원 공간의 점들에 대해서도 유사한 확률 분포를 구성한다. 그런 다음 저차원 공간의 포인트 위치에 대해 두 분포 사이의 차이를 Kullback-Leibler divergence) 를 이용해 최소화한다.
  3. t-distribution
    : t-SNE의 t는 t-distribution에서 따온 것으로, 기존 SNE처럼 Gaussian으로 저차원의 쌍별 유사성을 모델링하는 대신, tails (꼬리) 가 더 무거운 Student's t-distribution 을 사용한다. 이는 저차원 공간에서 점을 더 멀리 모델링할 수 있게 함으로써 Crowding Problem (클러스터 중앙에 있는 점이 서로 밀려나는 경향을 보이는 문제) 를 해결하는 데 도움이 된다.
  4. 시각화
    : t-SNE의 주요 용도는 고차원 데이터를 2D 또는 3D로 시각화하는 것이다. 축소 후 저차원 포인트를 플롯하여 고차원 데이터의 고유한 구조에 해당하는 클러스터 또는 그룹을 확인할 수 있다.
  5. 고려 사항
    : t-SNE는 확률적 방법이기 때문에 다른 실행에는 약간 다른 축력이 생성될 수 있다. t-SNE는 다른 차원 축소 기법과 마찬가지로 전역 구조 (global structures) 를 유지하지 않는다. 하이퍼파라미터, 특히 perplexity(복잡성, 난해성) 는 결과 시각화에서 중요한 역할을 한다. perplexity는 데이터의 로컬 측면과 글로벌 측면 간에 주의의 균현을 맞추는 방법을 대략적으로 결정한다. 데이터의 구조를 이해하기 위해 여러 가지 perplexity 값을 사용해 보는 것이 좋다. t-SNE는 특히 대규모 데이터 세트의 경우 계산 집약적이기 때문에 일부 구현에서는 프로세스 속도를 높이기 위해 근사치를 사용한다.

요약하면, t-SNE는 복잡한 데이터를 시각화하는 데 널리 사용되는 도구로, 특히 로컬 구조를 보존하고 관찰하는 데 관심이 있을 때 유용한다. 그러나 시각화를 해석할 때는 그 한계와 특성을 필수적으로 인지해야한다.

 

참고

- https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding

- https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html

- https://www.datacamp.com/tutorial/introduction-t-sne

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
반응형