Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Temel Bileşen Analizi (PCA)

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.

PCA Nasıl Çalışı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.

Gerçek Dünya Uygulamaları

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.

  • Görüntü Gömme İşlemlerini Görselleştirme: Gelişmiş bilgisayar görme (CV) görevlerinde, YOLO26 gibi modeller görüntüleri temsil etmek için yüksek boyutlu gömme işlemleri üretir. Bu vektörler 512 veya 1024 farklı değer içerebilir, bu da insanların bunları doğrudan görmesini imkansız hale getirir. Mühendisler, PCA'yı kullanarak bu gömülüleri 2D bir grafiğe yansıtarak, modelin farklı sınıfları ne kadar iyi ayırdığını görsel olarak inceleyebilirler. Örneğin, otonom araç sistemlerinde "yayaları" ve "bisikletlileri" ayırt etmek gibi.
  • Anomali Tespiti için Ön İşleme: Finans kurumları ve siber güvenlik firmaları, anomali tespiti için PCA kullanır. Bir sistemin normal davranışını ana bileşenleri kullanarak modelleyerek, bu bileşenlerle iyi bir şekilde yeniden yapılandırılamayan herhangi bir işlem veya ağ paketi aykırı değer olarak işaretlenir. Bu, gerçek zamanlı akışlarda dolandırıcılık veya düşmanca saldırıları tespit etmek için etkilidir.

PCA ile t-SNE ve Otomatik Kodlayıcıların Karşılaştırması

PCA, özellik çıkarma için standart bir araç olmakla birlikte, diğer indirgeme tekniklerinden ayırt etmek faydalıdır: :

  • t-SNE (t-Dağıtılmış Stokastik Komşu Gömme): PCA, küresel yapı ve varyansı koruyan doğrusal bir yöntemdir. Buna karşılık, t-SNE, yerel komşu yapıları korumada üstün olan doğrusal olmayan olasılıksal bir tekniktir ve farklı kümeleri görselleştirmek için daha iyidir, ancak hesaplama açısından daha yoğundur. .
  • Otomatik kodlayıcılar: Bunlar, verileri sıkıştırmak ve yeniden oluşturmak için eğitilmiş sinir ağlarıdır. PCA'dan farklı olarak, otomatik kodlayıcılar karmaşık doğrusal olmayan eşlemeleri öğrenebilir. Ancak, etkili bir şekilde eğitilmek için önemli ölçüde daha fazla eğitim verisi ve hesaplama kaynağına ihtiyaç duyarlar.

Python : Özellikleri Sıkıştırma

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.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın