Apa yang dianggap sebagai kehilangan log yang baik?

16

Saya mencoba untuk lebih memahami kehilangan log dan bagaimana cara kerjanya tetapi satu hal yang sepertinya tidak bisa saya temukan adalah memasukkan nomor kehilangan log ke dalam semacam konteks. Jika model saya memiliki kehilangan log 0,5, apakah itu bagus? Apa yang dianggap sebagai skor baik dan buruk? Bagaimana ambang batas ini berubah?

pengguna1923975
sumber
Utas ini relevan di sini: stats.stackexchange.com/q/414349/121522
mkt

Jawaban:

19

Logloss hanya mana p hanyalah probabilitas yang dikaitkan dengan kelas nyata.L.(halsaya)=-catatan(halsaya)hal

Jadi adalah baik, kami dikaitkan probabilitas 1 untuk kelas yang tepat, sementara L ( p ) = + buruk, karena kita dikaitkan probabilitas 0 ke kelas yang sebenarnya.L.(hal)=01L.(hal)=+0

Jadi, menjawab pertanyaan Anda, berarti, rata-rata, Anda dikaitkan dengan kelas yang tepat probabilitas p 0,61 di sampel.L.(hal)=0,5hal0,61

Sekarang, memutuskan apakah ini cukup baik sebenarnya tergantung pada aplikasi, dan jadi terserah argumen.

Pembakar
sumber
9

Seperti halnya metrik apa pun, metrik yang baik adalah yang lebih baik daripada yang "bodoh", tebak secara kebetulan, jika Anda harus menebak tanpa informasi tentang pengamatan. Ini disebut model intersep-only dalam statistik.

Tebak "bodoh" ini tergantung pada 2 faktor:

  1. jumlah kelas
  2. keseimbangan kelas: prevalensi mereka dalam dataset yang diamati

Dalam kasus metrik LogLoss, satu metrik biasa "terkenal" adalah mengatakan bahwa 0,693 adalah nilai non-informatif. Angka ini diperoleh dengan memprediksi p = 0.5untuk setiap kelas masalah biner. Ini hanya berlaku untuk masalah biner seimbang . Karena ketika prevalensi satu kelas adalah 10%, maka Anda akan selalu memprediksi p =0.1untuk kelas itu. Ini akan menjadi dasar Anda prediksi bodoh, kebetulan, karena memprediksi 0.5akan menjadi bodoh.

I. Dampak dari jumlah kelas Npada dumb-logloss:

Dalam kasus seimbang (setiap kelas memiliki prevalensi yang sama), ketika Anda memprediksi p = prevalence = 1 / Nuntuk setiap pengamatan, persamaannya menjadi sederhana:

Logloss = -log(1 / N)

logsedang Ln, logaritma neperian untuk mereka yang menggunakan konvensi itu.

Dalam kasus biner, N = 2:Logloss = - log(1/2) = 0.693

Jadi Logosses bodoh adalah sebagai berikut:

bodoh-logloss tergantung pada jumlah kelas - kasus seimbang

II Dampak dari prevalensi kelas pada dumb-Logloss:

Sebuah. Kasus klasifikasi biner

Dalam hal ini, kami selalu memprediksi p(i) = prevalence(i), dan kami mendapatkan tabel berikut:

logloss klasifikasi biner, tabel seimbang

Jadi, ketika kelas sangat tidak seimbang (prevalensi <2%), logloss 0,1 sebenarnya bisa sangat buruk! Seperti akurasi 98% akan buruk dalam kasus itu. Jadi mungkin Logloss tidak akan menjadi metrik terbaik untuk digunakan

logloss klasifikasi biner, tidak seimbang - grafik

b. Kasing tiga kelas

"Bodoh" -logloss tergantung pada prevalensi - kasus tiga kelas:

logloss klasifikasi tiga kelas, tidak seimbang

Kita bisa melihat di sini nilai-nilai kasus biner seimbang dan tiga kelas (0,69 dan 1,1).

KESIMPULAN

Logloss 0,69 mungkin baik dalam masalah multikelas, dan sangat buruk dalam kasus bias biner.

Bergantung pada kasus Anda, Anda sebaiknya menghitung sendiri garis dasar masalah, untuk memeriksa arti prediksi Anda.

Dalam kasus bias, saya mengerti bahwa logloss memiliki masalah yang sama dengan keakuratan dan fungsi kerugian lainnya: ia hanya menyediakan pengukuran kinerja global Anda. Jadi, Anda sebaiknya melengkapi pemahaman Anda dengan metrik yang berfokus pada kelas-kelas minoritas (mengingat dan presisi), atau mungkin tidak menggunakan logloss sama sekali.

Fed Zee
sumber
(+1) Selamat datang di CV! Anda dapat menggunakan penyusunan huruf matematika di pos Anda. Informasi lebih lanjut: math.meta.stackexchange.com/questions/5020/…
Sycorax berkata Reinstate Monica
Lebih baik daripada jawaban saya, +1
Firebug
5

Jadi ini sebenarnya lebih rumit daripada respons Firebugs dan semuanya tergantung pada variasi inheren dari proses yang Anda coba prediksi.

Ketika saya mengatakan variasi, apa yang saya maksudkan adalah 'jika suatu kejadian berulang di bawah kondisi yang sama persis, diketahui dan tidak diketahui, berapa probabilitas bahwa hasil yang sama akan terjadi lagi'.

Prediktor yang sempurna akan memiliki kerugian, untuk probabilitas P: Kehilangan = P ln P + (1-P) ln (1-P)

Jika Anda mencoba untuk memprediksi sesuatu di mana, yang lebih buruk, beberapa peristiwa akan diprediksi dengan hasil 50/50, maka dengan mengintegrasikan dan mengambil rata-rata kerugian rata-rata akan menjadi: L = 0,5

Jika apa yang Anda coba prediksi adalah sedikit lebih berulang, kehilangan model sempurna lebih rendah. Jadi misalnya, katakanlah dengan informasi yang memadai model yang sempurna dapat memprediksi hasil dari suatu peristiwa di mana di semua peristiwa yang mungkin terburuk yang bisa dikatakan adalah 'peristiwa ini akan terjadi dengan probabilitas 90%' maka kerugian rata-rata adalah L = 0,18 .

Ada juga perbedaan jika distribusi probabilitas tidak seragam.

Jadi dalam menjawab pertanyaan Anda, jawabannya adalah 'itu tergantung pada sifat dari apa yang Anda coba prediksi'

simeon
sumber
L.0,693hal
L.0,18L.0,5
1
Saya tidak setuju dengan kasus terburuk Anda. Saya hanya mengatakan bahwa 'hasil yang baik' tergantung pada sistem. 0,4 dapat menunjukkan hasil yang baik untuk beberapa sistem (seperti contoh terakhir) atau yang buruk (untuk yang pertama).
simeon
0

Saya akan mengatakan jawaban statistik standar adalah dibandingkan dengan model intersep saja. (ini menangani kelas tidak seimbang yang disebutkan dalam jawaban lain) cf pseudo r ^ 2 mcFadden. https://stats.idre.ucla.edu/other/mult-pkg/faq/general/faq-what-are-pseudo-r-squareds/

Sekarang masalahnya adalah apa nilai maksimumnya. pada dasarnya masalahnya adalah bahwa probabilitas suatu peristiwa tidak ditentukan di luar model untuk peristiwa tersebut. cara yang saya sarankan adalah Anda mengambil data pengujian dan mengumpulkannya ke tingkat tertentu, untuk mendapatkan perkiraan probabilitas. lalu hitung logloss dari estimasi ini.

mis. Anda memperkirakan rasio klik-tayang berdasarkan pada (web_site, ad_id, consumer_id), lalu Anda mengagregasikan klik, tayangan ke tingkat web_site misalnya dan menghitung RKPT pada set pengujian untuk setiap situs web. lalu hitung log_loss pada data uji Anda menggunakan set klik uji ini sebagai prediksi. Ini kemudian logloss optimal pada set pengujian Anda untuk model hanya menggunakan id situs web . Masalahnya adalah kita bisa membuat kerugian ini sekecil yang kita mau dengan hanya menambahkan lebih banyak fitur sampai setiap record diidentifikasi secara unik.

seanv507
sumber