Mengapa fungsi sigmoid bukan yang lain?

40

Mengapa fungsi sigmoid standar de-facto, , begitu populer di jaringan saraf dan regresi logistik (tidak dalam)?11+e-x

Mengapa kita tidak menggunakan banyak fungsi turunan lainnya, dengan waktu perhitungan yang lebih cepat atau peluruhan yang lebih lambat (sehingga gradien menghilang lebih sedikit). Beberapa contoh ada di Wikipedia tentang fungsi sigmoid . Salah satu favorit saya dengan pembusukan lambat dan perhitungan cepat adalah .x1+|x|

EDIT

Pertanyaannya berbeda dengan daftar fungsi aktivasi Komprehensif di jaringan saraf dengan pro / kontra karena saya hanya tertarik pada 'mengapa' dan hanya untuk sigmoid.

Mark Horvath
sumber
6
Perhatikan sigmoid logistik adalah kasus khusus dari fungsi softmax, dan lihat jawaban saya untuk pertanyaan ini: stats.stackexchange.com/questions/145272/…
Neil G
10
Ada yang fungsi lain seperti probit atau cloglog yang umum digunakan, lihat: stats.stackexchange.com/questions/20523/...
Tim
4
@ user777 Saya tidak yakin apakah ini duplikat karena utas yang Anda rujuk tidak benar-benar menjawab pertanyaan mengapa .
Tim
@ KarelMacek, apakah Anda yakin turunannya tidak memiliki batas kiri / kanan pada 0? Praktis sepertinya memiliki tangensial yang bagus pada gambar yang ditautkan dari Wikipedia.
Mark Horvath
5
Saya benci untuk tidak setuju dengan begitu banyak anggota komunitas terkemuka yang memilih untuk menutup ini sebagai duplikat, tetapi saya yakin bahwa duplikat yang terlihat tidak membahas "mengapa" dan jadi saya telah memilih untuk membuka kembali pertanyaan ini.
whuber

Jawaban:

24

Mengutip diri saya dari jawaban ini untuk pertanyaan yang berbeda:

Dalam bagian 4.2 Pengenalan Pola dan Pembelajaran Mesin (Springer 2006), Bishop menunjukkan bahwa logit muncul secara alami sebagai bentuk distribusi probabilitas posterior dalam perlakuan Bayesian dari klasifikasi dua kelas. Dia kemudian melanjutkan untuk menunjukkan bahwa hal yang sama berlaku untuk fitur yang terdistribusi secara terpisah, serta bagian dari keluarga distribusi eksponensial. Untuk klasifikasi multi-kelas, logit digeneralisasikan ke fungsi eksponensial atau softmax yang dinormalisasi.

Ini menjelaskan mengapa sigmoid ini digunakan dalam regresi logistik.

Mengenai jaringan saraf, posting blog ini menjelaskan betapa berbedanya nonlinier termasuk logit / softmax dan probit yang digunakan dalam jaringan saraf dapat diberikan interpretasi statistik dan dengan demikian motivasi. Gagasan yang mendasarinya adalah bahwa jaringan saraf multi-layered dapat dianggap sebagai hierarki model linier umum; menurut ini, fungsi aktivasi adalah fungsi tautan, yang pada gilirannya sesuai dengan asumsi distribusi yang berbeda.

A. Donda
sumber
1
Besar! Jadi ketika kita menggunakan sigmoids dalam suatu jaringan, kita dapat mengatakan bahwa kita secara implisit mengasumsikan bahwa jaringan "memodelkan" probabilitas berbagai peristiwa (dalam lapisan internal atau dalam keluaran). Ini bisa menjadi model yang masuk akal di dalam jaringan bahkan untuk kesalahan kuadrat (memungkinkan untuk neuron output fungsi aktivasi yang berbeda). Tidak pernah memikirkan intuisi ini sebelumnya, terima kasih!
Mark Horvath
@MarkHorvath Senang saya bisa membantu. :-)
A. Donda
Secara historis, tidak demikian. Ringkasan terbaik saya dari sejarah yang berantakan adalah bahwa logit memasuki ilmu statistik sebagian besar karena bentuk-bentuk fungsional yang digunakan untuk memprediksi perubahan dari waktu ke waktu (populasi diharapkan mengikuti kurva logistik) terlihat tepat ketika diadaptasi dan diadopsi sebagai fungsi tautan [penggunaan anakronik di sana!] Untuk respons biner ; dan mereka mudah dimanipulasi dengan kalkulus sederhana, yang ekspresi dalam nilai absolut tidak. Tapi tentu saja pembenaran logis paling sederhana untuk fungsi-fungsi seperti itu menarik dan penting, dan jawaban Anda mengatasinya.
Nick Cox
1
Saya telah membaca bagian-bagian dalam kedua buku Bishop (2006 dan 1995) dan saya masih tidak yakin bahwa sigmoid itu penting di sini, walaupun saya tentu mendapatkan motivasi dengan logit. Bagaimana jika saya menuliskan fungsi kehilangan lintas-entropi yang sama berdasarkan asumsi Poisson 2-kelas, tetapi kemudian menggunakan fungsi aktivasi yang berbeda, bukan sigmoid? Sebagai contoh, ini mirip tapi tidak sebagus yang didefinisikan secara terpisah: g (x) = 1 / (2-2x) jika x <0, 1 - 1 / (2 + 2x) untuk x> 0, g (0) = 0,5. Sekarang persamaan max likelihood terlihat berbeda, tetapi jika kita menguranginya jangan kita masih mendapatkan probabilitas sebagai output?
eraoul
jika Bischop mengambil , yang "timbul secara alami" fungsi akan menjadisebuahSebuah=hal(x,C1)(1+hal(x,C1))hal(x,C2) , bukan? Sebuah1+Sebuah2
Tuan Tsjolder
18

Salah satu alasan fungsi ini mungkin tampak lebih "alami" daripada yang lain adalah bahwa ia kebetulan merupakan kebalikan dari parameter kanonik distribusi Bernoulli: (Fungsipdalam eksponen disebut parameter kanonik.)

f(y)=haly(1-hal)1-y=(1-hal)exp{ylog(hal1-hal)}.
hal

Mungkin justifikasi yang lebih menarik datang dari teori informasi, di mana fungsi sigmoid dapat diturunkan sebagai model entropi maksimum . Secara kasar, fungsi sigmoid mengasumsikan struktur minimal dan mencerminkan keadaan umum ketidaktahuan kita tentang model yang mendasarinya.

dsaxton
sumber
Pembenaran yang baik untuk regresi logistik. Lucunya kita terus menggunakan ini untuk kesalahan kuadrat juga ...
Mark Horvath
11

Saya telah bertanya pada diri sendiri pertanyaan ini selama berbulan-bulan. Jawaban pada CrossValidated dan Quora semuanya daftar sifat yang bagus dari fungsi sigmoid logistik, tetapi semuanya sepertinya kita dengan cerdik menebak fungsi ini. Apa yang saya lewatkan adalah pembenaran untuk memilihnya. Saya akhirnya menemukan satu di bagian 6.2.2.2 dari buku "Deep Learning" karya Bengio (2016) . Dengan kata-kata saya sendiri:

Singkatnya, kami ingin logaritma output model sesuai untuk optimasi berbasis gradien dari log-kemungkinan data pelatihan.

Motivasi

  • Kami menginginkan model linier, tetapi kami tidak dapat menggunakan z=wTx+b secara langsung sebagai z(-,+) .
  • Untuk klasifikasi, masuk akal untuk mengasumsikan distribusi Bernoulli dan memodelkan parameternya θ dalam P(Y=1)=θ .
  • Jadi, kita perlu memetakan z dari (-,+) ke [0,1] untuk melakukan klasifikasi.

Mengapa fungsi sigmoid logistik?

Memotong z dengan P(Y=1|z)=mSebuahx{0,msayan{1,z}} menghasilkan gradien nol untuk z luar [0,1] . Kita memerlukan gradien yang kuat setiap kali prediksi model salah, karena kita menyelesaikan regresi logistik dengan gradient descent. Untuk regresi logistik, tidak ada solusi bentuk tertutup.

Fungsi logistik memiliki properti bagus asymptot gradien konstan ketika prediksi model salah, mengingat bahwa kami menggunakan Estimasi Kemungkinan Maksimum agar sesuai dengan model. Ini ditunjukkan di bawah ini:

Untuk manfaat numerik, Estimasi Kemungkinan Maksimum dapat dilakukan dengan meminimalkan log-kemungkinan negatif dari data pelatihan. Jadi, fungsi biaya kami adalah:

J(w,b)=1msaya=1m-logP(Y=ysaya|xsaya;w,b)=1msaya=1m-(ysayalogP(Y=1|z)+(ysaya-1)logP(Y=0|z))

Karena P(Y=0|z)=1-P(Y=1|z) , kita dapat fokus pada kasus Y=1 . Jadi, pertanyaannya adalah bagaimana memodelkan P(Y=1|z) mengingat kita memiliki z=wTx+b .

Persyaratan yang jelas untuk fungsi f pemetaan z ke P(Y=1|z) adalah:

  • zR:f(z)[0,1]
  • f(0)=0,5
  • f harus wrt simetris rotasi(0,0,5) , yaituf(-x)=1-f(x) , sehingga membalik tanda-tanda kelas tidak berpengaruh pada fungsi biaya.
  • f harus non-menurun, terus menerus dan dapat dibedakan.

f(z)=11+e-zf(z)=0,5+0,5z1+|z|f(z)=11+e-z

Y=1

P(Y=1|z)=11+e-zY=1m=1

J(z)=-log(P(Y=1|z))=-log(11+e-z)=-log(ez1+ez)=-z+log(1+ez)

Kita dapat melihat bahwa ada komponen linier -z . Sekarang, kita dapat melihat dua kasus:

  • zY=1log(1+ez)zz-z
  • z|z|Y=1log(1+ez)0z-zz-1z, tidak ada saturasi yang terjadi, yang akan menyebabkan gradien hilang.

Y=0

Y=1Y=0

J(z)Y=1

masukkan deskripsi gambar di sini

Y=0

Alternatif

z1+|z|[0,1]P(Y=1|z)=0,5+0,5z1+|z|

Y=1

J(z)=-log(0,5+0,5z1+|z|)

yang terlihat seperti ini:

masukkan deskripsi gambar di sini

z-

Kilian Batzner
sumber
Apa yang Anda maksudkan ketika Anda menulis "ketika modelnya salah"?
Gabriel Romon
(xsaya,ysaya)z=5ysaya=0
6

Karena pertanyaan awal menyebutkan masalah gradien yang membusuk, saya hanya ingin menambahkan itu, untuk lapisan menengah (di mana Anda tidak perlu menafsirkan aktivasi sebagai probabilitas kelas atau hasil regresi), nonlinier lainnya sering lebih disukai daripada fungsi sigmoidal. Yang paling menonjol adalah fungsi penyearah (seperti dalam ReLUs ), yang linear pada domain positif dan nol di atas negatif. Salah satu kelebihan mereka adalah bahwa mereka kurang tunduk pada masalah gradien yang membusuk, karena turunannya konstan pada domain positif. ReLU telah menjadi populer sampai-sampai sigmoids mungkin tidak dapat disebut standar de-facto lagi.

Glorot et al. (2011) . Jaringan saraf penyearah jarang dalam

pengguna20160
sumber
2
Ya. Saya pikir alasan mengapa fungsi logistik sangat populer adalah karena impornya dari statistik. Relu adalah yang paling populer di banyak bidang saat ini.
Ricardo Cruz