기술(Tech, IT)/머신 러닝(Machine Learning)

[ML] t-SNE (t-Stochastic Neighbor Embedding) - 2

Daniel803 2023. 10. 6. 06:27

예시를 통해 t-SNE를 이해해보자.

 

특징에 기반해 동물 유형을 시각화 하는 예시다.

 

다양한 동물의 데이터 집합이 있고 각 동물에 대해 체중, 키, 수명, DNA 유사성 등 100개의 서로 다른 특징을 측정해 100차원 공간을 만든다고 가정해보자. 우리의 목표는 이러한 특징을 기반으로 국소적 유사성을 유지하면서 2D 공간에서 이러한 동물들이 서로 어떻게 관련되어 있는지를 시각화 하는 것이다.

 

  • 고차원 유사성
    : "고양이"라는 한 동물을 선택해 보자. 데이터 세트의 다른 모든 동물에 대해 해당 동물이 얼마나 "고양이"와 유사한지를 나타내는 확률을 계산하고, 이 유사성은 100차원 공간에서 "고양이"와 다른 모든 동물 사이의 유클리트 거리를 기반으로 한다.
    예를 들어, "고양이"와 "호랑이"와 같은 두 동물이 100차원 공간에서 매우 가깝다면 유사도 점수가 높을 가능성이 높다. 반대로 "고양이"와 "고래" 같이 매우 다른 동물의 경우 확률이 낮다.

  • 저차원 유사성
    : 이제 2D 공간에 모든 동물을 처음에 무작위로 배치한다. 고차원 공간에서와 마찬가지로 2D 공간의 "고양이"에 대해서도 초기 2D 배치를 기반으로 다른 모든 동물과의 유사성을 나타내는 확률을 계산한다.

  • 최적화
    : 우리는 2D 유사성이 고차원 유사성을 반영하기를 원하므로, "고양이"와 "호랑이"가 100차원 공간에서 유사도 점수가 높으면 2D 시각화에서 서로 가깝게 배치해야 한다. 고차원 확률 분포와 저차원 확률 분포 사이의 차이 (KL divergence)를 최소화 하기 위해 2D 공간의 배치를 조정한다.

  • 결과
    : 여러 번 반복해 2D 공간에 (100개의 특징을 기준으로) 비슷한 동물들이 서로 군집화 된다. 예를 들어, 고양이, 호랑이, 사자와 같은 포유류는 함께 모여 있는 반면, 물고기와 새는 다른 별도의 클러스터를 형성한다.

SNE의 기본 개념은 고차원 공간에서 저차원 공간으로 이동할 때 데이터 포인트의 상대적인 "이웃"을 동일하게 유지하는 것이고, t-SNE로 전환할 때 방법론은 유사하게 유지되지만, 앞서 설명한 것처럼 SNE의 한계를 해결하기 위해 확률 분포와 최적화 방법이 조정된다.