Peta eigen PCA, ICA, dan Laplacian

11

Pertanyaan

Saya sangat tertarik dengan metode Eigenmaps Laplacian. Saat ini, saya menggunakannya untuk melakukan pengurangan dimensi pada set data medis saya.

Namun, saya mengalami masalah menggunakan metode ini.

Sebagai contoh, saya punya beberapa data (sinyal spektra), dan saya bisa menggunakan PCA (atau ICA) untuk mendapatkan beberapa PC (atau IC). Masalahnya adalah bagaimana cara mendapatkan komponen yang diperkecil dengan dimensi yang sama dari data asli menggunakan LE?

Menurut metode eigenmaps Laplacian, kita perlu memecahkan masalah nilai eigen umum, yaitu

Ly=λDy

Di sini adalah vektor eigen. Jika saya memetakan mis 3 vektor eigen teratas (solusi sesuai dengan 3 nilai eigen), hasilnya tidak dapat diartikan.y

Namun, ketika saya memplot 3 PC teratas dan 3 IC teratas, hasilnya selalu tampak jelas (secara visual) mewakili data asli .x

Saya berasumsi alasannya adalah karena matriks didefinisikan oleh matriks bobot (Adjacency matrix ), dan data telah dilengkapi dengan kernel panas untuk membuat , yang menggunakan fungsi eksponensial. Pertanyaan saya adalah bagaimana untuk mengambil komponen berkurang dari (bukan vektor eigen dari matriks )?LWxWxyL


Data

Dataset saya dibatasi dan tidak mudah untuk menunjukkan masalahnya. Di sini saya membuat masalah mainan untuk menunjukkan apa yang saya maksud dan apa yang ingin saya tanyakan.

Silakan lihat gambar,

Pertama, saya membuat beberapa gelombang sinus A, B, C yang ditampilkan dalam kurva merah (kolom pertama gambar). A, B, dan C memiliki 1000 sampel, dengan kata lain, disimpan dalam vektor 1x1000.

Kedua, saya mencampur sumber A, B, C menggunakan kombinasi linear yang dibuat secara acak, misalnya, , di mana adalah nilai acak. Sinyal campuran berada dalam ruang dimensi yang sangat tinggi, misalnya, , 1517 dipilih ruang dimensi tinggi yang dipilih secara acak. Saya hanya menampilkan tiga baris pertama sinyal M dalam kurva hijau (kolom kedua dari gambar).M=r1A+r2B+r3Cr1,r2,r3MMR1517×1000

Selanjutnya, saya menjalankan PCA, ICA dan eigenmap Laplacian untuk mendapatkan hasil pengurangan dimensi. Saya memilih untuk menggunakan 3 PC, 3 IC, dan 3 LE untuk melakukan perbandingan yang adil (kurva biru menunjukkan masing-masing 3, 4, dan kolom terakhir dari gambar).

Dari hasil PCA dan ICA (kolom 3, 4 dari gambar), kita dapat melihat bahwa kita dapat menafsirkan hasil sebagai beberapa pengurangan dimensi, yaitu, untuk hasil ICA, kita dapat memulihkan sinyal campuran dengan (Saya tidak yakin apakah kita juga bisa mendapatkan dengan hasil PCA tetapi hasilnya tampaknya cukup tepat untuk saya).M=b1IC1+b2IC2+b3IC3M=a1PC1+a2PC2+a3PC3

Namun, tolong lihat hasil LE, saya hampir tidak bisa menafsirkan hasil (kolom terakhir dari gambar). Sepertinya ada yang 'salah' dengan komponen yang berkurang. Juga, saya ingin menyebutkan bahwa akhirnya plot kolom terakhir adalah vektor eigen dalam formulayLy=λDy

Sudahkah Anda mendapat lebih banyak ide?

Gambar 1 menggunakan 12 tetangga terdekat dan sigma dalam kernel heating adalah 0,5: Kolom dari kiri ke kanan: sinyal asli, sinyal campuran, PC, IC, LEs

Gambar 2 menggunakan 1000 tetangga terdekat dan sigma dalam kernel heating adalah 0,5: Kolom dari kiri ke kanan: sinyal asli, sinyal campuran, PC, IC, LEs

Kode Sumber: Kode Matlab dengan paket yang diperlukan

Samo Jerom
sumber
2
Apa yang Anda maksud dengan pengurangan komponen x? Apakah Anda bermaksud mengatakan, penyisipan x dimensi rendah?
mobil jenazah
Ini terdengar menarik. Bisakah Anda memberikan deskripsi yang lebih terperinci tentang seperti apa data Anda sebenarnya?
Placidia

Jawaban:

4

Jawaban atas pertanyaan Anda diberikan oleh pemetaan di bagian bawah kertas Eigenmaps Laplacian asli :

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

x5(f1(5),f2(5))f1f2Lf=λDf

L

Shantanu
sumber
M.M.TmixedSignal'
M.M.
xsaya(f1(saya),...,fm(saya))mixedSignalmappedX
PS: Di atas, maksud saya "Anda tidak bisa melakukan ini dengan menggunakan LEM, paling tidak tidak mudah".
Shantanu
1

Tidak seperti PCA-Laplacian eigenmaps menggunakan vektor eigen umum yang sesuai dengan nilai eigen terkecil. Ia melewatkan vektor eigen dengan nilai eigen terkecil (bisa nol), dan menggunakan vektor eigen yang sesuai dengan beberapa nilai eigen terkecil berikutnya. PCA adalah varian maksimum yang menjaga embedding dengan menggunakan matriks kernel / gram. Laplacian Eigenmaps lebih dianggap sebagai masalah minimisasi sehubungan dengan grafik kombinatorial laplacian (lihat makalah oleh Trosset).

mobil jenazah
sumber
Semua orang yang tertarik silakan lihat pertanyaan saya lagi. Saya berikan beberapa contoh. Terima kasih banyak.
Samo Jerom