Temel Bileşen Analizi'nin (PCA) makine öğrenimi için yüksek boyutlu verileri nasıl basitleştirdiğini öğrenin. Veri ön işleme ve YOLO26 gömmelerini görselleştirme için PCA'yı nasıl kullanabileceğinizi keşfedin.
Temel Bileşen Analizi (PCA), makine öğreniminde (ML) yaygın olarak kullanılan bir istatistiksel tekniktir ve yüksek boyutlu verilerin karmaşıklığını basitleştirirken, en önemli bilgileri korur. PCA, Bu teknik, boyut azaltma yöntemi olarak işlev görür ve çok sayıda değişken içeren büyük veri kümelerini daha küçük, daha yönetilebilir "ana bileşenler" kümesine dönüştürür. Verilerin en çok değiştiği yönleri belirleyerek, PCA veri bilimcilerin hesaplama maliyetlerini azaltmasına ve önemli kalıpları kaybetmeden gürültüyü ortadan kaldırmasına olanak tanır. Bu süreç, etkili veri ön işlemede kritik bir adımdır ve genellikle karmaşık veri kümelerini iki veya üç boyutta görselleştirmek için kullanılır.
Temelinde PCA, varyansa dayalı olarak verileri yeniden düzenleyen bir doğrusal dönüşüm tekniğidir. Bir görüntüdeki piksel değerleri veya bir Nesnelerin İnterneti (IoT) ağındaki sensör okumaları gibi birçok özelliğe sahip bir veri kümesinde değişkenler, aktardıkları bilgilerde sıklıkla çakışır. PCA, varyansı art arda en üst düzeye çıkaran yeni, korelasyonlu olmayan değişkenleri (ana bileşenler) tanımlar. İlk bileşen verilerdeki mümkün olan en büyük varyasyonu yakalar , ikinci bileşen bir sonraki en büyük varyasyonu yakalar (birinci bileşene dik olarak) ve bu şekilde devam eder.
Yalnızca en üstteki birkaç bileşeni tutarak ve geri kalanını atarak, uygulayıcılar önemli bir sıkıştırma elde edebilirler. Bu, boyutluluk lanetini hafifletmeye yardımcı olur; bu fenomen, mevcut eğitim örneklerine göre özelliklerin sayısı arttıkça tahminsel modelleme performansının düşmesidir.
PCA çok yönlüdür ve verilerin temizlenmesinden model iç yapısının görselleştirilmesine kadar AI geliştirme yaşam döngüsünün çeşitli aşamalarını destekler.
PCA, özellik çıkarma için standart bir araç olmakla birlikte, diğer indirgeme tekniklerinden ayırt etmek faydalıdır: :
Aşağıdaki örnekte nasıl kullanılacağı gösterilmektedir scikit-learn yüksek boyutlu özellik vektörlerini azaltmak için.
Bu iş akışı, bir görme modelinin çıktısını depolamadan önce sıkıştırmayı simüle eder.
vektör veritabanı veya kümeleme için kullanmak.
import numpy as np
from sklearn.decomposition import PCA
# Simulate 100 image embeddings, each with 512 dimensions (features)
embeddings = np.random.rand(100, 512)
# Initialize PCA to reduce the data to 3 principal components
pca = PCA(n_components=3)
# Fit and transform the embeddings to the lower dimension
reduced_data = pca.fit_transform(embeddings)
print(f"Original shape: {embeddings.shape}") # Output: (100, 512)
print(f"Reduced shape: {reduced_data.shape}") # Output: (100, 3)
PCA'yı Ultralytics boru hatlarına entegre etmek, giriş karmaşıklığını azaltarak model eğitimini kolaylaştırmaya yardımcı olabilir, bu da daha hızlı deneyler ve daha sağlam AI çözümleri sağlar.