t-SNE'nin yüksek boyutlu verileri nasıl görselleştirdiğini keşfedin. Ultralytics için bilgisayar görme özelliklerinde kümeleri ortaya çıkarmayı ve makine öğrenimi modellerini optimize etmeyi öğrenin.
t-dağıtımlı Stokastik Komşu Gömme (t-SNE), her veri noktasına iki veya üç boyutlu bir haritada bir konum vererek yüksek boyutlu verileri görselleştirmek için kullanılan istatistiksel bir yöntemdir. Bu teknik, doğrusal olmayan Bu teknik, doğrusal olmayan boyut indirgeme biçimidir ve makine öğreniminde yüzlerce veya binlerce özellik içeren veri kümelerini keşfetmek için yaygın olarak kullanılır. Küresel yapıları korumaya odaklanan doğrusal yöntemlerin aksine, t-SNE benzer örnekleri birbirine yakın tutmada mükemmeldir ve aksi takdirde gizli kalabilecek yerel kümeleri ve manifoldları ortaya çıkarır. Bu, onu genomik araştırmalardan derin sinir ağlarının iç mantığını anlamaya kadar her şey için paha biçilmez bir araç haline getirir. t-SNE, yüksek boyutlu verileri görselleştirmek için kullanılan bir istatistiksel yöntemdir.
t-SNE'nin temel fikri, veri noktaları arasındaki benzerlikleri ortak olasılıklara dönüştürmektir. Orijinal yüksek boyutlu uzayda, algoritma Gauss dağılımını kullanarak noktalar arasındaki benzerliği ölçer. İki nokta birbirine yakınsa, "komşu" olma olasılıkları yüksektir. Algoritma daha sonra bu olasılıkları koruyarak bu noktaları daha düşük boyutlu bir uzaya (genellikle 2D veya 3D) eşlemeye çalışır.
Bunu başarmak için, Student's t-dağılımını kullanarak düşük boyutlu haritada benzer bir olasılık dağılımı tanımlar. Bu özel dağılım, normal Gauss dağılımından daha ağır kuyruklara sahiptir, bu da "kalabalıklaşma sorunu"nu çözmeye yardımcı olur — bu, yüksek boyutlu uzaydaki noktaların aşağıya yansıtıldığında birbirlerinin üzerine çökme eğiliminde olduğu bir fenomendir. Görselleştirmede farklı noktaları birbirinden daha uzağa iterek, t-SNE, eğitim verilerinin altında yatan yapıyı ortaya çıkaran belirgin, okunabilir kümeler oluşturur. Algoritma, yüksek boyutlu ve düşük boyutlu olasılık dağılımları arasındaki ayrışmayı en aza indirerek, denetimsiz öğrenme yoluyla en iyi harita temsilini etkili bir şekilde öğrenir.
t-SNE, keşifsel veri analizi (EDA) ve model tanılama için standart bir araçtır. Mühendislerin bir modelin ne öğrendiğini "görmelerini" sağlar.
t-SNE'yi, başka bir yaygın indirgeme tekniği olan Temel Bileşen Analizi (PCA)
Veri ön işlemede yaygın olarak kullanılan bir en iyi uygulama, önce PCA kullanarak verileri yönetilebilir bir boyuta (örneğin, 50 boyut) indirgemek ve ardından son görselleştirme için t-SNE uygulamaktır. Bu hibrit yaklaşım, hesaplama yükünü azaltır ve t-SNE sonucunu bozabilecek gürültüyü filtreler.
Aşağıdaki örnekte nasıl kullanılacağı gösterilmektedir scikit-learn sentetik veri setine t-SNE uygulamak. Bu
iş akışı, derin öğrenme modelinden çıkarılan özelliklerin nasıl görselleştirilebileceğini yansıtmaktadır.
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.manifold import TSNE
# Generate synthetic high-dimensional data (100 samples, 50 features, 3 centers)
X, y = make_blobs(n_samples=100, n_features=50, centers=3, random_state=42)
# Apply t-SNE to reduce dimensions from 50 to 2
# 'perplexity' balances local vs global aspects of the data
tsne = TSNE(n_components=2, perplexity=30, random_state=42)
X_embedded = tsne.fit_transform(X)
# Plot the result to visualize the 3 distinct clusters
plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c=y)
plt.title("t-SNE Projection of High-Dimensional Data")
plt.show()
Güçlü olmasına rağmen, t-SNE dikkatli bir hiperparametre ayarlaması gerektirir. "Perplexity" parametresi çok önemlidir; bu parametre, her bir noktanın kaç tane yakın komşusu olduğunu tahmin eder. Bu parametrenin çok düşük veya çok yüksek ayarlanması, yanıltıcı görselleştirmelere neden olabilir. Ayrıca, t-SNE küresel mesafeleri iyi korumaz; yani grafikteki iki farklı küme arasındaki mesafe, orijinal uzaydaki fiziksel mesafeyi yansıtmayabilir. Bu nüanslara rağmen, bilgisayar görme (CV) mimarilerini doğrulamak ve karmaşık veri kümelerini anlamak için temel bir teknik olmaya devam etmektedir. Büyük ölçekli veri kümelerini yöneten kullanıcılar, bu tür derinlemesine analizler yapmadan önce verilerini düzenlemek için genellikle Ultralytics kullanır.