Principal Component Analysis (PCA)
Temel bileşen analizi (PCA), verileri varyansın en büyük bölümünü yakalayan dik yönlere yansıtır. Nasıl çalıştığı, k değerini seçme, kullanım alanları ve kod.
Temel bileşen analizi (PCA), veriyi temel bileşenler adı verilen ve her birinin verideki varyansın ne kadarını yakaladığına göre sıralanan, korelasyonsuz yeni değişkenler biçiminde yeniden ifade eden doğrusal bir boyut indirgeme tekniğidir. Yalnızca ilk birkaç bileşeni tutmak, bilgilerin çoğunu korurken birbiriyle ilişkili birçok özelliği az sayıda özelliğe sıkıştırır. Karl Pearson yöntemi 1901'de ortaya koydu; Harold Hotelling ise yöntemi daha da geliştirerek 1933'te adlandırdı. PCA, etiketleri dikkate almayan bir denetimsiz tekniktir ve standart bir veri ön işleme adımı, yüksek boyutlu verileri iki veya üç boyutta hızla görselleştirme yöntemi ve makine öğrenimi alanında sıkıştırma ile gürültü giderme için bir temel işlevi görür.
PCA Nasıl Çalışır#
PCA önce ortalamayı çıkararak her özelliği merkezler. İlk temel bileşen, merkezlenmiş verilerin en fazla değiştiği yöndür; sonraki her bileşen ise önceki bileşenlerin tümüne dik olan, kalan varyansın en yüksek olduğu yöndür. Bileşenler, verinin kovaryans matrisinin özvektörleridir; bunlara karşılık gelen özdeğerler ise bu yönlerdeki varyanslardır. Kitaplıklar ikisini de, kovaryans matrisini oluşturmaktan sayısal açıdan daha kararlı olan, merkezlenmiş verilerin tekil değer ayrışımı (SVD) ile hesaplar. Veriyi ilk k bileşene yansıtmak indirgenmiş temsili verir; geri eşlemek ise özgün verinin yaklaşık hâlini oluşturur. PCA, k boyuta yapılan tüm doğrusal izdüşümler arasında en küçük kareli yeniden oluşturma hatasını verir.
Varyans ölçü birimlerine bağlıdır; bu nedenle dolar cinsinden gelir ve yıl cinsinden yaş gibi farklı ölçeklerde ölçülen özellikler önce standartlaştırılır. Aksi hâlde sayısal aralığı en büyük olan özellik ilk bileşene baskın gelir. Bileşen sayısı k genellikle açıklanan varyans oranına göre seçilir: kümülatif varyans payı %95 gibi bir hedefe ulaşana kadar bileşenler tutulur ya da bileşen başına varyansı gösteren yamaç grafiğinin dirsek noktası kullanılır.
Scikit-learn'in PCA uygulaması, varyans hedefini doğrudan kabul eder. Bu örnek, el yazısıyla yazılmış rakamların 8×8 görüntülerini sıkıştırır:
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
# 1,797 handwritten digits, each an 8x8 image flattened to 64 pixel values
X, _ = load_digits(return_X_y=True)
# Keep the fewest components that explain 95% of the variance
pca = PCA(n_components=0.95)
X_reduced = pca.fit_transform(X)
print(f"{X.shape[1]} features -> {pca.n_components_} components")
print(f"First two components: {pca.explained_variance_ratio_[:2].sum():.1%} of the variance")Yirmi dokuz bileşen, 64 pikseldeki varyansın %95'ini koruyarak girdi boyutunu yarıdan fazla azaltır; ilk iki bileşen ise tek başına %28,5'ini kapsar. Bunun nedeni, komşu piksellerin güçlü biçimde ilişkili olması ve görüntülerin sol ile sağ kenarlarındaki piksellerin neredeyse hiç değişmemesidir.
Sınırlamalar#
PCA yalnızca doğrusal yapıları bulur; bu nedenle eğri bir yüzey üzerinde yer alan veriler, gerçek boyutluluğundan daha fazla bileşen gerektirir. Her bileşen, özgün özelliklerin tümünü bir araya getirir; bu da bileşenlerin yorumlanmasını zorlaştırır. Ayrıca, kareli uzaklıklar birkaç aykırı değerin bileşenleri saptırmasına yol açar. Yüksek varyans, kullanışlılık anlamına da gelmez: düşük varyanslı bir yön, iki sınıfı birbirinden ayıran sinyali taşıyabilir; dolayısıyla çok az varyans kaybedilse bile bu yönü elemek sınıflandırıcıya zarar verebilir. Çok sayıda özelliği birkaç özelliğe indirmek, özellik sayısı arttıkça modellerin genelleme yapabilmesi için çok daha fazla örneğe ihtiyaç duyduğu boyutluluk laneti sorununu hafifletir ve özelliklerin çok, örneklerin az olduğu durumlarda aşırı öğrenmeyi sınırlar.
Bilgisayarlı Görüde Gömme Vektörleri için PCA#
Görüntü modelleri her görüntüyü veya nesneyi yüzlerce sayıdan oluşan bir vektör olan gömme vektörüyle tanımlar; PCA da bu vektörleri görselleştirmek, kümelemek veya sıkıştırmak için yaygın bir ilk adımdır. YOLO26 modelleri, model.embed() aracılığıyla görüntü başına bir gömme vektörü döndürür. Bu vektörleri ilk iki temel bileşene yansıtmak, özel verilerle eğitilmiş bir modelin sınıflarını nasıl ayırdığını gösteren hızlı ve doğrusal bir harita sunar. Saklanan gömme vektörlerini daha az boyuta indirmek, bir vektör veritabanı dizinini küçültür ve vektör aramasını hızlandırır.
Uygulamalar#
- Yüz tanıma: Turk ve Pentland'ın (1991) öz yüzler yöntemi, her yüzü bir yüz görüntüsü kümesinin temel bileşenleri üzerindeki koordinatlarıyla temsil ediyor ve kişileri bu koordinatları karşılaştırarak tanıyordu.
- Anomali tespiti: Endüstriyel süreç izlemede, normal çalışma sırasındaki sensör verilerine PCA uygulanır ve yeni bir ölçüm kötü biçimde yeniden oluşturulduğunda veya tutulan bileşenler boyunca çok uzakta kaldığında alarm verilir.
- Popülasyon genetiği: Genotip verilerine uygulanan PCA, kökeni özetler. 1.387 Avrupalının incelendiği 2008 tarihli bir çalışmada ilk iki bileşen, Avrupa'nın tanınabilir bir haritasını ortaya çıkardı.
- Faiz oranı riski: Tahvil getiri eğrisindeki değişimlere, analistlerin düzey, eğim ve eğrilik adını verdiği üç bileşen hâkimdir; bu nedenle risk modelleri her vadeyi ayrı ayrı izlemek yerine üç sayıyı takip eder.
PCA ve İlişkili Teknikler#
- t-SNE ve UMAP: Görselleştirme için geliştirilen doğrusal olmayan yöntemler, yerel komşulukları koruyarak kümelerin daha net ayrılmasını sağlar; ancak birbirinden uzak kümeler arasındaki uzaklıklar anlamını yitirir. Scikit-learn'ün t-SNE yöntemi yeni noktalar için dönüştürme sunmazken, eğitilmiş bir PCA yeni verileri tek bir matris çarpımıyla yansıtır.
- Otokodlayıcılar: Verileri sıkıştırıp yeniden oluşturan ve doğrusal olmayan yapıları öğrenebilen sinir ağlarıdır. Kareli hata ile eğitilen doğrusal bir otokodlayıcı, PCA ile aynı alt uzayı öğrenir.
- Özellik seçimi ve çıkarımı: Özellik seçimi, yorumlanabilir kalan özgün sütunların bir alt kümesini korur. Klasik bir özellik çıkarımı yöntemi olan PCA ise bunların tümünü birleştirerek yeni özellikler oluşturur.
- Doğrusal diskriminant analizi (LDA): Toplam varyans yerine sınıflar arasındaki ayrımı en üst düzeye çıkaran yönleri seçen, denetimli öğrenmedeki bir benzer yöntemdir ve sınıf sayısının en fazla bir eksiği kadar bileşen üretir.










