Yolo 비전 선전
선전
지금 참여하기
용어집

t-분산 확률적 이웃 임베딩 (t-SNE)

t-SNE가 고차원 데이터를 시각화하는 방식을 탐구하세요. Ultralytics 위한 컴퓨터 비전 특징에서 클러스터를 드러내고 머신러닝 모델을 최적화하는 방법을 배우세요.

t-분포 확률적 근접 임베딩(t-SNE)은 각 데이터 포인트에 2차원 또는 3차원 지도 상의 위치를 부여함으로써 고차원 데이터를 시각화하는 통계적 방법이다. 이 기법은 비선형 차원 축소 기법의 일종으로, 수백 또는 수천 개의 특징을 포함하는 데이터셋을 탐색하기 위해 기계 학습 분야에서 널리 사용됩니다. 전역 구조 보존에 중점을 두는 선형 기법과 달리, t-SNE는 유사한 사례들을 서로 가깝게 유지하는 데 탁월하여 그렇지 않으면 숨겨질 수 있는 국소적 클러스터와 매니폴드를 드러냅니다. 이로 인해 유전체 연구부터 딥 뉴럴 네트워크의 내부 논리 이해에 이르기까지 모든 분야에서 귀중한 도구로 활용됩니다.

t-SNE 작동 방식

t-SNE의 핵심 아이디어는 데이터 포인트 간의 유사성을 공동 확률로 변환하는 데 있습니다. 원래의 고차원 공간에서 알고리즘은 가우시안 분포를 사용하여 점들 간의 유사성을 측정합니다. 두 점이 서로 가까우면 "이웃"일 확률이 높습니다. 알고리즘은 이러한 확률을 유지하면서 이 점들을 저차원 공간(보통 2차원 또는 3차원)으로 매핑하려고 시도합니다.

이를 달성하기 위해, t-분포를 활용하여 저차원 지도에서 유사한 확률 분포를 정의합니다. 이 특정 분포는 정규 가우시안 분포보다 꼬리가 무거운 특성을 지녀, "밀집 문제"—고차원 공간의 점들이 투영될 때 서로 겹쳐지는 경향—를 해결하는 데 도움이 됩니다. 비슷하지 않은 점들을 시각화에서 더 멀리 밀어냄으로써, t-SNE는 훈련 데이터의 근본적인 구조를 드러내는 뚜렷하고 가독성 있는 클러스터를 생성합니다. 이 알고리즘은 고차원 확률 분포와 저차원 확률 분포 간의 분산을 최소화함으로써 비지도 학습을 통해 최적의 지도 표현을 효과적으로 학습합니다.

AI의 실제 적용 사례

t-SNE는 탐색적 데이터 분석 (EDA) 및 모델 진단을 위한 표준 도구입니다. 이를 통해 엔지니어는 모델이 학습하는 내용을 '직관적으로 파악'할 수 있습니다.

  • 컴퓨터 비전 기능 검증: YOLO26과 같은 모델을 사용하는 객체 탐지 워크플로우에서 개발자는 네트워크가 시각적으로 유사한 클래스를 구분할 수 있는지 확인해야 할 때가 많습니다. 네트워크의 최종 레이어에서 피처 맵을 추출하고 t-SNE로 투영함으로써 엔지니어는 "고양이" 이미지가 "개"와 별도로 클러스터링되는지 시각화할 수 있습니다. 클러스터가 혼합된 경우, 이는 모델의 특징 추출 능력이 개선이 필요함을 시사합니다.
  • 자연어 처리(NLP): t-SNE는 단어 임베딩 시각화에 널리 활용됩니다. 고차원 단어 벡터(종종 300차원 이상)를 2차원으로 투영하면 의미적으로 유사한 단어들이 자연스럽게 군집화됩니다. 예를 들어, t-SNE 플롯에는 "king", "queen", "prince", "monarch"를 포함한 클러스터가 표시될 수 있으며, 이는 자연어 처리(NLP)모델이 왕실 개념을 이해하고 있음을 보여줍니다.
  • 유전체학 및 생물정보학: 연구자들은 t-SNE를 활용해 단일 세포 RNA 시퀀싱 데이터를 시각화합니다. 수천 개의 유전자 발현 값을 2차원 플롯으로 축소함으로써 과학자들은 서로 다른 세포 유형을 식별하고 발달 경로를 추적할 수 있어, 새로운 생물학적 통찰력과 질병 표지자 발견에 기여합니다.

PCA와의 비교

t-SNE를 또 다른 일반적인 차원 축소 기법인 주성분 분석(PCA)과 구분하는 것이 중요하다.

  • PCA는 데이터의 전체 분산을 보존하는 데 중점을 둔 선형 기법입니다. 이 기법은 결정론적이며 계산 효율성이 높아 초기 데이터 압축이나 잡음 감소에 탁월합니다.
  • t-SNE는 국소 근방 보존에 중점을 둔 비선형 기법입니다. 확률적(확률론적)이며 계산량이 더 많지만, 복잡한 비선형 매니폴드에 대해 훨씬 우수한 시각화 결과를 생성합니다.

데이터 전처리에서 흔히 권장되는 방법은 먼저 PCA를 적용해 데이터를 관리 가능한 크기(예: 50차원)로 축소한 후 최종 시각화를 위해 t-SNE를 적용하는 것입니다. 이러한 하이브리드 접근법은 계산 부하를 줄이고 t-SNE 결과를 저하시킬 수 있는 잡음을 걸러냅니다.

Python : 특징 시각화

다음 예는 사용 방법을 보여줍니다. scikit-learn 합성 데이터셋에 t-SNE를 적용합니다. 이 워크플로는 딥러닝 모델에서 추출한 특징을 시각화하는 방식을 반영합니다.

import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.manifold import TSNE

# Generate synthetic high-dimensional data (100 samples, 50 features, 3 centers)
X, y = make_blobs(n_samples=100, n_features=50, centers=3, random_state=42)

# Apply t-SNE to reduce dimensions from 50 to 2
# 'perplexity' balances local vs global aspects of the data
tsne = TSNE(n_components=2, perplexity=30, random_state=42)
X_embedded = tsne.fit_transform(X)

# Plot the result to visualize the 3 distinct clusters
plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c=y)
plt.title("t-SNE Projection of High-Dimensional Data")
plt.show()

주요 고려 사항

강력하지만 t-SNE는 신중한 하이퍼파라미터 조정이 필요합니다. "퍼플렉시티" 파라미터가 핵심적이며, 이는 각 점이 얼마나 많은 가까운 이웃을 가지는지 추측하는 역할을 합니다. 이 값을 너무 낮거나 높게 설정하면 오해의 소지가 있는 시각화 결과가 나올 수 있습니다. 또한 t-SNE는 글로벌 거리를 잘 보존하지 못합니다. 즉, 플롯 상에서 서로 다른 두 클러스터 사이의 거리가 반드시 원본 공간에서의 물리적 거리를 반영하지는 않습니다. 이러한 미묘한 차이에도 불구하고, t-SNE는 컴퓨터 비전(CV) 아키텍처를 검증하고 복잡한 데이터셋을 이해하는 데 있어 핵심 기법으로 남아 있습니다. 대규모 데이터셋을 관리하는 사용자들은 종종 이러한 심층 분석을 수행하기 전에 데이터를 정리하기 위해 Ultralytics 활용합니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기