Apakah klasifikasi berbasis Neural Networks perlu pengurangan dimensi?

9

Saya menggunakan classifier berbasis Neural Networks untuk menjalankan klasifikasi untuk data saya dalam n-dimensional.

Lalu saya pikir itu mungkin ide yang baik untuk menjalankan pengurangan dimensi seperti PCA untuk data saya pada awalnya, dan kemudian memasukkan hasil PCA ke dalam classifier (saya menyimpan 3 PC). Namun, klasifikasi pada fitur pengurangan dimensi tidak sebaik menggunakan fitur dimensi tinggi asli secara langsung.

Kemudian saya menemukan posting ini NN sebagai DR1 yang membahas Neural Networks sebagai metode pengurangan dimensi. Juga beberapa informasi dapat ditemukan dalam makalah ini NN sebagai DR2 Saya bingung sekarang:

  1. Jika saya menggunakan klasifikasi berbasis Neural Networks (dalam Matlab), apakah ini secara otomatis melakukan pengurangan dimensi untuk saya?
  2. Haruskah saya menjalankan pengurangan dimensi seperti PCA sebelum menjalankan klasifikasi Neural Networks?
  3. Adakah alasan lain mengapa klasifikasi hasil PCA tidak sebagus menggunakan fitur dimensi tinggi asli?
Samo Jerom
sumber

Jawaban:

18

Pada prinsipnya, transformasi linier yang dilakukan oleh PCA dapat dilakukan dengan baik oleh bobot lapisan input dari jaringan saraf, sehingga tidak secara tegas diperlukan. Namun, ketika jumlah bobot dalam jaringan meningkat, jumlah data yang diperlukan untuk dapat menentukan bobot jaringan secara andal juga meningkat (seringkali cukup cepat), dan pemasangan yang berlebihan menjadi lebih banyak masalah (menggunakan regularisasi juga sebuah ide bagus). Manfaat pengurangan dimensionalitas adalah mengurangi ukuran jaringan, dan karenanya jumlah data yang diperlukan untuk melatihnya. Kerugian menggunakan PCA adalah bahwa informasi diskriminatif yang membedakan satu kelas dari kelas yang lain mungkin berada di komponen varians rendah, sehingga menggunakan PCA dapat membuat kinerja lebih buruk.

Seperti kebanyakan hal dalam pengenalan pola statistik, tidak ada resep tunggal yang bekerja andal untuk semua masalah, dan hal terbaik yang harus dilakukan adalah mencoba kedua pendekatan dan melihat mana yang paling berhasil.

Dikran Marsupial
sumber
1

Jika saya menggunakan klasifikasi berbasis Neural Networks (dalam Matlab), apakah ini secara otomatis melakukan pengurangan dimensi untuk saya? Jawaban: jika Anda menggunakan lebih dari satu lapisan untuk klasifikasi dan jumlah neuron di lapisan tersembunyi kurang dari neuron input sehingga Anda memiliki semacam jaringan saraf reduksi dimensi. jika dalam gambar n> m Anda memiliki jaringan pengurangan dimensi tapi itu mungkin bukan PCA.

mohammad amiri
sumber
0

Karena jaringan saraf dapat memperkirakan pemetaan nonlinier apa pun melalui pembelajaran dan bebas dari kendala model non-linear, tidak perlu mengurangi dimensi seperti PCA sebelumnya. Ini juga menunjukkan jaringan syaraf tiruan (JST) memiliki daya komputasi non-linear yang kuat.

ywj_huang
sumber