Properti untuk membangun Jaringan Neural Perceptron Multilayer menggunakan Keras?

8

Saya mencoba membangun dan melatih jaringan saraf perceptron multilayer yang dengan benar memprediksi apa yang dimenangkan presiden di daerah apa untuk pertama kalinya. Saya memiliki informasi berikut untuk data pelatihan.

Total populasi Usia rata-rata% Bujangan atau lebih tinggi Tingkat pengangguran Penghasilan per kapita Total rumah tangga Rata-rata ukuran rumah tangga% Perumahan yang ditempati pemilik% Penyewa yang ditempati perumahan% Perumahan kosong Nilai rumah rata-rata Nilai pertumbuhan penduduk Pertumbuhan rumah tangga Pertumbuhan pendapatan per kapita Pemenang

Itu 14 kolom data pelatihan dan kolom 15 adalah apa yang seharusnya menjadi output.

Saya mencoba menggunakan Keras untuk membangun jaringan saraf perceptron multilayer, tetapi saya perlu bantuan memahami beberapa properti dan pro kontra dalam memilih opsi yang berbeda untuk properti ini.

  1. FUNGSI AKTIVASI

Saya tahu langkah pertama saya adalah membuat fungsi aktivasi. Saya selalu mempelajari jaringan saraf menggunakan fungsi aktivasi sigmoid. Apakah fungsi aktivasi sigmoid yang terbaik? Bagaimana Anda tahu yang mana yang harus digunakan? Keras juga memberikan opsi untuk menggunakan fungsi aktivasi softmax, softplus, relu, tanh, linear, atau hard_sigmoid. Saya baik-baik saja dengan menggunakan apa pun, tetapi saya hanya ingin dapat memahami mengapa dan pro dan kontra.

  1. INISIialisasi PROBABILITAS

Saya tahu inisialisasi mendefinisikan distribusi probabilitas yang digunakan untuk mengatur bobot acak awal lapisan Keras. Opsi yang diberikan Keras adalah seragam lecun_uniform, normal, identitas, ortogonal, nol, glorot_normal, glorot_uniform, he_normal, dan he_uniform. Bagaimana pilihan saya di sini memengaruhi hasil akhir atau model saya? Bukankah itu tidak masalah karena kita "melatih" model acak apa pun yang kita mulai dan menghasilkan bobot lapisan yang lebih optimal?

pr338
sumber

Jawaban:

6

1) Aktivasi adalah pilihan arsitektur, yang bermuara pada pilihan hyperparameter. Anda dapat membuat argumen teoretis untuk menggunakan fungsi apa pun, tetapi cara terbaik untuk menentukan ini adalah dengan mencoba beberapa dan mengevaluasi pada set validasi. Penting juga untuk diingat bahwa Anda dapat mencampur dan mencocokkan aktivasi berbagai lapisan.

2) Secara teori ya, banyak inisialisasi acak akan sama jika data Anda berperilaku sangat baik dan jaringan Anda ideal. Tetapi dalam praktiknya inisialisasi berusaha untuk memastikan gradien mulai masuk akal dan sinyal dapat dipropagasi dengan benar. Kemungkinan dalam hal ini inisialisasi tersebut akan melakukan hal yang sama, tetapi pendekatan terbaik adalah mencobanya, beralih jika Anda mendapatkan hasil yang tidak diinginkan.

jamesmf
sumber