Machine Learning: Haruskah saya menggunakan entropi silang kategoris atau kehilangan entropi silang biner untuk prediksi biner?

36

Pertama-tama, saya menyadari jika saya perlu melakukan prediksi biner, saya harus membuat setidaknya dua kelas melalui melakukan satu-hot-encoding. Apakah ini benar? Namun, apakah binary cross entropy hanya untuk prediksi dengan hanya satu kelas? Jika saya menggunakan kerugian entropi lintas kategoris yang biasanya ditemukan di sebagian besar perpustakaan (seperti TensorFlow), apakah akan ada perbedaan yang signifikan?

Sebenarnya, apa perbedaan yang pasti antara entropi silang kategoris dan biner? Saya belum pernah melihat implementasi entropi silang biner di TensorFlow jadi saya pikir mungkin yang kategoris bekerja dengan baik.

infomin101
sumber
1
Contoh klasifikasi biner: machinelearningmastery.com/... dan multi-kelas-klasifikasi: machinelearningmastery.com/...
user1367204
@ user1367204: Tautan ke pengalihan klasifikasi multi-kelas ke klasifikasi biner. Seharusnya yang ini .
user3389669

Jawaban:

51

Kehilangan cross-entropy binomial adalah kasus khusus dari kehilangan cross-entropy multinomial untuk .m=2

L.(θ)=-1nsaya=1n[ysayalog(halsaya)+(1-ysaya)log(1-halsaya)]=-1nsaya=1nj=1mysayajlog(halsayaj)

Di mana mengindeks sampel / observasi dan kelas indeks , dan adalah label sampel (biner untuk LSH, vektor satu-panas pada RHS) dan adalah prediksi untuk sampel.sayajyhalsayaj(0,1):jhalsayaj=1saya,j

Sycorax berkata Reinstate Monica
sumber
3
Apakah itu berarti mengatakan selama saya menggunakan 2 kelas dalam kerugian entropi lintas multinomial, saya pada dasarnya menggunakan hilangnya entropi lintas biner?
infomin101
2
@leekwotsin yup
Sycorax berkata Reinstate Monica
17

Binary cross-entropy adalah untuk klasifikasi multi-label, sedangkan cross entropy kategoris adalah untuk klasifikasi multi-kelas di mana setiap contoh milik satu kelas.

Henok S Mengistu
sumber
3
Apa pembenaran untuk pernyataan Anda? Mengapa Anda tidak akan menggunakan entropi silang kategori untuk klasifikasi multi-label?
michal
bagaimana jika ada banyak label, masing-masing berisi beberapa kelas?
slizb
1
Inilah tepatnya yang ingin saya dengar, tetapi bukan yang ingin didengar bos saya. Sedikit penjelasan akan sangat luar biasa.
Aditya
2

Saya pikir ada tiga jenis tugas klasifikasi:

  1. Klasifikasi biner: dua kelas eksklusif
  2. Klasifikasi multi-kelas: lebih dari dua kelas eksklusif
  3. Klasifikasi multi-label: hanya kelas non-eksklusif

Dari ini, bisa kita katakan

  • Dalam kasus (1), Anda harus menggunakan entropi silang biner.
  • Dalam kasus (2), Anda harus menggunakan entropi lintas kategori.
  • Dalam kasus (3), Anda perlu menggunakan entropi silang biner. Anda bisa mempertimbangkan multi-label classifier sebagai multi biner classifier terpisah. Jika Anda memiliki 10 kelas di sini, Anda memiliki 10 classifier biner secara terpisah. Setiap classifier biner dilatih secara independen. Dengan demikian, kami dapat memproduksi multi-label untuk setiap sampel. Jika Anda ingin memastikan setidaknya satu label harus diperoleh, maka Anda dapat memilih satu dengan fungsi kehilangan klasifikasi terendah, atau menggunakan metrik lainnya.

Saya ingin menekankan bahwa klasifikasi multi-kelas tidak mirip dengan klasifikasi multi-label ! Sebaliknya, multi-label classifier meminjam ide dari classifier biner!

jeongmin.cha
sumber