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.