Asumsikan saya ingin melakukan klasifikasi biner (sesuatu milik kelas A atau kelas B). Ada beberapa kemungkinan untuk melakukan ini di lapisan output dari jaringan saraf:
Gunakan 1 simpul output. Output 0 (<0,5) dianggap kelas A dan 1 (> = 0,5) dianggap kelas B (dalam kasus sigmoid)
Gunakan 2 node output. Input milik kelas node dengan nilai / probabilitas tertinggi (argmax).
Apakah ada makalah yang ditulis yang (juga) membahas hal ini? Apa kata kunci spesifik untuk dicari?
Pertanyaan ini sudah ditanyakan sebelumnya di situs ini misalnya melihat tautan ini tanpa jawaban nyata. Saya perlu membuat pilihan (Master Thesis), jadi saya ingin mendapatkan wawasan dalam pro / kontra / keterbatasan setiap solusi.
Jawaban:
Dalam kasus kedua Anda mungkin menulis tentang fungsi aktivasi softmax. Jika itu benar, maka sigmoid hanyalah kasus khusus dari fungsi softmax. Itu mudah ditunjukkan.
Seperti yang Anda lihat, sigmoid sama dengan softmax. Anda dapat berpikir bahwa Anda memiliki dua output, tetapi salah satunya memiliki semua bobot sama dengan nol dan karenanya outputnya akan selalu sama dengan nol.
Jadi pilihan yang lebih baik untuk klasifikasi biner adalah menggunakan satu unit output dengan sigmoid daripada softmax dengan dua unit output, karena akan memperbarui lebih cepat.
sumber
exp(x+alpha) / (exp(alpha) + exp(x+alpha))
- sebenarnya jumlah tak terbatas dari mereka - semua menghasilkan hasil klasifikasi yang sama seperti yang dicatat dengan bobot semua 0. Bobot kemungkinan tidak akan melatih menjadi nol, tetapi akan melatih sebaliknya menjadi merosot dengan solusi yang memiliki bobot semua 0. Hindari solusi degenerasi (tidak berguna dan boros) dengan menggunakan hanya satu neuron output, tampaknya.Algoritma pembelajaran mesin seperti pengklasifikasi secara statistik memodelkan data input, di sini, dengan menentukan probabilitas input milik kategori yang berbeda. Untuk jumlah kelas yang berubah-ubah, biasanya lapisan softmax ditambahkan ke model sehingga output akan memiliki sifat probabilistik dengan desain:
y 1 + y 2
Ini benar-benar berlaku untuk dua kelas, namun, satu juga dapat menggunakan satu neuron (bukan dua) mengingat outputnya memuaskan:
sifat matematika yang berguna (diferensiasi, dibatasi antara 0 dan 1, dll.), efisiensi komputasi, dan memiliki kemiringan yang tepat sehingga memperbarui bobot jaringan akan memiliki perubahan kecil tetapi terukur dalam output untuk keperluan optimasi.
Kesimpulan
Saya tidak yakin apakah alasan @ itdxer yang menunjukkan softmax dan sigmoid setara jika valid, tetapi ia benar tentang memilih 1 neuron berbeda dengan 2 neuron untuk pengklasifikasi biner karena lebih sedikit parameter dan perhitungan yang diperlukan. Saya juga telah dikritik karena menggunakan dua neuron untuk pengklasifikasi biner karena "itu berlebihan".
sumber