ICA'nın önce PCA'yı çalıştırması gerekiyor mu?


9

ICA uygulamadan önce PCA (fastICA paketi kullanarak) uygulanmasını söyleyen uygulama tabanlı bir makaleyi gözden geçirdim. Sorum şu: ICA (fastICA) önce PCA'nın çalıştırılmasını gerektiriyor mu?

Bu yazı ,

... ayrıca, PCA'nın ön-uygulamasının, (1) beyazlatmadan önce küçük arkadan gelen özdeğerleri atarak ve (2) çift-bağımlı bağımlılıkları en aza indirerek hesaplama karmaşıklığını azaltarak ICA performansını arttırdığı ileri sürülmektedir. PCA, giriş verilerini ilişkilendirir; kalan üst düzey bağımlılıklar ICA ile ayrılır.

Ayrıca diğer makaleler ICA'dan önce PCA uyguluyor, örneğin bu .

ICA'dan önce PCA'yı çalıştırmak için başka artıları ve eksileri var mı? Lütfen teoriye referans veriniz.


Bu yayımlanmış eser ICA için PCA tabanlı boyutlu azaltma olumsuz etkilere bulur.
bonobo

Yanıtlar:


9

FastICA yaklaşımı bir ön beyazlatma adımı gerektirir: veriler önce bir çapraz kovaryans matrisine yol açan PCA kullanılarak dönüştürülür ve daha sonra her boyut, kovaryans matrisi kimlik matrisine (beyazlatma) eşit olacak şekilde normalleştirilir.

Kimlik kovaryans matrisi ile sonuçlanan verilerin sonsuz dönüşümleri vardır ve kaynaklarınız Gauss olsaydı orada durursunuz (Gaussian çok değişkenli dağılımlar, ortalama ve kovaryans yeterli istatistiklerdir), Gauss olmayan kaynakların varlığında bazılarını en aza indirebilirsiniz. beyazlaştırılmış verilere bağımlılığın ölçüsüdür, bu nedenle bağımsızlığı en üst düzeye çıkaran beyazlatılmış verilerin dönüşünü ararsınız. FastICA bunu, bilgi teorik ölçümlerini ve sabit nokta yineleme şemasını kullanarak başarır.

Sorunu daha iyi anlamak için Hyvärinen'in çalışmasını tavsiye ederim:

  • A. Hyvärinen. Bağımsız Bileşen Analizi için Hızlı ve Sağlam Sabit Nokta Algoritmaları. Yapay Sinir Ağlarında IEEE İşlemleri 10 (3): 626-634, 1999.
  • A. Hyvärinen, J. Karhunen, E. Oja, Bağımsız Bileşen Analizi, Wiley & Sons. 2001

PCA ve boyut küçültme işlemlerinin tamamen aynı olmadığını unutmayın: sinyallerden daha fazla gözlem (sinyal başına) olduğunda, açıklanan varyansın% 100'ünü koruyan bir PCA gerçekleştirebilir ve ardından beyazlatma ve sabit nokta yinelemesine devam edebilirsiniz. bağımsız bileşenlerin bir tahminini elde etmek. Boyut küçültme yapıp yapmamanız büyük ölçüde bağlama bağlıdır ve modelleme varsayımlarınıza ve veri dağıtımınıza bağlıdır.


2
Bu iyi bir cevap, ama bildiğim kadarıyla son noktanız çok daha güçlü hale getirilebilir: boyutsallığı azaltmak için PCA adımını kullanmak neredeyse her zaman iyi bir fikirdir (verileri beyazlatmaya ek olarak). Aslında, boyutsallık çok yüksekse, ICA kolayca takılabilir ve anlamsız bileşenler üretebilir. PCA ile ön işleme genellikle bu sorunu çözer (OP'deki alıntıda belirtildiği gibi).
amip

4

PCA'nın verilerinize uygulanması, orijinal koordinat eksenlerini döndürmenin tek etkisidir. Doğrusal bir dönüşüm, örneğin Fourier dönüşümü gibi. Bu nedenle, verilerinize gerçekten hiçbir şey yapamaz.

Bununla birlikte, yeni PCA alanında temsil edilen verilerin bazı ilginç özellikleri vardır. PCA ile koordinat rotasyonunu takiben, yeni eksenler tarafından açıklanan toplam varyansın yüzdesi gibi belirlenmiş kriterlere göre bazı boyutları atabilirsiniz. Sinyaline bağlı olarak, bu yöntemle önemli miktarda boyutsal azalma elde edebilirsiniz ve bu kesinlikle aşağıdaki ICA'nın performansını artıracaktır. PCA bileşenlerinden herhangi birini atmadan bir ICA yapmanın aşağıdaki ICA'nın sonuçları üzerinde hiçbir etkisi olmayacaktır.

Ayrıca, koordinat eksenlerinin dikliği nedeniyle PCA boşluğundaki verileri kolayca beyazlatabilir. Beyazlatma, tüm boyutlardaki varyansları eşitleme etkisine sahiptir. Bunun bir ICA'nın düzgün çalışması için gerekli olduğunu iddia ediyorum. Aksi takdirde, en büyük varyansları olan sadece birkaç PCA bileşeni ICA sonuçlarına egemen olacaktır.

Bir ICA'dan önce PCA tabanlı ön işleme için herhangi bir dezavantaj görmüyorum.

Giancarlo zaten ICA için en iyi referansı gösteriyor ...


Tüm cevabınız, PCA'nın uygulanmasının sadece koordinat eksenini döndürdüğü öncülüne dayanmaktadır, ancak aslında "PCA'yı uygulayarak" insanlar genellikle boyutsal azalma anlamına gelir (yani sadece bir PC alt kümesini tutmak ve geri kalanını bırakmak).
amip

PCA, hangi boyutları atacağınızı bulmanıza yardımcı olur. Bunun cevabımı nasıl ayarladığını görmüyorum.
bonobo

Bu çalışma yayınlanırken, PCA tabanlı boyutsal küçültmenin sonraki ICA kalitesi üzerinde olumsuz etkileri olduğunu iddia ediyorlar.
bonobo

Bağlantı için teşekkürler. Özeti okudum ve dürüst olmak gerekirse şüpheliyim. Ancak ICA konusunda uzman değilim ve muhtemelen bu makaleyi ayrıntılı olarak incelemeyeceğim.
amip

2

FastICA algoritmasının türetilmesi yalnızca tek bir adımda beyazlatma gerektirir. İlk olarak, adımın yönünü (degrade iniş gibi) seçersiniz ve bu beyazlatılmış veri gerektirmez. Sonra, Hessian'ın tersine bağlı olan adım boyutunu seçmeliyiz. Veriler beyazlatılırsa, bu Hessian diyagonal ve ters çevrilebilir.

Yani gerekli mi? Adım boyutunu sabit olarak sabitlediyseniz (bu nedenle beyazlatma gerektirmez) standart gradyan inişine sahip olursunuz. Sabit bir küçük basamak büyüklüğüne sahip gradyan inişi tipik olarak birleşecektir, ancak muhtemelen orijinal yöntemden çok daha yavaş olacaktır. Öte yandan, büyük bir veri matrisine sahipseniz, beyazlatma oldukça pahalı olabilir. Beyazlatma olmadan elde ettiğiniz daha yavaş yakınsamanda bile daha iyi olabilirsiniz.

Herhangi bir literatürde bundan bahsetmemek beni şaşırttı. Bir makale sorunu tartışıyor : Jimin Ye ve Ting Huang'ın Ön İzlemeden Kör Kaynak Ayrımı için Yeni Hızlı ICA Algoritmaları .

Beyazlatma için biraz daha ucuz bir seçenek öneriyorlar. Keşke onlar temel olarak beyazlatma olmadan sadece ICA çalışan bariz karşılaştırma dahil olsaydı, ama etmedi. Bir başka veri noktası olarak, oyuncak sorunları üzerinde beyazlatma yapmadan fastICA çalıştırmayı denedim ve iyi çalıştı.

Güncelleme: beyazlığı ele alan başka bir referans daha: sağlam bağımsız bileşen analizi, Zaroso ve Comon . Beyazlatma gerektirmeyen algoritmalar sağlarlar.

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.