← Back to Blog
[Data Analysis] t-SNE
artificial intelligence > machine learning
2026-07-042 min read
#ai #machine-learning #data-analysis #tsne
t-SNE 목적
PCA와 목적이 다르다.
PCA는 다음을 목표로 한다.
전체 데이터 구조 유지
t-SNE는 다음을 목표로 한다.
고차원 공간 이웃 관계 최대한 유지
즉, 절대적인 거리보다 가까운 데이터끼리 가까운 위치를 유지하는 것이 목적이다.
거리 대신 확률 사용
고차원 데이터는 다음과 같이 둔다.
xi,xj
두 데이터 사이의 거리를 계산한다.
∥xi−xj∥2
하지만 거리를 그대로 사용하지 않는다.
가우시안 분포를 이용한다.
pj∣i=∑k=iexp(−2σi2∥xi−xk∥2)exp(−2σi2∥xi−xj∥2)
이는 다음을 의미한다.
i 기준 j가 이웃일 확률
거리가 가까울수록 확률이 증가한다.
거리가 멀수록 확률이 감소한다.
대칭 확률
조건부 확률을 그대로 사용하지 않는다.
대칭화를 수행한다.
Pij=2Npi∣j+pj∣i
고차원 공간의 이웃 관계가 완성된다.
저차원 공간 생성
2차원 좌표를 다음과 같이 둔다.
yi
랜덤 초기화한다.
이번에는 Gaussian을 사용하지 않는다.
Student-t 분포를 사용한다.
Qij=∑k=l(1+∥yk−yl∥2)−1(1+∥yi−yj∥2)−1
Student-t 사용하는 이유
Gaussian을 사용하면 Crowding Problem이 발생한다.
고차원 공간에서는 멀리 떨어질 공간이 충분하다.
하지만 2차원 공간에서는 모든 점이 중심으로 몰리기 쉽다.
Student-t 분포는 꼬리(Heavy Tail)가 길다.
따라서 멀리 있는 데이터 간 반발력(Repulsive Force)을 유지할 수 있다.
그 결과 클러스터 분리 효과가 향상된다.
목적 함수
고차원 확률을 다음과 같이 둔다.
P
저차원 확률을 다음과 같이 둔다.
Q
목표는 두 확률분포를 최대한 비슷하게 만드는 것이다.
이를 위해 KL Divergence를 사용한다.
KL(P∥Q)=i=j∑PijlogQijPij
최종 목적은 다음과 같다.
YminKL(P∥Q)
Gradient Descent
닫힌 해(Closed-form Solution)는 존재하지 않는다.
Gradient를 계산한다.
∂yi∂L=4j∑(Pij−Qij)1+∥yi−yj∥2yi−yj
다음과 같이 반복 업데이트한다.
yi←yi−η∂yi∂L
수렴 시까지 반복한다.
PCA와 차이
PCA는 다음과 같다.
선형 변환 기반 차원 축소.
공분산 행렬의 고유값 문제를 해결한다.
t-SNE는 다음과 같다.
비선형 최적화 기반 차원 축소.
고차원과 저차원의 이웃 관계를 확률분포로 표현한다.
두 확률분포의 차이인
KL(P∥Q)
최소화하여 최종 임베딩을 생성한다.