Multinomial Logistic Loss vs (Cross Entropy vs Square Error)

9

Saya mengamati bahwa Caffe (kerangka pembelajaran yang mendalam) menggunakan Softmax Loss Layer SoftmaxWithLoss sebagai lapisan keluaran untuk sebagian besar sampel model .

Sejauh yang saya tahu, lapisan Softmax Loss adalah kombinasi dari Multinomial Logistic Loss Layer dan Softmax Layer .

Dari Caffe, mereka mengatakan itu

Komputasi gradien Softmax Loss Layer lebih stabil secara numerik

Namun, penjelasan ini bukan jawaban yang saya inginkan, penjelasannya hanya membandingkan kombinasi Multinomial Logistic Loss Layer dan Softmax Loss layer alih-alih lapis demi lapis. Tetapi tidak dibandingkan dengan jenis fungsi kerugian lainnya.

Namun, saya ingin tahu lebih lanjut apa perbedaan / kelebihan / kekurangan dari 3 fungsi kesalahan ini yaitu Multinomial Logistic Loss , Cross Entropy (CE) dan Square Error (SE) dalam perspektif pembelajaran terawasi? Adakah artikel yang mendukung?

karfai
sumber
1
Sekedar petunjuk: Saya kira Anda akan mendapatkan jawaban yang lebih cepat jika Anda menambahkan tag "caffe" ke pertanyaan Anda. Juga mempostingnya di stackoverflow bukannya stackexchange mungkin memberikan lebih banyak perhatian).
mcExchange
1
Kombinasi tersebut membuat gradien mudah dihitung, adil y-t. willamette.edu/~gorr/classes/cs449/classify.html
Jingpeng Wu

Jawaban:

11

Menurut pendapat saya, fungsi kerugian adalah fungsi objektif yang kami inginkan agar jaringan saraf kami mengoptimalkan bobotnya sesuai dengan itu. Oleh karena itu, ini adalah tugas khusus dan juga entah bagaimana empiris. Supaya jelas, Multinomial Logistic Loss dan Cross Entropy Loss adalah sama (silakan lihat http://ufldl.stanford.edu/wiki/index.php/Softmax_Regression ). Fungsi biaya Multinomial Logistic Loss adalah seperti ini J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))].

Biasanya digunakan untuk masalah klasifikasi. The Square Error memiliki persamaan seperti 12Ni=1Nxi1xi222.

Oleh karena itu, biasanya digunakan untuk meminimalkan menggunakan beberapa kesalahan konstruksi.

EDIT: @MartinThoma Formula di atas kerugian logistik multinomial hanya untuk kasus biner, untuk kasus umum, itu harus , di mana K adalah sejumlah kategori.J(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]

Beahacker
sumber
2
Dalam Caffe, MultinomialLogisticLoss adalah , jadi siapa yang salah di sini? 1Nn=1Nlog(pn,ln)
moi
Tidak salah, adalah variabel biner, pada akhirnya, dapat direduksi menjadi formulasi Anda. yi
beahacker
Saya pikir multinomail kerugian logistik tanpa puncak kedua, jadiJ(θ)=1m[i=1my(i)loghθ(x(i))]
Martin Thoma
1
@ MartinThoma Formula saya hanya untuk kasus biner, untuk kasus umum, itu harusJ(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]
beahacker
@beahacker Bisakah Anda memberi tahu saya mengapa pertemuan kedua tidak termasuk dalam kasus multinominal seperti yang ditunjukkan oleh Martin Thoma. Saya mencoba memahami mengapa ini dilakukan seperti itu. Setidaknya Anda bisa mengarahkan saya ke beberapa sumber daya untuk melihat.
Nandeesh
2

Saya ingin tahu lebih lanjut apa perbedaan / kelebihan / kekurangan dari 3 fungsi kesalahan ini yaitu Multinomial Logistic Loss, Cross Entropy (CE) dan Square Error (SE) dalam perspektif pembelajaran terawasi?

Kehilangan logistik multinomial secara akuratif sama dengan cross entropy. Lihatlah fungsi ini (fungsi biaya dalam softmax ):

J(θ)=i=1mk=1K1{y(i)=k}logp(y(i)=kx(i);θ)
mana m adalah nomor sampel, K adalah nomor kelas.

Fungsi indikator ( ) menentukan apakah bawah adalah 0 atau 1 dalam definisi lintas entropi , yang diberi label sebagai panas dalam data pelatihan, dan1{y(i)=k}p(x)p(y(i)=kx(i);θ) adalah kemungkinan bersyarat dari softmax (q (x) seperti yang ditunjukkan di bawah).

xp(x)logq(x)

Dan MSE sebagian besar untuk situasi di mana fungsi tautan adalah fungsi kesatuan (distribusi respons mengikuti distribusi normal), regresi linier standar, sedangkan cross entropy biasanya untuk di mana fungsi tautan adalah fungsi logit. Ini perbandingan yang luar biasa yang dapat Anda lihat.

Adakah artikel yang mendukung?

Kecuali yang ada di tautan, rekomendasikan ini sebagai ilustrasi: https://github.com/rasbt/python-machine-learning-book/blob/master/faq/softmax_regress.md

Lerner Zhang
sumber