PCA, ICA ve Laplacian eigenmaps


11

Soru

Laplacian Eigenmaps yöntemiyle çok ilgileniyorum. Şu anda tıbbi veri setlerimde boyut küçültme yapmak için kullanıyorum.

Ancak, yöntemi kullanarak bir sorunla karşılaştım.

Örneğin, bazı verilerim (spektrum sinyalleri) var ve bazı PC'leri (veya IC'leri) almak için PCA (veya ICA) kullanabilirim. Sorun, LE kullanarak orijinal verilerin benzer boyutta küçültülmüş bileşenlerinin nasıl elde edilmesidir?

Laplacian eigenmaps yöntemine göre, genelleştirilmiş özdeğer problemini çözmemiz gerekiyor;

Ly=λDy

Burada özvektördür. Örneğin ilk 3 özvektörü (3 öz değerine göre çözelti) çizersem, sonuçlar yorumlanamaz.y

Bununla birlikte, en iyi 3 PC ve en iyi 3 IC'yi çizdiğimde, sonuçlar her zaman açıkça (görsel olarak) orijinal verileri temsil ediyor gibi görünüyor .x

Bunun nedeni, matrisinin ağırlık matrisi (Bitişiklik matrisi ) tarafından tanımlanmış olması ve verisinin üstel bir fonksiyon kullanan oluşturmak için ısı çekirdeği ile donatılmasıdır . Sorum nasıl azaltılabilir bileşenleri almak için ise (değil özvektörler matrisi içinde )?LWxWxyL


Veri

Veri setim kısıtlı ve sorunu göstermek kolay değil. Burada ne demek istediğimi ve ne sormak istediğimi göstermek için bir oyuncak problemi yarattım.

Lütfen resme bakın,

İlk olarak, kırmızı eğrilerde (şeklin ilk sütunu) gösterilen bazı sinüs dalgaları A, B, C oluşturuyorum. A, B ve C, 1x1000 vektörde kaydedilmiş 1000 örneğe sahiptir.

İkinci olarak, rastgele oluşturulmuş doğrusal kombinasyonları kullanarak A, B, C kaynaklarını karıştırdım, örneğin, , burada rastgele değerlerdir. Karışık sinyal çok yüksek boyutlu , örneğin , 1517 rastgele seçilmiş yüksek boyutlu . Yeşil eğrilerde (şeklin ikinci sütunu) M sinyalinin sadece ilk üç sırasını gösteriyorum.M=r1A+r2B+r3Cr1,r2,r3MMR1517×1000

Sonra, boyut küçültme sonuçlarını almak için PCA, ICA ve Laplacian özma haritalarını çalıştırıyorum. Adil bir karşılaştırma yapmak için 3 PC, 3 IC ve 3 LE kullanmayı seçtim (mavi eğriler sırasıyla şeklin 3., 4. ve son sütunu olarak gösterildi).

PCA ve ICA sonuçlarından (şeklin 3., 4. sütunu), sonuçları bazı boyut küçültme olarak yorumlayabildiğimizi görebiliriz, yani ICA sonuçları için karışık sinyali ( PCA sonuçları ile de alabilir miyiz emin değilim ama sonuç benim için oldukça doğru görünüyor).M=b1IC1+b2IC2+b3IC3M=a1PC1+a2PC2+a3PC3

Ancak, lütfen LE sonuçlarına bakın, sonuçları zar zor yorumlayabiliyorum (şeklin son sütunu). İndirgenmiş bileşenlerle 'yanlış' bir şey gibi görünüyor. Ayrıca, sonunda son sütunun grafiğinin formülünde özvektör olduğunu belirtmek isterimyLy=λDy

Daha fazla fikriniz var mı?

Isıtma çekirdeğinde en yakın 12 komşu ve sigma kullanan Şekil 1 0,5'tir: Soldan sağa sütunlar: orijinal sinyal, karışık sinyal, PC'ler, IC'ler, LE'ler

Isıtma çekirdeğinde 1000'e yakın komşu ve sigma kullanan Şekil 2 0,5'tir: Soldan sağa sütunlar: orijinal sinyal, karışık sinyal, PC'ler, IC'ler, LE'ler

Kaynak kodu : Gerekli pakete sahip Matlab kodu


2
Azaltılmış x bileşenleri ile ne demek istiyorsun? Şunu mu demek istediniz: x'in düşük boyutlu gömülmesi?
cenaze arabası

Kulağa ilginç geliyor. Aslında verilerinizin neye benzediğine dair daha ayrıntılı bir açıklama verebilir misiniz?
Placidia

Yanıtlar:


4

Sorunuzun cevabı, orijinal Laplacian Eigenmaps belgesinin alt kısmındaki eşleme ile verilir :

xi(f1(i),,fm(i))

Örneğin, en üstteki 2 "bileşen" e noktasının gömülmesi, tarafından verilir; burada ve , sıfır olmayan en küçük iki öz karşılık gelen özvektörlerdir genelleştirilmiş özdeğer probleminden .x5(f1(5),f2(5))f1f2Lf=λDf

PCA'dan farklı olarak, örnek dışı bir gömme elde etmek kolay değildir. Başka bir deyişle, hesaplanırken zaten dikkate alınan bir noktanın gömülmesini elde edebilirsiniz , ancak yeni bir nokta ise (kolayca) elde edemezsiniz. İkincisini yapmakla ilgileniyorsanız, bu makaleye bakın .L


Değişkenleriniz olarak düşündüğünüz konusunda biraz kafam karıştı. Anladığım kadarıyla, matrisiniz 1000 boyutlu bir alandan 1517 örnekten oluşur. Bu matriste PCA (veya ICA) yaptığınızda, altta yatan varyasyon modlarını oldukça iyi kurtarabilirsiniz: örneğin, şekillerinizdeki sütun 3'te, satır 1,2,3 C, A, B bazlarına karşılık gelir sırasıyla. Bu mantıklı. Ancak, kodunuzda, LEM gerçekleştirdiğinizde, ( ) işlevini yukarıdakiyle tutarlı olmayan olarak çağırırsınız . MMTmixedSignal'
Shantanu

İlk olarak, matrisinde değişkenleriniz nelerdir ve gözlemleriniz nelerdir? İkincisi, analizinizden sadece LEM kullanarak gömülmesini değil, aynı zamanda PCA'da olduğu gibi özvektörlerin eşdeğerini aradığınız görülüyor , değil mi? Bu LEM'i yapamazsın, en azından kolay değil. Nedenini anlamak için bu makaleyi okuyun . MM
Shantanu

Aradığınız tek şey gömme ise, o zaman eşlemesi ile kolayca verilir . Ayrıntılar için cevabıma bakın. Kodunuzda, 47 satırını değiştirin ve devrik yerine kullanın ; sonuç size 1517 noktanızın 3 boyutlu gömülmesini verecektir. xi(f1(i),,fm(i))mixedSignalmappedX
Shantanu

PS: Yukarıda, "Bunu LEM kullanarak yapamazsın , en azından kolay değil" demek istedim .
Shantanu


1

PCA-Laplacian eigenmap'lerinden farklı olarak en küçük özdeğerlere karşılık gelen genelleştirilmiş eigen vektörlerini kullanır. Öz vektörü en küçük öz değeri olan (sıfır olabilir) atlar ve sonraki en küçük öz değerlerine karşılık gelen öz vektörleri kullanır. PCA, çekirdek / gram matrisi kullanılarak gömülü bir maksimum varyans korumasıdır. Laplacian Eigenmaps, kombinatoryal grafik laplacian ile ilgili olarak bir minimizasyon problemi olarak daha fazla ortaya konmaktadır (Trosset makalelerine bakınız).


İlgilenen herkes lütfen soruma tekrar bakın. Bazı örnekler verdim. Çok teşekkürler.
Samo Jerom
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.