t-distributed Stochastic Neighbor Embedding (t-SNE)
t-SNE, komşuların birbirine yakın kalmasını sağlayarak yüksek boyutlu verileri 2B veya 3B'ye eşler ve kümeleri görünür kılar. Nasıl çalıştığını, perplexity değerini, tuzakları ve kodu ele alır.
t-dağılımlı stokastik komşu gömme (t-SNE), yüksek boyutlu veri noktalarını iki veya üç boyutlu bir haritaya yerleştiren doğrusal olmayan bir boyut indirgeme yöntemidir; özgün uzayda komşu olan noktalar haritada da komşu kalır. Laurens van der Maaten ve Geoffrey Hinton yöntemi Journal of Machine Learning Research'te yayımlanan 2008 tarihli bir makalede tanıttı. Yüzlerce boyutun gizlediği ve 2B dağılım grafiğinin görünür kıldığı grupları incelemek için gömme vektörlerinin, görüntü özelliklerinin ve tek hücreli gen ifade verilerinin veri görselleştirmesinde standart bir araçtır.
t-SNE Nasıl Çalışır#
t-SNE, her iki uzaydaki uzaklıkları olasılıklara dönüştürür ve ardından iki olasılık kümesi eşleşene kadar harita noktalarını taşır:
- Yüksek boyutlu benzerlikler: t-SNE, her nokta için diğer tüm noktalara olan uzaklıkların üzerine bir Gauss dağılımı yerleştirir ve bunları her noktanın komşu olarak seçilme olasılıklarına dönüştürür. Her Gauss dağılımının genişliği, dağılımın kabaca etkin komşu sayısına karşılık gelen karmaşıklığı kullanıcının belirlediği değerle eşleşecek şekilde ayarlanır. Böylece yoğun bölgelerde dar, seyrek bölgelerde geniş Gauss dağılımları oluşur.
- Düşük boyutlu benzerlikler: Haritada benzerlikler, bir serbestlik dereceli Student t-dağılımından gelir. Dağılımın ağır kuyrukları, orta uzaklıktaki noktaların birbirinden uzak durmasını sağlar. Böylece yığılma sorunu hafifler: 2B haritada, yüksek boyutlu bir noktanın sahip olabileceği tüm orta yakınlıktaki komşuları yerleştirmek için yeterli alan yoktur.
- Optimizasyon: Gradyan inişi, iki dağılım arasındaki Kullback-Leibler ıraksamasını en aza indirmek için harita noktalarını taşır. Erken abartma aşamasında yüksek boyutlu benzerlikler, scikit-learn'de 12 olan bir katsayıyla çarpılır; böylece doğal kümeler erken aşamada sıkı ve birbirinden iyi ayrılmış gruplar hâline gelir.
Kesin t-SNE her nokta çiftini karşılaştırdığı için hesaplama maliyeti veri kümesiyle birlikte karesel olarak büyür. scikit-learn'deki varsayılan yöntem olan Barnes-Hut yaklaşımı, 2B ve 3B haritalarda bu maliyeti O(N log N) düzeyine indirir; openTSNE gibi FFT hızlandırmalı uygulamalar milyonlarca noktayı işler.
Karmaşıklık ve t-SNE Grafiğini Yorumlama#
Karmaşıklık temel ayardır. 5 ile 50 arasındaki değerler yaygındır; scikit-learn'ün varsayılanı 30'dur ve bu değer nokta sayısından küçük olmalıdır. Düşük karmaşıklık çok yerel yapıya odaklanıp tek bir grubu parçalara ayırabilir; yüksek karmaşıklık ise komşu grupları birleştirerek genel yerleşimin daha fazlasını gösterir. Optimizasyon dışbükey olmadığından farklı rastgele tohumlar farklı haritalar oluşturabilir.
t-SNE grafiklerinin yanlış yorumlanmasını kolaylaştıran üç özellik vardır. Haritadaki kümelerin boyutları, özgün kümelerin yayılımı hakkında çok az bilgi verir; çünkü t-SNE yoğun grupları genişletip seyrek grupları daraltır. Kümeler arasındaki uzaklıklar da güvenilir değildir; düşük karmaşıklıkta rastgele gürültü bile kümeler oluşturuyormuş gibi görünebilir. scikit-learn'ün TSNE arayüzünde ayrıca transform yöntemi yoktur; bu nedenle yeni noktaları yeniden hesaplama yapmadan eğitilmiş bir haritaya yerleştiremezsin. t-SNE koordinatları da nadiren başka modeller için girdi özellikleri olarak kullanılır.
t-SNE, PCA ve UMAP Karşılaştırması#
Temel bileşen analizi (PCA) doğrusaldır ve deterministik sonuç verir; küresel varyansın en yüksek olduğu yönleri korur ve yeni noktaları anında yansıtır. t-SNE doğrusal olmayan ve stokastik bir yöntemdir; yerel komşulukları korur. İki yöntem sık sık birlikte kullanılır: t-SNE çalıştırılmadan önce çok yüksek boyutlu veriyi PCA ile yaklaşık 50 boyuta indirmek gürültüyü bastırır ve hesaplamayı hızlandırır. Ayrıca scikit-learn'ün t-SNE uygulaması, varsayılan olarak haritayı PCA ile başlatır ve böylece genel yerleşimin daha fazlasını korur. 2018'de tanıtılan UMAP da bir komşu grafiği oluşturur, büyük veri kümelerinde genellikle daha hızlı çalışır, çoğunlukla daha fazla küresel yapıyı korur ve yeni noktaları mevcut bir haritaya gömebilir.
Bu örnekte scikit-learn ile birlikte sunulan 64 piksellik el yazısı rakamlar, her iki yöntemle 2B'ye yansıtılır ve güvenilirlik ölçülür. Güvenilirlik, haritadaki her noktanın en yakın komşularının 64 boyutta da komşusu olma derecesidir:
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}")Betik PCA için 0.830, t-SNE için 0.993 yazdırır. 64 boyutu iki doğrusal yöne sıkıştırmak, birçok noktayı 64 boyutta uzakta olduğu rakamların yanına yerleştirir; t-SNE haritası ise özgün 10 en yakın komşu ilişkisinin neredeyse tamamını korur.
Gerçek Dünya Uygulamaları#
- Öğrenilen özellikleri inceleme: Bir ağın özellik çıkarımı çıktılarının izdüşümü, görsel olarak benzer sınıfların ayrı gruplar oluşturup oluşturmadığını gösterir. YOLO26 modelleri, varsayılan olarak sondan ikinci katmandan alınan her görüntü için bir özellik vektörünü
model.embed()üzerinden döndürür; bu vektörlerin t-SNE haritası, özel veriyle eğitilmiş bir modelin sınıflarını nasıl ayırdığını gösterir. - Veri kümesi düzenleme: Başka bir sınıfın adacığına düşen görüntüler çoğunlukla yanlış etiketlenmiştir; birbirine çok benzeyen noktaların sıkı kümeleri ise yinelenen örneklere işaret eder.
- Sözcük ve belge gömme vektörleri: Sözcük vektörlerinin haritalarında ülkeler ya da sayılar gibi ilişkili sözcükler komşu gruplara yerleşir.
- Tek hücreli genomik: Araştırmacılar hücre başına binlerce genin ifade düzeyini 2B'ye indirerek hücre türlerini belirler. Pek çok grup UMAP'e geçmeden önce, bu analizde uzun süre standart yöntem t-SNE'ydi.










