The lintas entropi rumus mengambil dalam dua distribusi, p(x) , distribusi yang benar, dan q(x) , perkiraan distribusi, didefinisikan melalui variabel diskrit x dan diberikan oleh
H(p,q)=−∑∀xp(x)log(q(x))
Untuk jaringan saraf, perhitungannya tidak tergantung pada hal berikut:
Jenis lapisan apa yang digunakan.
Jenis aktivasi apa yang digunakan - walaupun banyak aktivasi tidak akan kompatibel dengan perhitungan karena outputnya tidak dapat diartikan sebagai probabilitas (yaitu, outputnya negatif, lebih besar dari 1, atau tidak dijumlahkan ke 1). Softmax sering digunakan untuk klasifikasi multi-kelas karena menjamin fungsi distribusi probabilitas yang berperilaku baik.
Untuk jaringan saraf, Anda biasanya akan melihat persamaan ditulis dalam bentuk di mana y adalah vektor tanah kebenaran dan y^ beberapa nilai lain yang diambil langsung dari output lapisan terakhir) adalah perkiraan. Untuk satu contoh, akan terlihat seperti ini:
L=−y⋅log(y^)
di mana ⋅ adalah produk titik vektor.
Misalnya Anda ground truth y memberikan semua probabilitas untuk nilai pertama, dan nilai-nilai lain adalah nol, sehingga kita dapat mengabaikan mereka, dan hanya menggunakan istilah yang cocok dari perkiraan Anda yy^
L=−(1×log(0.1)+0×log(0.5)+...)
L=−log(0.1)≈2.303
Poin penting dari komentar
Itu berarti, kerugian akan sama tidak peduli jika prediksi yang [0.1,0.5,0.1,0.1,0.2] atau [0.1,0.6,0.1,0.1,0.1] ?
Ya, ini adalah fitur utama dari multiclass logloss, ini memberi hadiah / menghukum probabilitas kelas yang benar saja. Nilai tidak tergantung pada bagaimana probabilitas yang tersisa dibagi antara kelas yang salah.
Anda akan sering melihat persamaan ini dirata-rata untuk semua contoh sebagai fungsi biaya . Ini tidak selalu benar-benar dipatuhi dalam deskripsi, tetapi biasanya fungsi kerugian adalah level yang lebih rendah dan menggambarkan bagaimana satu instance atau komponen menentukan nilai kesalahan, sementara fungsi biaya adalah level yang lebih tinggi dan menggambarkan bagaimana sistem lengkap dievaluasi untuk optimasi. Fungsi biaya berdasarkan hilangnya multikelas log untuk kumpulan data ukuran N mungkin terlihat seperti ini:
J=−1N(∑i=1Nyi⋅log(y^i))
Banyak implementasi yang membutuhkan nilai kebenaran dasar Anda untuk dikodekan satu kali (dengan satu kelas benar), karena itu memungkinkan beberapa optimasi tambahan. Namun, pada prinsipnya kerugian lintas entropi dapat dihitung - dan dioptimalkan - saat ini tidak terjadi.