Jaringan saraf - input biner vs diskrit / kontinu

14

Adakah alasan bagus untuk memilih nilai biner (0/1) daripada nilai diskrit atau dinormalisasi berkelanjutan , misalnya (1; 3), sebagai input untuk jaringan umpan-maju untuk semua node input (dengan atau tanpa backpropagation)?

Tentu saja, saya hanya berbicara tentang input yang dapat diubah menjadi bentuk apa pun; misalnya, ketika Anda memiliki variabel yang dapat mengambil beberapa nilai, baik secara langsung memberinya nilai sebagai satu simpul input, atau membentuk simpul biner untuk setiap nilai diskrit. Dan asumsinya adalah bahwa rentang nilai yang mungkin akan sama untuk semua node input. Lihat foto untuk contoh kedua kemungkinan.

Saat meneliti topik ini, saya tidak dapat menemukan fakta-fakta sulit yang dingin tentang ini; menurut saya, bahwa - kurang lebih - itu akan selalu menjadi "trial and error" pada akhirnya. Tentu saja, node biner untuk setiap nilai input diskrit berarti lebih banyak node lapisan input (dan dengan demikian lebih banyak node lapisan tersembunyi), tetapi apakah itu benar-benar menghasilkan klasifikasi output yang lebih baik daripada memiliki nilai yang sama dalam satu node, dengan fungsi ambang yang pas di lapisan yang tersembunyi?

Apakah Anda setuju bahwa itu hanya "coba dan lihat", atau Anda punya pendapat lain tentang ini? Kemungkinan satu: input langsung dari nilai yang mungkin {1; 3} Kemungkinan dua: dapatkan setiap nilai input simpul biner

cirko
sumber

Jawaban:

11

f(wx+b)fx

Pengaturan ini tidak masuk akal untuk variabel kategori. Jika kategori diwakili oleh angka, tidak masuk akal untuk menerapkan fungsi padanya. Misalnya bayangkan variabel input Anda mewakili hewan, dan domba = 1 dan sapi = 2. Tidak masuk akal untuk melipatgandakan domba dengan dan menambahkan padanya, juga tidak masuk akal bagi sapi untuk selalu lebih besar daripada domba. Dalam hal ini, Anda harus mengubah pengkodean diskrit menjadi pengkodean biner, 1-of- .f(wx+b)wbk

Untuk variabel bernilai nyata, biarkan saja bernilai nyata (tapi normalkan input). Misalnya, Anda memiliki dua variabel input, satu hewan dan satu suhu hewan. Anda akan mengkonversi hewan menjadi 1-of- , di mana = jumlah hewan, dan Anda akan membiarkan suhu apa adanya.kk

Mat
sumber
Jadi singkatnya, Anda menunjukkan skala variabel: metrik, ordinal dan nominal. Yah saya pikir sudah jelas bahwa skala nominal tidak dapat "dihitung" atau diwakili oleh suatu fungsi. Mengenai nilai-nilai nyata, seperti Anda, saya cenderung berpikir bahwa nilai-nilai nyata mungkin "lebih baik" daripada nilai-nilai nyata "diklasifikasikan" karena transisi yang lebih halus, tetapi saya tidak dapat menemukan bukti keras mengenai hal itu. Sepertinya kasus "percobaan dan kesalahan" yang lain bagi saya.
cirko
4

Ya ada. Bayangkan tujuan Anda adalah untuk membangun classifier biner. Kemudian Anda memodelkan masalah Anda sebagai memperkirakan distribusi Bernoulli di mana, mengingat vektor fitur, hasilnya menjadi milik salah satu kelas atau sebaliknya. Output dari jaringan saraf seperti itu adalah probabilitas bersyarat. Jika lebih besar dari 0,5 Anda mengaitkannya ke kelas, sebaliknya ke yang lain.

Agar dapat didefinisikan dengan baik, output harus antara 0 dan 1, sehingga Anda memilih label Anda menjadi 0 dan 1, dan meminimalkan entropi silang, mana adalah output dari jaringan Anda, dan adalah nilai target untuk sampel pelatihan Anda. Karenanya, Anda perlu . y ( x ) t t { 0 , 1 }

E=y(x)t(1y(x))1t
y(x)tt{0,1}
jpmuc
sumber
Saya mengerti bahwa input yang dinormalkan lebih disukai daripada rentang variabel dari nilai input, karena ini lebih mirip dengan output biner yang seharusnya dihasilkan oleh jaringan. Tetapi dalam pertanyaan saya, saya ingin merujuk ke nilai diskrit dinormalisasi dari rentang tertentu, yaitu jika input bisa berada dalam kisaran, maka semua node harus memiliki rentang yang sama, yaitu dinormalisasi. Dalam hal itu, apakah masih lebih disukai untuk menggunakan node biner untuk setiap nilai diskrit? (Sekarang saya mengedit pertanyaan untuk memenuhi prasyarat ini)
cirko
1

Saya juga menghadapi dilema yang sama ketika saya sedang memecahkan masalah. Saya tidak mencoba kedua arsitektur, tetapi pendapat saya adalah, jika variabel input diskrit maka fungsi output dari jaringan saraf akan memiliki karakteristik fungsi impuls dan jaringan saraf baik untuk memodelkan fungsi impuls. Bahkan setiap fungsi dapat dimodelkan dengan jaringan saraf dengan presisi bervariasi tergantung pada kompleksitas jaringan saraf. Satu-satunya perbedaan adalah, dalam arsitektur pertama, Anda telah meningkatkan jumlah input sehingga Anda lebih banyak jumlah berat pada simpul lapisan tersembunyi pertama untuk memodelkan fungsi impuls tetapi untuk arsitektur kedua Anda membutuhkan lebih banyak jumlah simpul dalam lapisan tersembunyi dibandingkan dengan arsitektur pertama untuk mendapatkan kinerja yang sama.

Anshu Abhishek
sumber