Çekirdek PCA'nın standart PCA'ya göre avantajları nelerdir?


19

Bir veri matrisini ayrıştırmak için çekirdek SVD kullanan bir kağıda algoritma uygulamak istiyorum. Bu yüzden çekirdek yöntemleri ve çekirdek PCA vb. İle ilgili materyaller okuyorum. Ama özellikle matematiksel ayrıntılar söz konusu olduğunda benim için hala çok belirsiz ve birkaç sorum var.

  1. Neden çekirdek yöntemleri? Ya da çekirdek yöntemlerinin faydaları nelerdir? Sezgisel amaç nedir?

    Çekirdek olmayan yöntemlere kıyasla çok daha yüksek boyutlu bir alanın gerçek dünya problemlerinde daha gerçekçi olduğunu ve verilerdeki doğrusal olmayan ilişkileri ortaya koyabildiğini mi varsayıyoruz? Malzemelere göre, çekirdek yöntemleri verileri yüksek boyutlu bir özellik alanına yansıtır, ancak yeni özellik alanını açıkça hesaplamaları gerekmez. Bunun yerine, özellik alanındaki tüm veri nokta çiftlerinin görüntüleri arasında yalnızca iç ürünleri hesaplamak yeterlidir. Peki neden daha yüksek boyutlu bir uzaya yansıtma?

  2. Aksine, SVD özellik alanını azaltır. Neden farklı yönlerde yapıyorlar? Çekirdek yöntemleri daha yüksek boyut ararken SVD daha düşük boyut arar. Bana göre onları birleştirmek garip geliyor. Okuduğum makaleye göre ( Symeonidis ve ark. 2010 ), SVD yerine Kernel SVD'nin sunulması, verilerdeki seyreklik sorununa çözüm getirerek sonuçları iyileştirebilir.

resim açıklamasını buraya girin

Şekildeki karşılaştırmadan KPCA'nın PCA'dan daha yüksek varyansa (özdeğer) sahip bir özvektör aldığını görebiliyoruz, sanırım? Çünkü noktaların özvektör üzerindeki çıkıntılarının en büyük farkı için (yeni koordinatlar), KPCA bir daire ve PCA düz bir çizgi olduğundan, KPCA PCA'dan daha yüksek varyans alır. Peki bu KPCA'nın PCA'dan daha yüksek temel bileşenler aldığı anlamına mı geliyor?


3
Bir cevaptan daha fazla yorum: KPCA, Spektral Kümelemeye çok benzer - bazı ayarlarda bile aynıdır. (bkz. örneğin cirano.qc.ca/pdf/publication/2003s-19.pdf ).

Geç yanıt için üzgünüm. Evet, cevabınız çok aydınlatıcı.
Tyler 傲 来 国 主

Yanıtlar:


25

PCA (boyutsallık azaltma tekniği olarak) verilerin sınırlı olduğu düşük boyutlu doğrusal bir altuzay bulmaya çalışır. Ancak verilerin düşük boyutlu doğrusal olmayan altuzayla sınırlı olması olabilir . O zaman ne olacak?

Bishop'un "Örüntü tanıma ve Makine Öğrenimi" ders kitabından alınan bu Şekle bir göz atın (Şekil 12.16):

Bishop ML kitabından çekirdek PCA

Buradaki veri noktaları (solda) çoğunlukla 2B'deki bir eğri boyunca bulunur. PCA boyutlar ikiden bire indirgenemez, çünkü noktalar düz bir çizgi boyunca yer almaz. Fakat yine de, veriler "açık bir şekilde" tek boyutlu doğrusal olmayan bir eğri etrafında yer almaktadır. PCA başarısız olsa da, başka bir yol olmalı! Ve aslında, çekirdek PCA bu doğrusal olmayan manifoldu bulabilir ve verilerin gerçekte neredeyse tek boyutlu olduğunu keşfedebilir.

Bunu, verileri daha yüksek boyutlu bir alana eşleyerek yapar. Bu gerçekten bir çelişki gibi görünebilir (sorunuz # 2), ama değil. Veriler daha yüksek boyutlu bir alana eşlenir, ancak daha sonra daha düşük boyutlu bir alt alanda uzanır. Böylece boyutu azaltabilmek için boyutsallığı artırırsınız.

"Çekirdek numarasının" özü, kişinin aslında daha yüksek boyutlu alanı açıkça dikkate alması gerekmediğidir , bu nedenle boyutsallıktaki bu kafa karıştırıcı sıçrama tamamen gizli olarak gerçekleştirilir. Ancak fikir aynı kalır.


Güzel cevap. Sadece bir takip sorusu. Veri noktaları yukarıdaki şekilde gösterildiği gibi doğrusal değilse, PCA çalışmaz ve çekirdek PCA gereklidir. Ancak, ilk etapta veri noktalarının 4'ten fazla özelliğe sahip veri seti için (gerçek dünya örneği) doğrusal olmadığını nasıl biliyoruz. Bu tür verileri görselleştirmek için boyutsallığı azaltmamız gerekir, bu da veri doğrusal olmayan olabileceğinden ve görselleştirmek için normal PCA kullandığımız için yanlış olacak boyutsallığı azaltmak için PCA kullanmamız anlamına gelir. O zaman nasıl veri PCA yerine çekirdek PCA kullanmak için doğrusal olmadığını biliyor
Baktaawar

Teşekkürler, @user. Sanırım bu PCA / kPCA uygulamasına bağlıdır. Örneğin, bazı sınıflandırma, regresyon veya kümeleme algoritması için bir ön işleme adımı olarak uygulanırsa, PCA ve kPCA'nın sonraki algoritmanın ne kadar iyi performans gösterdiğinden ne kadar iyi performans gösterdiğine karar verilebilir.
amip, Reinstate Monica'ya

1
Teşekkürler @amoeba. Ama sormak istediğim şey, yukarıda belirttiğiniz gibi, veriler doğrusal olmadığında kPCA kullanmamız gerektiğiydi, o zaman verilerin hayırsa doğrusal olmayan olup olmadığını nasıl bilebilir. özellikleri fazla 3 ?. Boyutlara ulaşmadan bunu görselleştiremeyiz ve sonra bir tavuk ve yumurta problemi gibi
Baktaawar

2
@Baktaawar Makine öğrenimi yapıyorsanız, görselleştirmeyin, modelinizin kendisini öğrenmesine izin verin. Temel olarak iç yeniden örnekleme döngünüze bir KPCA adımı ekleyin ve çekirdekleri, doğrusal çekirdek ve test etmek istediğiniz / yapabileceğiniz diğer parametreler de dahil olmak üzere parametre olarak test edin.
Firebug
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.