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
Di sini adalah vektor eigen. Jika saya memetakan mis 3 vektor eigen teratas (solusi sesuai dengan 3 nilai eigen), hasilnya tidak dapat diartikan.
Namun, ketika saya memplot 3 PC teratas dan 3 IC teratas, hasilnya selalu tampak jelas (secara visual) mewakili data asli .
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 )?
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).
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).
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 formula
Sudahkah Anda mendapat lebih banyak ide?
Gambar 1 menggunakan 12 tetangga terdekat dan sigma dalam kernel heating adalah 0,5:
Gambar 2 menggunakan 1000 tetangga terdekat dan sigma dalam kernel heating adalah 0,5:
Kode Sumber: Kode Matlab dengan paket yang diperlukan
Jawaban:
Jawaban atas pertanyaan Anda diberikan oleh pemetaan di bagian bawah kertas Eigenmaps Laplacian asli :
sumber
mixedSignal'
mixedSignal
mappedX
Berikut ini tautan ke halaman Web Prof Trosset tentang kursus dan juga ia sedang menulis buku http://mypage.iu.edu/~mtrosset/Courses/675/notes.pdf yang diperbarui setiap minggu atau lebih. Juga fungsi R untuk peta eigen Laplacian diberikan. Coba saja sendiri. Anda juga dapat mempertimbangkan makalah ini oleh Belkin
Terima kasih Abhik, Mahasiswa Prof Trosset
sumber
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).
sumber