Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

t-distributed Stochastic Neighbor Embedding (t-SNE)

t-SNE는 고차원 데이터를 2D 또는 3D로 매핑해 이웃 데이터가 서로 가깝게 유지되도록 하여 군집을 드러냅니다. 작동 원리, 퍼플렉서티, 주의점, 코드를 다룹니다.

t-분포 확률적 이웃 임베딩(t-SNE)은 고차원 데이터 포인트를 2차원 또는 3차원 지도에 배치해 원래 공간에서 이웃인 포인트들이 지도에서도 이웃으로 남도록 하는 비선형 차원 축소 방법입니다. Laurens van der Maaten과 Geoffrey Hinton은 2008년 Journal of Machine Learning Research 논문에서 이 방법을 소개했습니다. t-SNE는 수백 개의 차원에 가려진 그룹을 2D 산점도에서 드러내므로 임베딩, 이미지 특성, 단일 세포 유전자 발현 데이터의 데이터 시각화에 널리 사용되는 도구입니다.

t-SNE의 작동 방식#

t-SNE는 두 공간에서 거리를 확률로 변환한 다음, 두 확률 분포가 일치할 때까지 지도상의 포인트를 이동합니다.

  • 고차원 유사도: t-SNE는 각 포인트에 대해 다른 모든 포인트까지의 거리에 가우시안 분포를 적용하고, 각 포인트가 이웃으로 선택될 확률로 변환합니다. 각 가우시안의 폭은 분포의 퍼플렉서티, 즉 대략적인 유효 이웃 수가 사용자가 지정한 값과 일치하도록 조정됩니다. 이로써 밀집 영역에는 좁은 가우시안이, 희소 영역에는 넓은 가우시안이 적용됩니다.
  • 저차원 유사도: 지도에서는 자유도 1인 스튜던트 t-분포로 유사도를 계산합니다. 이 분포의 두꺼운 꼬리 덕분에 다소 멀리 떨어진 포인트가 서로 멀리 배치될 수 있습니다. 이를 통해 혼잡 문제가 완화됩니다. 2D 지도에는 고차원 포인트가 가질 수 있는 다소 가까운 이웃을 모두 담을 공간이 부족하기 때문입니다.
  • 최적화: 경사 하강법은 두 분포 사이의 쿨백-라이블러 발산을 최소화하도록 지도상의 포인트를 이동합니다. 초기 과장 단계에서는 고차원 유사도에 scikit-learn 기준 12를 곱해 자연스러운 클러스터가 초기에 긴밀하고 명확하게 분리된 그룹을 형성하도록 합니다.

정확한 t-SNE는 모든 포인트 쌍을 비교하므로 데이터 세트 크기에 따라 계산 비용이 이차적으로 증가합니다. scikit-learn의 기본값인 Barnes-Hut 근사는 2D 및 3D 지도에서 이를 O(N log N)으로 줄이며, openTSNE와 같은 FFT 가속 구현은 수백만 개의 포인트를 처리합니다.

퍼플렉서티와 t-SNE 플롯 읽기#

퍼플렉서티는 주요 설정값입니다. 일반적으로 5~50 사이의 값을 사용하고 scikit-learn의 기본값은 30이며, 포인트 수보다 작아야 합니다. 낮은 퍼플렉서티는 매우 국소적인 구조에 집중해 하나의 그룹을 여러 조각으로 나눌 수 있지만, 높은 퍼플렉서티는 인접 그룹을 합쳐 전반적인 배치를 더 많이 보여 줍니다. 최적화는 비볼록 문제이므로 무작위 시드에 따라 지도가 달라질 수 있습니다.

t-SNE 플롯을 잘못 해석하기 쉬운 데는 세 가지 특성이 있습니다. t-SNE가 밀집 그룹을 확장하고 희소 그룹을 수축하므로 지도상의 클러스터 크기는 원래 클러스터의 분포를 거의 나타내지 않습니다. 클러스터 간 거리도 신뢰하기 어렵고, 퍼플렉서티가 낮으면 무작위 잡음도 클러스터처럼 보일 수 있습니다. scikit-learn의 TSNE에는 transform 메서드도 없으므로, 새 포인트를 배치하려면 학습된 지도를 다시 계산해야 합니다. 또한 t-SNE 좌표는 다른 모델의 입력 특성으로 거의 사용되지 않습니다.

t-SNE, PCA, UMAP 비교#

주성분 분석(PCA)은 선형적이고 결정론적이며, 전역 분산이 가장 큰 방향을 보존하고 새 포인트를 즉시 투영합니다. t-SNE는 비선형적이고 확률적이며, 국소 이웃을 보존합니다. 두 방법을 함께 사용하는 경우가 많습니다. t-SNE를 실행하기 전에 PCA로 고차원 데이터를 약 50차원으로 줄이면 잡음이 억제되고 계산이 빨라지며, scikit-learn의 t-SNE는 기본적으로 PCA에서 지도를 초기화해 전체적인 배치를 더 잘 보존합니다. 2018년에 소개된 UMAP도 이웃 그래프를 구축하며, 일반적으로 대규모 데이터 세트에서 더 빠르게 실행되고 전역 구조를 더 잘 유지하며 새 포인트를 기존 지도에 임베딩할 수 있습니다.

다음 예제는 scikit-learn에 포함된 64픽셀 손글씨 숫자를 두 방법으로 2D에 투영하고, 각 포인트의 지도상 최근접 이웃이 64차원에서도 이웃이었는지를 나타내는 신뢰도를 측정합니다.

from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.manifold import TSNE, trustworthiness

# 1,797 handwritten digits, each an 8x8 image flattened to 64 features
X, y = load_digits(return_X_y=True)

# Project to 2D with a linear method and with t-SNE
X_pca = PCA(n_components=2).fit_transform(X)
X_tsne = TSNE(n_components=2, perplexity=30, random_state=0).fit_transform(X)

# Trustworthiness near 1.0 means a point's 2D neighbors were also its 64D neighbors
print(f"PCA trustworthiness:   {trustworthiness(X, X_pca, n_neighbors=10):.3f}")
print(f"t-SNE trustworthiness: {trustworthiness(X, X_tsne, n_neighbors=10):.3f}")

스크립트는 PCA에 0.830, t-SNE에 0.993을 출력합니다. 64차원을 두 개의 선형 방향으로 압축하면 64차원에서 멀리 떨어져 있던 숫자 옆에 많은 포인트가 배치되는 반면, t-SNE 지도는 원래의 최근접 이웃 10개 관계를 거의 모두 유지합니다.

실제 적용 사례#

  • 학습된 특성 검사: 신경망의 특성 추출 출력을 투영하면 시각적으로 비슷한 클래스가 서로 다른 그룹을 형성하는지 확인할 수 있습니다. YOLO26 모델은 기본적으로 끝에서 두 번째 레이어에서 가져온 이미지별 특성 벡터 하나를 model.embed()을 통해 반환하며, 해당 벡터의 t-SNE 지도는 사용자 지정 학습 모델이 클래스를 어떻게 구분하는지 보여 줍니다.
  • 데이터 세트 큐레이션: 다른 클래스의 섬 안에 위치한 이미지는 레이블이 잘못 지정된 경우가 많으며, 거의 동일한 점들이 촘촘히 모인 군집은 중복을 나타냅니다. Ultralytics Platform의 클러스터링 패널은 이러한 검사를 위해 데이터 세트의 이미지 임베딩을 유사한 2D 산점도로 투영합니다.
  • 단어 및 문서 임베딩: 단어 벡터 지도에서는 국가 이름이나 숫자와 같이 관련된 단어가 인접한 그룹에 배치됩니다.
  • 단일 세포 유전체학: 연구자들은 세포당 수천 개 유전자의 발현을 2D로 축소해 세포 유형을 식별합니다. 여러 연구 그룹이 UMAP으로 옮기기 전까지 t-SNE는 이 분석의 표준 기법이었습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요