t-SNE Nedir? Boyut İndirgeme ve Görselleştirme Algoritması (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-Dağılımlı Stokastik Komşu Gömme; İng. t-Distributed Stochastic Neighbor Embedding), yüksek boyutlu veri kümelerini 2 veya 3 boyutlu uzayda görselleştirmek için kullanılan, doğrusal olmayan bir boyut indirgeme ve görselleştirme algoritmasıdır. 2008 yılında Laurens van der Maaten ve Geoffrey Hinton tarafından geliştirilmiş olan bu yöntem, özellikle büyük veri kümelerindeki gizli küme yapılarını ve örüntüleri ortaya çıkarmada son derece etkilidir. Algoritmanın çalışma prensibi iki temel aşamaya dayanır. İlk aşamada, yüksek boyutlu uzaydaki her nokta çifti arasındaki benzerlikler Gaussian dağılımı kullanılarak 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 Student-t dağılımıyla yeniden modellenir. Student-t dağılımının kalın kuyruğu, uzak noktaların düşük boyutlu uzayda daha da uzaklaşmasını sağlayarak 'kalabalık problemi' (crowding problem) olarak bilinen yapısal bozulmayı giderir. Algoritma, iki dağılım arasındaki Kullback-Leibler ıraksamasını minimize ederek düşük boyutlu temsilini gradyan inişi yöntemiyle optimize eder. t-SNE'nin en kritik hiperparametresi olan perplexity değeri (önerilen aralık: 5-50), her veri noktası için efektif komşu sayısını belirler. Düşük perplexity yerel yapıyı, yüksek perplexity ise küresel yapıyı ön plana çıkarır. Farklı çalıştırmalarda görsel düzen değişebileceğinden, t-SNE çıktılarının yorumlanmasında dikkatli olunması gerekir. Derin öğrenme modellerinin gömme vektörlerini keşfetme, görüntü sınıflandırma sonuçlarını analiz etme ve genomik veri görselleştirme gibi alanlarda yaygın biçimde kullanılan t-SNE, büyük veri kümelerinde yavaşlayabilir; bu durumda Barnes-Hut t-SNE ya da FIt-SNE gibi yaklaşık yöntemler önerilmektedir.

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.

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.