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