Dari aturan Perceptron ke Gradient Descent: Bagaimana Perceptrons dengan fungsi aktivasi sigmoid berbeda dari Regresi Logistik?

21

Pada dasarnya, pertanyaan saya adalah bahwa dalam multilayer Perceptrons, perceptrons digunakan dengan fungsi aktivasi sigmoid. Sehingga dalam aturan pembaruan dihitung sebagaiy^

y^=11+exp(wTxi)

Bagaimana perbedaan "sigmoid" Perceptron ini dari regresi logistik?

Saya akan mengatakan bahwa perceptron sigmoid satu-lapisan setara dengan regresi logistik dalam arti bahwa keduanya menggunakan dalam aturan pembaruan. Juga, keduanya mengembalikan dalam prediksi. Namun, dalam multilayer perceptrons, fungsi aktivasi sigmoid digunakan untuk mengembalikan probabilitas, bukan sinyal on-off berbeda dengan regresi logistik dan perceptron satu-layer. tanda( y =1y^=11+exp(wTxi)sign(y^=11+exp(wTxi))

Saya pikir penggunaan istilah "Perceptron" mungkin sedikit ambigu, jadi izinkan saya memberikan beberapa latar belakang berdasarkan pemahaman saya saat ini tentang perceptrons single-layer:

Aturan perceptron klasik

Pertama, perceptron klasik oleh F. Rosenblatt di mana kita memiliki fungsi langkah:

Δwd=η(yiyi^)xidyi,yi^{1,1}

untuk memperbarui bobot

wk:=wk+Δwk(k{1,...,d})

Sehingga dihitung sebagaiy^

y^=sign(wTxi)=sign(w0+w1xi1+...+wdxid)


Keturunan Gradien

Dengan menggunakan gradient descent, kami mengoptimalkan (meminimalkan) fungsi biaya

J(w)=i12(yiyi^)2yi,yi^R

di mana kita memiliki angka "nyata", jadi saya melihat ini pada dasarnya analog dengan regresi linier dengan perbedaan bahwa output klasifikasi kami di-threshold.

Di sini, kami mengambil langkah ke arah negatif dari gradien ketika kami memperbarui bobot

Δwk=ηJwk=ηi(yiyi^)(xik)=ηi(yiyi^)xik

Tetapi di sini, kita memiliki alih-alihy^=wTxiy^=sign(wTxi)

wk:=wk+Δwk(k{1,...,d})

Selain itu, kami menghitung jumlah kesalahan kuadrat untuk lulus penuh atas seluruh dataset pelatihan (dalam mode pembelajaran batch) berbeda dengan aturan perceptron klasik yang memperbarui bobot saat sampel pelatihan baru tiba (analog ke penurunan gradien stokastik - online belajar).


Fungsi aktivasi Sigmoid

Sekarang, inilah pertanyaan saya:

Dalam multilayer Perceptrons, perceptrons digunakan dengan fungsi aktivasi sigmoid. Sehingga dalam aturan pembaruan dihitung sebagaiy^

y^=11+exp(wTxi)

Bagaimana perbedaan "sigmoid" Perceptron ini dari regresi logistik?


sumber
4
Luar biasa, pertanyaan ini dengan sendirinya memungkinkan saya untuk menyingkat pembelajaran mesin dan dasar-dasar saraf saya!
varun

Jawaban:

4

Dengan menggunakan gradient descent, kami mengoptimalkan (meminimalkan) fungsi biaya

J(w)=i12(yiyi^)2yi,yi^R

Jika Anda meminimalkan kesalahan kuadrat rata-rata, maka itu berbeda dari regresi logistik. Regresi logistik biasanya dikaitkan dengan cross entropy loss, berikut adalah halaman pengantar dari perpustakaan scikit-learn .


(Saya akan menganggap perceptrons multilayer adalah hal yang sama yang disebut jaringan saraf.)

Jika Anda menggunakan cross entropy loss (dengan regularisasi) untuk jaringan saraf single-layer, maka itu akan menjadi model yang sama (model log-linear) dengan regresi logistik. Jika Anda menggunakan jaringan multi-layer sebagai gantinya, itu dapat dianggap sebagai regresi logistik dengan fungsi basis nonlinear parametrik.


Namun, dalam multilayer perceptrons, fungsi aktivasi sigmoid digunakan untuk mengembalikan probabilitas, bukan sinyal on-off berbeda dengan regresi logistik dan perceptron satu-layer.

Output dari kedua regresi logistik dan jaringan saraf dengan fungsi aktivasi sigmoid dapat diartikan sebagai probabilitas. Karena cross entropy loss sebenarnya adalah kemungkinan log negatif yang ditentukan melalui distribusi Bernoulli.

dontloo
sumber
2

Karena gradient descent memperbarui setiap parameter dengan cara yang mengurangi kesalahan output yang harus dilanjutkan fungsi semua parameter. Aktivasi berbasis ambang tidak dapat dibedakan itu sebabnya aktivasi sigmoid atau tanh digunakan.

Ini adalah NN single-layer

dJ(w,b)dωkj=dJ(w,b)dzkdzkdωkj

dJ(w,b)dzk=(akyk)(ak(1ak))

dzkdωkj=xk

J(w,b)=12(ykak)2

ak=sigm(zk)=sigm(Wkjxk+bk)

jika fungsi aktivasi adalah fungsi langkah dasar (threshold), turunan dari wrt z k akan non-terdiferensiasi.Jzk

di sini ada tautan yang menjelaskannya secara umum.

Sunting: Mungkin, saya salah mengerti apa yang Anda maksud dengan perceptron. Jika saya tidak salah, perceptron dipahami ditimbang sejumlah input. Jika Anda mengubah pemahaman dengan fungsi logistik itu berubah menjadi regresi logistik. Multi-layer NN dengan fungsi aktivasi sigmoid (logistik) adalah cascaded layers yang terdiri dari regresi logistik.

yasin.yazici
sumber
3
Ini tidak menjawab pertanyaan.
Neil G
Terima kasih telah menulis komentar yang bagus ini, tetapi ini bukan yang saya minta. Pertanyaan saya bukanlah "mengapa gradient descent" tetapi "apa yang membuat perceptron dengan fungsi aktivasi sigmoid berbeda dari regresi logistik"
y=WTX
1
y=wjTxji
η(ysign(wTxi))xη(ywTxi)xi
2

Secara intuitif, saya memikirkan perceptron multilayer sebagai komputasi transformasi nonlinier pada fitur input saya, dan kemudian memasukkan variabel-variabel yang ditransformasikan ke dalam regresi logistik.

βiXiβiXjβjX

Saya tidak tahu tentang Anda, tetapi dalam kursus pemodelan dan penelitian saya, saya mencoba semua jenis transformasi yang masuk akal dan bodoh dari fitur input untuk meningkatkan signifikansi dan prediksi model keseluruhan. Mengkuadratkan hal-hal, mengambil kayu gelondongan, menggabungkan dua menjadi satu tingkat, dll. Saya tidak malu, tetapi saya memiliki kesabaran yang terbatas.

Xβi

Dan Van Boxel
sumber