t-SNE (t-SNE (T-Dağılımlı Stokastik Komşu Gömme))

Yüksek boyutlu veri noktalarını 2D veya 3D uzayda görselleştiren, küme yapılarını ortaya çıkaran doğrusal olmayan boyut indirgeme algoritması.

t-SNE (t-Distributed Stochastic Neighbor Embedding), yuksek boyutlu veriyi iki veya uc boyutlu bir uzaya gorselleştirme amaciyla indirgemek icin kullanilan dogrusal olmayan bir boyut indirgeme yontemidir. 2008 yilinda Laurens van der Maaten ve Geoffrey Hinton tarafindan tanitilan bu algoritma, ozellikle derin ogrenme modellerinin gizli katman temsillerini (embedding) insan gozuyle kavranabilir bicimde gorselleştirme konusunda standart arac haline gelmistir. Algoritmanin calisma prensibi iki temel asamaya dayanir. Birinci asamada yuksek boyutlu uzaydaki her nokta cifti arasindaki benzerlikler Gaussian dagilimi kullanilarak kosullu olasilik degerlerine donusturulur; yakin noktalar yuksek, uzak noktalar dusuk olasilik alir. Ikinci asamada bu dagilim dusuk boyutlu uzayda Student-t dagilimiyla yeniden modellenir. Algoritma, iki dagilim arasindaki Kullback-Leibler (KL) iraksamasini minimize ederek veriyi dusuk boyutlu uzaya gomer. Student-t dağiliminin kalin kuyrugu, uzak noktalarin dusuk boyutlu temsilde daha da ayrismasini saglar ve kalabalik problemi olarak bilinen yapisal bozulmayı buyuk olcude giderir. En kritik hiperparametre perplexity degeridir; bu parametre her nokta icin efektif komsu sayisini belirler ve tipik olarak 5 ile 50 arasinda ayarlanir. Dusuk degerler yerel yapiyi on plana cikarirken yuksek degerler kuresel yapiyi daha iyi yakalar. Cikti rastsal baslangica duyarli oldugundan tekrarlanabilirlik icin random_state parametresinin sabitlenmesi zorunludur. PCA ile karsilastirildiginda t-SNE dogrusal olmayan manifold yapilarini daha iyi ortaya cikarir; ancak eksen degerlerinin dogrudan yorumu yoktur ve yeni veri noktalari icin projeksiyon uretemez. Buyuk veri kumelerinde hesaplama maliyeti yuksek oldugunde Barnes-Hut t-SNE veya GPU hizlandirmali RAPIDS cuML gibi olceklenebilir alternatiflere basvurulur. MNIST rakam gorselleştirmesi, scRNA-seq hucre populasyonu analizi ve transformer gomu uzayi arastirmalari en yaygin uygulama alanlaridir. Scikit-learn uzerinden TSNE sinifi ile hizla uygulanabilir; buyuk ol cekler icin openTSNE veya UMAP alternatif olarak degerlendirilebilir.

t-SNE Nasıl Çalışır? İki Aşamalı Matematiksel Yaklaşım

t-SNE'nin çalışma prensibi iki temel aşamaya dayanır. Birinci aşamada, yüksek boyutlu uzaydaki her nokta çifti arasındaki benzerlikler Gaussian dağılımı kullanılarak koşullu olasılık değerlerine dönüştürülür; birbirine yakın noktalar yüksek, uzak noktalar ise düşük olasılık değeri alır. İkinci aşamada, bu olasılık dağılımı düşük boyutlu uzayda (2D veya 3D) Student-t dağılımıyla yeniden modellenir. Algoritma, iki dağılım arasındaki Kullback-Leibler (KL) ıraksamasını minimize ederek veriyi düşük boyutlu uzaya gömer. Student-t dağılımının kalın kuyruğu sayesinde uzak noktalar düşük boyutlu temsilde daha da uzaklaşır; bu özellik 'kalabalık problemi' olarak bilinen yapısal bozulmayı büyük ölçüde giderir ve kümelerin belirgin biçimde ayrışmasını sağlar.

Perplexity: En Kritik Hiperparametre

Perplexity, t-SNE'nin en önemli hiperparametresidir ve her veri noktası için efektif komşu sayısını belirler. Önerilen aralık 5 ile 50 arasındadır: düşük perplexity yerel yapıyı ön plana çıkarır ancak küresel örüntüleri kaçırabilir; yüksek perplexity ise küresel yapıyı yakalarken yerel ayrışımı bulanıklaştırabilir. Büyük veri kümelerinde genellikle daha yüksek perplexity değerleri tercih edilir. Kritik bir uyarı: t-SNE çıktıları rastsal başlangıç noktasına ve perplexity değerine duyarlıdır, bu nedenle farklı çalıştırmalarda görsel düzen farklılık gösterebilir. Tekrarlanabilirlik için random_state (seed) parametresinin sabitlenmesi önerilir.

t-SNE ile PCA Karşılaştırması

  • check_circle Doğrusallık: PCA doğrusal bir dönüşüm uygular ve varyansı maksimize eden eksenleri bulur. t-SNE doğrusal olmayan bir yaklaşım kullanır, karmaşık manifold yapılarını ve kümeleri daha iyi koruyabilir.
  • check_circle Yorumlanabilirlik: PCA eksenlerinin anlamı yorumlanabilirken (1. bileşen, 2. bileşen vb.), t-SNE eksenlerinin doğrudan anlamı yoktur; yalnızca noktalar arası mesafeler göreceli yapı bilgisi taşır.
  • check_circle Ölçeklenebilirlik: PCA büyük veri kümelerinde çok daha hızlıdır ve analitik çözümü mevcuttur. t-SNE yinelemeli bir optimizasyon gerektirir; büyük verilerde Barnes-Hut t-SNE veya FIt-SNE kullanılır.
  • check_circle Kullanım Amacı: PCA hem görselleştirme hem de özellik çıkarımı için uygundur. t-SNE neredeyse yalnızca görselleştirme amacıyla kullanılır ve yeni nokta projeksiyonu üretemez.

Başlıca Kullanım Alanları

t-SNE, derin öğrenme modellerinin gizli katman temsillerini (embedding) görselleştirmek için yaygın biçimde kullanılır; bu sayede modelin veriyi nasıl grupladığı anlaşılır. Görüntü sınıflandırma görevlerinde benzer görüntülerin yakın kümelerde toplandığı doğrulanabilir. Genomik araştırmalarda hücre tiplerine göre gen ifadesi örüntüleri görselleştirilir; tek hücreli RNA dizileme analizlerinde farklı hücre popülasyonlarını ayırt etmede özellikle değerlidir. Doğal dil işlemede kelime veya belge gömme vektörlerinin anlamlı kümeler oluşturup oluşturmadığı incelenir. Anomali tespitinde normal davranıştan belirgin şekilde ayrışan noktalar saptanır. Ayrıca ilaç keşfi, ses analizi, kimyasal molekül görselleştirmesi ve siber güvenlik alanlarında da kullanım alanı bulmaktadır.

📊 t-SNE Kullanırken Dikkat Edilecekler

  • check_circle Perplexity parametresi veri boyutuna göre ayarlanmalı; 5-50 arasında deneme yapın
  • check_circle t-SNE küme mesafeleri anlamsızdır; kümelerin birbirine yakınlığını yorumlamayın
  • check_circle Her çalıştırmada farklı düzenleme oluşur; seed sabitlemeden sonuç karşılaştırmayın
  • check_circle Büyük veri setleri için önce PCA ile boyut azaltın, ardından t-SNE uygulayın
  • check_circle UMAP daha hızlı ve küresel yapıyı daha iyi korur; t-SNE'ye modern alternatif

Sık Sorulan Sorular

  • check_circle t-SNE ile UMAP arasındaki fark nedir? Her ikisi de doğrusal olmayan boyut indirgeme yöntemleridir; UMAP matematiksel olarak manifold öğrenmesine dayanır, genellikle daha hızlıdır ve küresel yapıyı daha iyi korur. t-SNE yerel küme ayrışımında daha belirgin sonuçlar verebilir.
  • check_circle t-SNE çıktıları neden her seferinde farklı görünüyor? t-SNE rastsal başlangıç noktasıyla başlar ve gradyan inişiyle optimize eder; bu yüzden her çalıştırma farklı bir yerel minimuma ulaşabilir. Tekrarlanabilirlik için random_state (seed) parametresi sabitlenmelidir.
  • check_circle t-SNE gömmeleri makine öğrenimi modellerinde girdi olarak kullanılabilir mi? Genel olarak önerilmez. t-SNE yalnızca görselleştirme için tasarlanmıştır ve yeni veri noktaları için tutarlı projeksiyon üretemez. Özellik çıkarımı için PCA veya UMAP tercih edilmelidir.
  • check_circle Büyük veri kümelerinde t-SNE nasıl hızlandırılır? 10.000'den fazla nokta içeren veri kümelerinde Barnes-Hut t-SNE (O(n log n) karmaşıklığı) veya FIt-SNE gibi yaklaşık algoritmalar kullanılmalıdır. Scikit-learn'de method='barnes_hut' parametresi bu optimizasyonu otomatik devreye alır.