Metrik untuk mengevaluasi algoritma peringkat

15

Saya tertarik melihat beberapa metrik yang berbeda untuk algoritme pemeringkatan - ada beberapa yang terdaftar di halaman wikipedia Learning to Rank, termasuk:

• Rata-rata presisi rata-rata (MAP);

• DCG dan NDCG;

• Precision @ n, NDCG @ n, di mana "@n" menunjukkan bahwa metrik dievaluasi hanya pada n dokumen teratas;

• Rata-rata peringkat timbal balik;

• Kendall's tau

• Spearman's Rho

• Tingkat timbal balik yang diharapkan

• Pendiri Yandex

tetapi tidak jelas bagi saya apa kelebihan / kekurangan masing-masing atau ketika Anda dapat memilih satu dari yang lain (atau apa artinya jika satu algoritma mengungguli yang lain pada NDGC tetapi lebih buruk ketika dievaluasi dengan MAP).

Apakah ada tempat saya bisa belajar lebih banyak tentang pertanyaan-pertanyaan ini?

anthr
sumber

Jawaban:

29

Saya sebenarnya mencari jawaban yang sama, namun saya harus bisa setidaknya menjawab sebagian pertanyaan Anda.

Semua metrik yang Anda sebutkan memiliki sifat yang berbeda dan, sayangnya, yang harus Anda pilih tergantung pada apa yang sebenarnya ingin Anda ukur. Berikut adalah beberapa hal yang layak untuk diingat:

  • Metrik rho Spearman menghukum kesalahan di bagian atas daftar dengan bobot yang sama dengan ketidakcocokan di bagian bawah, jadi dalam kebanyakan kasus ini bukan metrik yang digunakan untuk mengevaluasi peringkat
  • DCG & NDCG adalah salah satu dari beberapa metrik yang memperhitungkan fungsi utilitas non-biner, sehingga Anda dapat menggambarkan seberapa bermanfaat catatan dan bukan apakah berguna.
  • DCG & NDCG memiliki bobot tetap untuk posisi, jadi dokumen dalam posisi tertentu selalu mendapatkan dan diskon yang sama secara terpisah dari dokumen yang ditunjukkan di atasnya
  • Anda biasanya lebih suka NDCG daripada DCG , karena itu menormalkan nilai dengan jumlah dokumen yang relevan
  • MAP seharusnya merupakan metrik klasik dan 'masuk ke' untuk masalah ini dan tampaknya menjadi standar di lapangan.
  • (N) DCG harus selalu dihitung untuk jumlah record yang tetap (@k), karena ia memiliki ekor yang panjang (banyak catatan yang tidak relevan di akhir peringkat sangat bias metrik). Ini tidak berlaku untuk PETA .
  • Mean Reciprocal Rank hanya menandai posisi dokumen yang relevan pertama, jadi jika Anda peduli tentang sebanyak mungkin dokumen yang relevan untuk menjadi tinggi dalam daftar, maka ini seharusnya tidak menjadi pilihan Anda
  • Kendall's tau hanya menangani fungsi utilitas biner, itu juga harus dihitung @ k (mirip dengan NDCG )

Sumber daya berharga:

Tidak dapat memposting lebih banyak tautan, karena akun baru :) Jika ada yang punya lebih banyak komentar atau ide, saya akan senang mendengarnya juga!

stpk
sumber
Saya pikir sekarang Anda memiliki cukup poin untuk memperbarui jawaban ini jika Anda memiliki lebih banyak tautan.
Yash Kumar Atri
5

Dalam banyak kasus di mana Anda menerapkan algoritma peringkat (mis. Pencarian Google, rekomendasi produk Amazon) Anda memiliki ratusan dan ribuan hasil. Pengguna hanya ingin menonton di bagian atas ~ 20 atau lebih. Jadi sisanya sama sekali tidak relevan.

k

Jika ini berlaku untuk aplikasi Anda, maka ini memiliki implikasi langsung pada metrik:

  1. kk
  2. 2k

kk

Akurasi klasifikasi top-k untuk peringkat

Untuk kebenaran dasar, mungkin sulit untuk menentukan urutan. Dan jika Anda hanya membedakan yang relevan / tidak relevan, maka Anda sebenarnya berada dalam kasus klasifikasi!

Akurasi top-n adalah metrik untuk klasifikasi. Lihat Apa definisi akurasi Top-n? .

akurasi top-k=seberapa sering setidaknya satu elemen yang relevan dalam top-k dari permintaan peringkat?kueri peringkat

k

kk[5,20]

k

Presisi @ k

Presisi @ k=jumlah item yang relevan dalam top-kk[0,1], lebih tinggi lebih baik

Apa yang diceritakan:

  • jika tinggi -> Banyak hal yang Anda perlihatkan kepada pengguna relevan bagi mereka
  • jika rendah -> Anda membuang waktu pengguna Anda. Banyak dari apa yang Anda tunjukkan kepada mereka, tidak relevan untuk mereka

Ingat @ k

Ingat @ k=jumlah item yang relevan dalam top-kjumlah total item yang relevan[0,1], lebih tinggi lebih baik

Apa artinya:

  • Jika tinggi: Anda menunjukkan apa yang Anda miliki! Anda memberi mereka semua item yang relevan.
  • Jika rendah: Dibandingkan dengan jumlah total item yang relevan, k adalah barang kecil / item yang relevan di bagian atas k adalah barang kecil. Karena ini, recall @ k saja mungkin tidak begitu berarti. Jika dikombinasikan dengan presisi tinggi @ k, maka peningkatan k mungkin masuk akal.
Martin Thoma
sumber
3

Saya baru-baru ini harus memilih metrik untuk mengevaluasi algoritma peringkat multilabel dan sampai ke subjek ini, yang sangat membantu. Berikut adalah beberapa tambahan pada jawaban stpk, yang sangat membantu untuk membuat pilihan.

  • MAP dapat disesuaikan dengan masalah multilabel, dengan biaya perkiraan
  • MAP tidak perlu dihitung pada k tetapi versi multilabel mungkin tidak diadaptasi ketika kelas negatif lebih dominan
  • MAP dan (N) DCG dapat ditulis ulang sebagai rata-rata weigthed nilai relevansi peringkat

Detail

Mari kita fokus pada presisi rata-rata (AP) karena rata-rata presisi (MAP) hanyalah rata-rata AP pada beberapa pertanyaan. AP didefinisikan dengan benar pada data biner sebagai area di bawah kurva presisi-recall, yang dapat ditulis ulang sebagai rata-rata dari precision di setiap item positif. (lihat artikel wikipedia di MAP ) Suatu perkiraan yang mungkin adalah mendefinisikannya sebagai rata-rata dari precision di setiapbarang. Sayangnya, kami kehilangan properti bagus yang diberi peringkat contoh negatif di akhir daftar tidak berdampak pada nilai AP. (Ini sangat menyedihkan ketika datang untuk mengevaluasi mesin pencari, dengan contoh-contoh yang jauh lebih negatif daripada contoh-contoh positif. Solusi yang mungkin adalah dengan mencontoh contoh-contoh negatif, dengan biaya kerugian lainnya, misalnya pertanyaan dengan item yang lebih positif akan menjadi sama rata sulit untuk pertanyaan dengan beberapa contoh positif.)

Di sisi lain, pendekatan ini memiliki properti bagus yang digeneralisasikan dengan baik ke kasus multilabel. Memang, dalam kasus biner, ketepatan pada posisi k dapat juga diartikan sebagai relevansi rata-rata sebelum posisi k, di mana relevansi contoh positif adalah 1, dan relevansi contoh negatif adalah 0. Definisi ini meluas secara alami ke kasus di mana ada lebih dari dua tingkat relevansi yang berbeda. Dalam hal ini, AP juga dapat didefinisikan sebagai rata-rata dari relevansi di setiap posisi.

k

wkSEBUAHP=1Kcatatan(Kk)

K

wkDCG=1catatan(k+1)

Dari dua ungkapan ini, kita dapat menyimpulkan bahwa - AP menimbang dokumen dari 1 hingga 0. - DCG menimbang dokumen secara independen dari jumlah total dokumen.

Dalam kedua kasus, jika ada contoh yang lebih tidak relevan daripada contoh yang relevan, berat total positif dapat diabaikan. Untuk AP, solusinya adalah dengan subsampel sampel negatif, tapi saya tidak yakin bagaimana memilih proporsi subsampling, serta apakah akan membuatnya bergantung pada permintaan atau pada jumlah dokumen positif. Untuk DCG, kita bisa memotongnya di k, tetapi pertanyaan yang sama muncul.

Saya akan senang mendengar lebih banyak tentang ini, jika ada orang di sini yang menangani masalah ini.

rdbs
sumber