Mengapa fungsi softmax digunakan untuk menghitung probabilitas meskipun kita dapat membagi setiap nilai dengan jumlah vektor?

20

Menerapkan fungsi softmax pada vektor akan menghasilkan "probabilitas" dan nilai antara dan . 01

Tetapi kita juga dapat membagi setiap nilai dengan jumlah vektor dan itu akan menghasilkan probabilitas dan nilai antara dan .01

Saya membaca jawabannya di sini tetapi mengatakan bahwa alasannya adalah karena itu dapat dibedakan, meskipun Kedua fungsi tersebut dapat dibedakan.

floyd
sumber
1
Saya pikir lebih baik jika Anda pertama kali melihat regresi logistik. 'sasaran' Anda adalah mengubah secara monoton menjadi (0,1). Inilah yang fungsi logistik lakukan. Perhatikan bahwa setiap fungsi distribusi kumulatif (probabilitas) pada garis nyata juga berfungsi - lihat regresi probit yang menggunakan fungsi distribusi normal. (,)
seanv507

Jawaban:

36

Fungsi yang Anda usulkan memiliki singularitas setiap kali jumlah elemen adalah nol.

Misalkan vektor Anda adalah . Vektor ini memiliki jumlah 0, jadi pembagian tidak ditentukan. Fungsi ini tidak dapat dibedakan di sini.[1,13,23]

Selain itu, jika satu atau lebih elemen vektor negatif tetapi jumlahnya nol, hasil Anda bukan probabilitas.

Misalkan vektor Anda adalah . Ini memiliki jumlah 1, jadi menerapkan hasil fungsi Anda dalam , yang bukan merupakan vektor probabilitas karena memiliki elemen negatif, dan elemen yang melebihi 1.[1,0,2][1,0,2]

Mengambil pandangan yang lebih luas, kita dapat memotivasi bentuk spesifik dari fungsi softmax dari perspektif memperluas regresi logistik biner ke kasus tiga atau lebih hasil kategoris.

Melakukan hal-hal seperti mengambil nilai absolut atau kotak, seperti yang disarankan dalam komentar, berarti dan memiliki probabilitas prediksi yang sama; ini berarti model tidak teridentifikasi . Sebaliknya, adalah monotonik dan positif untuk semua nyata , sehingga hasil softmax adalah (1) vektor probabilitas dan (2) model logistik multinomial diidentifikasi.xxexp(x)x

Sycorax berkata Reinstate Monica
sumber
Terima kasih banyak. Kita bisa menyelesaikan kedua masalah dengan membaginya dengan jumlah nilai absolut, Benar?
floyd
2
Tidak. Apa yang terjadi jika Anda menjumlahkan nilai absolut dari kedua contoh saya dan kemudian membaginya dengan jumlah itu?
Sycorax berkata Reinstate Monica
Terima kasih sekali. Aku mengerti sekarang. tetapi kita bisa menyelesaikan masalah ini dengan mengambil nilai absolut pembilang atau mungkin menghitung untuk setiap nilai dalam vektor. Saya tidak berusaha keras kepala, saya hanya merasa aneh bahwa orang menemukan fungsi yang kompleks walaupun ada yang lebih sederhana untuk menghitung probabilitas. Saya tidak tahu banyak matematika jadi mungkin ada sifat matematika lainnyaxi2/sum(X2)
floyd
8
Proposal Anda masih gagal untuk . Alasan tambahan untuk fungsi softmax berhubungan dengan sifat-sifatnya sebagai generalisasi dari regresi logistik biner untuk kasus beberapa hasil. Kami memiliki sejumlah utas tentang ini seperti stats.stackexchange.com/questions/349418/...[0,0,0]
Sycorax mengatakan Reinstate Monica
8
Selain poin Sycorax, menerapkan atautidak memiliki properti yang diinginkan yang mengurangi elemen vektor akan selalu mengurangi kontribusi probabilitasnya. Mengurangi elemen negatif akan meningkatkan kontribusinya. memiliki properti bagus yang outputnya positif untuk semua input nyata, dan monoton pada seluruh baris nyata. xi2/jxj2|xi|/j|xj|exp(x)
Bridgeburners
4

Softmax memiliki dua komponen:

  1. Ubah komponen menjadi e ^ x. Ini memungkinkan jaringan saraf untuk bekerja dengan probabilitas logaritmik, bukan probabilitas biasa. Ini mengubah operasi umum mengalikan probabilitas menjadi penjumlahan, yang jauh lebih alami untuk struktur berbasis aljabar linear dari jaringan saraf.

  2. Normalisasi jumlah mereka menjadi 1, karena itulah probabilitas total yang kita butuhkan.

Salah satu konsekuensi penting dari ini adalah bahwa teorema bayes sangat alami untuk jaringan seperti itu, karena itu hanya penggandaan probabilitas yang dinormalisasi oleh penyebut.

Kasus sepele dari jaringan lapisan tunggal dengan aktivasi softmax setara dengan regresi logistik.

Kasus khusus dari dua komponen softmax setara dengan aktivasi sigmoid, yang dengan demikian populer ketika hanya ada dua kelas. Dalam klasifikasi multi-kelas softmax digunakan jika kelas-kelas tersebut saling eksklusif dan komponen-bijaksana sigmoid digunakan jika mereka independen.

CodesInChaos
sumber