Dimensionality Reduction
Boyut indirgeme, PCA, t-SNE, UMAP ve otomatik kodlayıcılar gibi yöntemlerle yapıyı koruyarak çok sayıda özelliğe sahip verileri çok daha az boyuta yansıtır.
Boyut indirgeme, çok sayıda özellikle tanımlanan verileri; verinin varyansı, noktalar arasındaki uzaklıklar veya noktaların komşuları gibi önemli bilgileri koruyan, çok daha az özellikli bir gösterime dönüştürür. 640x640 boyutlarında renkli bir görüntüde 1,2 milyondan fazla piksel değeri, bir gen ifadesi profilinde 20.000 ölçüm ve bir görüntü gömüsünde ise genellikle yüzlerce boyut bulunur. Boyutları azaltmak makine öğrenimi modellerini hızlandırır, aşırı öğrenme riskini düşürür, depolama gereksinimini azaltır ve verilerin veri görselleştirme amacıyla iki veya üç boyutta çizilmesini mümkün kılar.
Daha Az Boyut Neden İşe Yarar#
Richard Bellman, boyutlar arttıkça problemlerin nasıl zorlaştığını açıklamak için dinamik programlama üzerine çalışmalarında "boyutluluk laneti" ifadesini ortaya attı. Her yeni özellikle birlikte uzayın hacmi üstel olarak büyür; böylece sabit miktardaki eğitim verisi bu alanı giderek daha seyrek biçimde kapsar. Çok yüksek boyutlarda rastgele noktalar arasındaki uzaklıklar neredeyse eşit hâle gelir ve bu durum, k-en yakın komşular ile k-means kümeleme gibi uzaklık temelli yöntemlerin etkisini zayıflatır.
Gerçek veriler nadiren bulundukları uzayın tamamını doldurur. El yazısı rakamların görüntüleri çoğunlukla çizgi kalınlığı, eğiklik ve birkaç başka etkene bağlı olarak değişir; bu nedenle piksel uzayında çok daha düşük boyutlu bir yüzeye veya manifolda yakın konumlanırlar. Boyut indirgeme, bu yüzey üzerindeki koordinatları bulur. Etiket gerektirmediği için yöntemlerin çoğu denetimsiz öğrenme türündedir.
Doğrusal ve Doğrusal Olmayan Yöntemler#
Karl Pearson'ın 1901'de ortaya koyduğu temel bileşen analizi (PCA), verileri yakaladıkları varyans miktarına göre sıralanmış dik yönlere döndürür ve ilk birkaç yönü tutar. Açıklanan varyans oranı, bir veri kümesinin kaç bileşene ihtiyaç duyduğunu gösterir. Ronald Fisher'ın 1936'da geliştirdiği doğrusal diskriminant analizi, sınıf etiketlerini kullanarak sınıfları en iyi ayıran yönleri bulur. Rastgele izdüşüm, verileri rastgele bir matrisle çarpar; Johnson-Lindenstrauss lemması ise n nokta arasındaki uzaklıkların, n'nin logaritmasıyla orantılı sayıda boyut kullanılarak seçilen bir tolerans dâhilinde korunacağını garanti eder.
Doğrusal olmayan yöntemler eğri manifoldları izler. Her ikisi de 2000'de Science dergisinde yayımlanan Isomap ve yerel doğrusal gömme, manifold boyunca uzaklıkları ve yerel doğrusal komşulukları korur. t-SNE ve UMAP, benzer noktaları 2B bir haritada birbirine yakın konumlandırır. Bu nedenle gömü kümelerini görüntülemek için standart araçlardır; ancak haritalarda birbirinden uzak kümeler arasındaki mesafeler çok anlamlı değildir. Otomatik kodlayıcılar, her girdiyi küçük bir gizil uzay koduna eşleyen kodlayıcı ve girdiyi yeniden oluşturan kod çözücü öğrenir. Geoffrey Hinton ve Ruslan Salakhutdinov, 2006'da derin otomatik kodlayıcıların görüntüler ve belgeler için PCA'dan daha iyi kodlar ürettiğini gösterdi.
Bu örnek, 8x8 boyutundaki rakam görüntülerini 64 piksel özelliğinden varyansın %90'ını koruyan en az sayıdaki temel bileşene sıkıştırır, ardından rakamları k-en yakın komşularla önce ve sonra sınıflandırır:
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.model_selection import cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline
X, y = load_digits(return_X_y=True) # 1,797 images of 8x8 pixels = 64 features
# Keep the fewest principal components that explain 90% of the variance
pca = PCA(n_components=0.90).fit(X)
print(f"Features: {X.shape[1]} -> {pca.n_components_}")
# Classify with k-nearest neighbors on the raw pixels and on the reduced features
raw = cross_val_score(KNeighborsClassifier(), X, y).mean()
reduced = cross_val_score(make_pipeline(PCA(n_components=0.90), KNeighborsClassifier()), X, y).mean()
print(f"Accuracy: {raw:.3f} with 64 features, {reduced:.3f} with {pca.n_components_}")Yirmi bir bileşen varyansın %90'ını korur ve çapraz doğrulamalı doğruluk, özelliklerin üçte biriyle yalnızca 0.963'ten 0.959'a düşer. PCA'yı işlem hattının içinde uygulamak, izdüşümü yalnızca her eğitim katından öğrenir; böylece test katlarından bilgi sızmaz.
Özellik Seçimi ve Özellik Çıkarımı#
Özellik seçimi, gereksiz sensör kanallarını kaldırmak gibi, orijinal sütunların bir alt kümesini tutar; böylece kalan özellikler anlamlarını korur. Daha dar anlamda boyut indirgeme, özellik çıkarımı işlemidir: eski özelliklerin birleşimlerinden yeni özellikler oluşturur; bu genellikle daha iyi sıkıştırma sağlar ancak yorumlaması daha zordur. Her ikisi de veri ön işleme ve özellik mühendisliği adımlarıdır. Derin ağlar, eğitim sırasında çıkarım işlemini gerçekleştirerek pikselleri gömmelere sıkıştırır; Matryoshka temsil öğrenimi ise önde gelen boyutları tek başına çalışabilen gömmeler eğitir, böylece bir vektör veritabanı daha kısa vektörleri depolayabilir.
Bilgisayarlı Görüde Kullanım Alanları#
Bilgisayarlı görü, çeşitli aşamalarda indirgenmiş temsillere dayanır. Görüntü gömmelerini t-SNE veya UMAP ile 2B'ye izdüşürmek, sınıfların ayrışıp ayrışmadığını ve aykırı değerlerin nerede bulunduğunu gösterir; PCA veya vektör nicemleme ise vektör arama için kullanılan gömmeleri küçülterek milyonlarca görüntünün belleğe sığmasını sağlar. YOLO26 örnek segmentasyonu modelleri bu yaklaşımı çıktılarının bir parçası hâline getirir: başlık, her görüntü için giriş çözünürlüğünün dörtte birinde 32 prototip maske hesaplar ve nesne başına yalnızca 32 katsayı tahmin eder; her nesnenin maskesi prototiplerin ağırlıklı toplamıdır. Böylece 640 piksel giriş için 160x160 boyutundaki maske (25.600 değer), 32 sayıyla kodlanır.










