Mengapa fitur turunan digunakan dalam jaringan saraf?

13

Misalnya, seseorang ingin memprediksi harga rumah dan memiliki dua fitur input, panjang dan lebar rumah. Kadang-kadang, satu juga termasuk fitur input polinomial 'diturunkan', seperti area, yang panjang * lebar.

1) Apa gunanya menyertakan fitur turunan? Bukankah seharusnya jaringan saraf mempelajari hubungan antara panjang, lebar dan harga selama pelatihan? Mengapa fitur ketiga, area, tidak berlebihan?

Selain itu, kadang-kadang saya juga melihat bahwa orang menjalankan algoritma seleksi genetik pada fitur input untuk mengurangi jumlah mereka.

2) Apa gunanya mengurangi fitur input jika semuanya berisi informasi yang berguna? Tidakkah seharusnya jaringan saraf memberikan bobot yang sesuai untuk setiap fitur input sesuai dengan kepentingannya? Apa gunanya menjalankan algoritma seleksi genetik?

siamii
sumber

Jawaban:

8

1): Memasukkan fitur turunan adalah cara untuk menyuntikkan pengetahuan pakar ke dalam proses pelatihan, dan untuk mempercepatnya. Sebagai contoh, saya banyak bekerja dengan fisikawan dalam penelitian saya. Ketika saya membangun model optimasi, mereka akan memberi saya 3 atau 4 parameter, tetapi mereka biasanya juga tahu bentuk-bentuk tertentu yang seharusnya muncul dalam persamaan. Sebagai contoh, saya mungkin mendapatkan variabel dan , tetapi ahli tahu bahwa penting. Dengan memasukkannya sebagai fitur, saya menyimpan model upaya ekstra untuk mengetahui bahwa penting. Memang, kadang-kadang pakar domain salah, tetapi dalam pengalaman saya, mereka biasanya tahu apa yang mereka bicarakan.nlnlnl

2): Ada dua alasan yang saya tahu untuk ini. Pertama, jika Anda memiliki ribuan fitur yang disediakan (seperti yang sering terjadi dalam data dunia nyata), dan kekurangan waktu CPU untuk pelatihan (juga kejadian umum), Anda dapat menggunakan sejumlah algoritma pemilihan fitur yang berbeda untuk memperkecil ruang fitur terlebih dahulu. Pendekatan berprinsip untuk ini sering menggunakan langkah-langkah teori informasi untuk memilih fitur dengan daya prediksi tertinggi. Kedua, bahkan jika Anda mampu melatih semua data dan semua fitur yang Anda miliki, jaringan saraf sering dikritik karena menjadi model 'kotak hitam'. Mengurangi ruang fitur terlebih dahulu dapat membantu mengurangi masalah ini. Misalnya, pengguna yang melihat NN tidak dapat dengan mudah mengetahui apakah bobot 0,01 berarti "0, tetapi proses pengoptimalan tidak cukup sampai di sana" atau "

John Doucette
sumber
0

1) Sebagian besar jaringan saraf tidak dapat melakukan perkalian; mereka hanya dapat menghitung jumlah (yang kemudian secara individual diumpankan melalui fungsi aktivasi ). Mereka harus memperkirakan perkalian tersebut jika itu penting, yang membutuhkan banyak neuron, terutama jika faktor-faktor dapat menjangkau rentang yang besar.

Jika ternyata area rumah sebenarnya merupakan fitur penting, Anda akan membantu jaringan jika Anda menyediakannya, karena kemudian dapat menggunakan neuron yang diperlukan untuk memperkirakan perkalian lebar dan panjang. untuk melakukan hal-hal lain.

Oleh karena itu, termasuk fitur polinomial dalam beberapa kasus mungkin bermanfaat bagi jaringan, tetapi dalam kasus lain tidak memiliki efek signifikan. Lebih jauh, fitur polinomial hanya satu jenis fitur turunan yang mungkin bermanfaat bagi jaringan. Tipe lain dari fitur turunan yang mungkin ternyata bermanfaat adalah sebagai contoh logaritma dari variabel input (dianggap positif) yang juga harus diperkirakan oleh jaringan.

Gagasannya adalah untuk memungkinkan jaringan melakukan lebih banyak operasi antar angka daripada hanya penambahan, untuk memungkinkannya menghitung hal-hal seperti fitur polinomial itu sendiri secara efisien, tetapi tidak jelas bagaimana cara kerjanya. Salah satu arsitektur yang kelihatannya melakukan sesuatu yang serupa adalah jaringan penjumlahan produk .

2) Kecuali dari biaya komputasi yang disebutkan John, meningkatkan jumlah parameter dalam model, yang tak terhindarkan terjadi ketika Anda memasukkan lebih banyak input, juga meningkatkan risiko jaringan untuk overfit , terutama jika Anda memiliki sedikit data pelatihan.

Namun, ini dapat dibuat menjadi jauh lebih sedikit dari masalah jika metode regularisasi yang baik digunakan. (Dropout tampaknya bekerja sangat baik untuk itu) Secara teoritis, dengan metode regularisasi yang cukup baik, overfitting seharusnya tidak menjadi masalah sama sekali. Seperti yang ditunjukkan Hinton, manusia memiliki urutan 10 ^ 14 sinapsis di otak (sesuai dengan koneksi dalam jaringan saraf), tetapi hanya hidup dalam urutan 10 ^ 9 detik, tetapi kita tampaknya masih dapat menggeneralisasi dengan cukup baik. Jadi jelas, memiliki banyak parameter yang bisa disetel harus dengan algoritma yang tepat hanya menjadi keuntungan.

Halo selamat tinggal
sumber