Saya ingin menerapkan algoritma dalam sebuah makalah yang menggunakan kernel SVD untuk menguraikan matriks data. Jadi saya telah membaca materi tentang metode kernel dan PCA kernel dll. Tetapi masih sangat tidak jelas bagi saya terutama ketika datang ke rincian matematika, dan saya punya beberapa pertanyaan.
Mengapa metode kernel? Atau, apa manfaat metode kernel? Apa tujuan intuisi?
Apakah dengan mengasumsikan ruang dimensi yang jauh lebih tinggi lebih realistis dalam masalah dunia nyata dan mampu mengungkapkan hubungan nonlinear dalam data, dibandingkan dengan metode non-kernel? Menurut materi, metode kernel memproyeksikan data ke ruang fitur dimensi tinggi, tetapi mereka tidak perlu menghitung ruang fitur baru secara eksplisit. Sebagai gantinya, cukup untuk menghitung hanya produk dalam antara gambar semua pasangan titik data dalam ruang fitur. Jadi mengapa memproyeksikan ke ruang dimensi yang lebih tinggi?
Sebaliknya, SVD mengurangi ruang fitur. Mengapa mereka melakukannya ke arah yang berbeda? Metode kernel mencari dimensi yang lebih tinggi, sedangkan SVD mencari dimensi yang lebih rendah. Bagi saya kedengarannya aneh menggabungkannya. Menurut makalah yang saya baca ( Symeonidis et al. 2010 ), memperkenalkan Kernel SVD bukannya SVD dapat mengatasi masalah sparsity dalam data, meningkatkan hasil.
Dari perbandingan dalam gambar kita dapat melihat bahwa KPCA mendapatkan vektor eigen dengan varians (nilai eigen) yang lebih tinggi daripada PCA, saya kira? Karena untuk perbedaan terbesar dari proyeksi poin ke vektor eigen (koordinat baru), KPCA adalah lingkaran dan PCA adalah garis lurus, sehingga KPCA mendapatkan varians yang lebih tinggi daripada PCA. Jadi apakah ini berarti KPCA mendapatkan komponen utama yang lebih tinggi daripada PCA?
sumber
Jawaban:
PCA (sebagai teknik reduksi dimensi) mencoba menemukan subruang linear berdimensi rendah yang terbatas pada data. Tetapi mungkin bahwa data terbatas pada subruang nonlinear dimensi rendah . Lalu apa yang akan terjadi?
Lihatlah Gambar ini, yang diambil dari buku pelajaran "Pengenalan Pola dan Pembelajaran Mesin" (Gambar 12.16):
Titik data di sini (di sebelah kiri) sebagian besar terletak di sepanjang kurva dalam 2D. PCA tidak dapat mengurangi dimensi dari dua menjadi satu, karena titik-titik tersebut tidak terletak di sepanjang garis lurus. Tapi tetap saja, data "jelas" terletak di sekitar kurva non-linear satu dimensi. Jadi, sementara PCA gagal, pasti ada cara lain! Dan memang, PCA kernel dapat menemukan bermacam-macam non-linear dan menemukan bahwa data sebenarnya hampir satu dimensi.
Itu dilakukan dengan memetakan data ke ruang dimensi yang lebih tinggi. Ini memang bisa terlihat seperti kontradiksi (pertanyaan Anda # 2), tetapi tidak. Data dipetakan ke ruang dimensi yang lebih tinggi, tetapi kemudian berubah menjadi terletak pada ruang bagian dimensi yang lebih rendah darinya. Jadi Anda meningkatkan dimensi agar dapat menguranginya.
Inti dari "trik kernel" adalah bahwa seseorang tidak benar-benar perlu secara eksplisit mempertimbangkan ruang dimensi yang lebih tinggi, sehingga lompatan yang berpotensi membingungkan dalam dimensi ini dilakukan sepenuhnya menyamar. Namun, idenya tetap sama.
sumber