t-sne : T-distributed Stocastic Neighbor Embedding
기능 :
1. 고차원 공간에서 점 세트를 가져와 저차원 공간(일반적으로 2D)에서 해당 점을 표현하는 것을 찾는 것.
2. Perplexity, 데이터의 지역적 측면과 전역적 측면 사이에서 균형을 맞추는 방법을 알려줌. 어떤 의미에서 각 점이 가지고 있는 가까운 이웃의 수에 대한 추측. (복잡도의 변화에 상당히 강하며 일반적으로 5~50 사이의 값을 사용함)
! 똑같은 값으로 설정하여 t-SNE를 실행하여도 추가 하이퍼파라미터가 있어 항상 유사한 출력을 생성하지는 않는다.
하이퍼 파라미터
Perplexity에 따른 결과입니다. 알고리즘이 제대로 작동하려면 Perplexity가 실제 포인트 수보다 작아야합니다.
안정적인 결과를 산출하는 고정된 수의 단계는 없다. 데이터 세트 마다 수렴하는 데 필요한 반복 횟수가 다를 수 있다.
다중 실행은 동일한 전역 모양을 제공합니다. 그러나 특정 데이터 세트는 실행에 따라 현저하게 다른 다이어 그램을 생성합니다.
클러스터
t-SNE에서 클러스터 크기는 의미가 없다고 합니다.
Original에서와 같이 두 클러스터의 표준 편차가 다르고 크기가 다른 경우에도 t-SNE 플롯에서 같은 크기로 보입니다.
t-SNE 알고리즘은 "거리"라는 개념을 데이터 세트의 지역 밀도 변화에 맞게 조정하고, 결과적으로 조밀한 클러스터를 자연스럽게 확장하고 희소한 클러스털르 축소하여 크기를 균일하게 만들어 줍니다. 따라서 모든 차원 축소 기술이 거리를 왜곡한다는 일반적인 사실과 다른 효과입니다.
또한 클러스터 간의 거리도 의미가 없을 수 있습니다.
위의 두 플롯에서 첫번째 플롯은 Perplexity 50에서 Original과 비슷한 전역 기하학을 가지고 있습니다. 하지만 두번째 플롯에서는 Perplexity 50에서 Original과 비슷한 전역 기하학을 보이지 않습니다.
t-SNE의 추가적인 정보 : https://distill.pub/2016/misread-tsne/
'NLP 자연어 처리, Natural Language Processing' 카테고리의 다른 글
GCP, Cloud TPU 사용법 (0) | 2021.07.06 |
---|---|
TPU를 이용한 BERT GLUE task Train, Evaluation 해보기 (0) | 2021.04.24 |
Colab TPU 이용방법 (0) | 2021.03.25 |
GCP(Google Cloud Platform) Storage, 버킷 만들기 (0) | 2021.03.25 |
NLP data를 tf.record로 변환하기 (0) | 2021.03.18 |