Bagaimana cara membandingkan dua algoritma peringkat?

12

Saya ingin membandingkan dua algoritma peringkat. Dalam algoritma ini, klien menentukan beberapa kondisi dalam pencariannya. Menurut persyaratan klien, algoritma ini harus menetapkan skor untuk setiap item dalam basis data dan mengambil item dengan skor tertinggi.

Saya telah membaca berbagai topik terkait pertanyaan saya di situs ini dan mencari di internet. Menurut pencarian saya, artikel paling relevan yang menjelaskan tentang beberapa metrik untuk membandingkan algoritma peringkat, adalah ini: Brian McFee dan Gert RG Lanckriet, Metric Learning to Ranking, ICML 2010 ( https://bmcfee.github.io/papers/mlr .pdf ). Saya pikir prec @ k, MAP, MRR, dan NDCG, adalah metrik yang baik untuk digunakan, tetapi saya memiliki masalah:

Algoritme saya mengurutkan hasil, sehingga item pertama dalam daftar hasil saya adalah yang terbaik dengan skor tertinggi, hasil kedua memiliki skor teratas kedua, dan seterusnya. Saya membatasi algoritma pencarian saya, misalnya, menemukan 5 hasil terbaik. Hasilnya adalah 5 item teratas. Jadi, presisi akan menjadi 1. Ketika saya membatasi pencarian saya untuk menemukan hasil terbaik, ia menemukan yang terbaik. Sekali lagi, presisi akan menjadi 1.Tapi masalahnya adalah bahwa, itu tidak dapat diterima untuk orang-orang yang melihat hasil ini.

Apa yang dapat saya? Bagaimana saya bisa membandingkan algoritma ini dan menunjukkan satu lebih baik daripada yang lain?

MK
sumber

Jawaban:

6

Discounted Cumulative Gain (DCG) adalah salah satu metrik paling populer yang digunakan untuk evaluasi peringkat oleh mesin pencari mana pun. Ini adalah ukuran kualitas peringkat. Dalam pencarian informasi, sering digunakan untuk mengukur efektivitas mesin pencari web.

Ini didasarkan pada asumsi berikut:

  1. Dokumen yang sangat relevan lebih berguna jika muncul lebih awal dalam hasil pencarian.
  2. Dokumen yang sangat relevan lebih bermanfaat daripada dokumen yang sedikit lebih relevan daripada yang tidak relevan.

Rumus untuk DCG adalah sebagai berikut:

(1)DCGp=i=1prelilog2(i+1)=rel1+i=2prelilog2(i+1)

Dimana:

  • i adalah posisi dokumen yang dikembalikan dalam hasil pencarian.
  • reli adalah relevansi bertingkat dari dokumen
  • penjumlahan dari p (jumlah hasil yang dikembalikan) karenanya, akumulasi keuntungan kumulatif memberikan metrik kinerja dari hasil yang dikembalikan.

DCG berasal dari CG (Cumulative Gain) , yang diberikan oleh:

(2)CGp=i=1preli

Dari (2) dapat dilihat bahwa tidak berubah untuk perubahan dalam urutan hasil. Maka untuk mengatasi masalah ini DCG diperkenalkan. Ada bentuk DCG yang berbeda, yang populer untuk menempatkan penekanan yang sangat tinggi pada pengambilan dokumen. Versi DCG ini diberikan oleh:CGp

(3)DCGp=i=1p2reli1log2(i+1)

Satu kelemahan yang jelas dari persamaan DCG yang disajikan dalam (1) dan (3) adalah bahwa algoritma yang mengembalikan jumlah hasil yang berbeda tidak dapat dibandingkan secara efektif. Ini karena semakin tinggi nilai semakin tinggi nilai akan diskalakan.pDCGp

Untuk mengatasi masalah ini, DCG dinormalisasi (nDCG) diusulkan. Itu diberikan oleh,

nDCGp=DCGpIDCGp

di mana adalah Ideal , yang diberikan oleh,IDCGpDCGp

IDCGp=i=1|REL|2reli1log2(i+1)

Di mana | REL | adalah daftar dokumen yang diurutkan berdasarkan relevansi dalam korpus hingga posisi h.

Untuk algoritma peringkat yang sempurna,

DCGp=IDCGp

Karena nilai-nilai nDCG diskalakan dalam kisaran [0,1], perbandingan lintas-kueri dimungkinkan menggunakan metrik ini.

Kelemahan: 1. nDCG tidak menghukum pengambilan dokumen buruk dalam hasilnya. Ini dapat diperbaiki dengan menyesuaikan nilai-nilai relevansi yang dikaitkan dengan dokumen. 2. nDCG tidak menghukum dokumen yang hilang. Ini dapat diperbaiki dengan memperbaiki ukuran pengambilan dan menggunakan skor minimum untuk dokumen yang hilang.

Lihat ini untuk melihat contoh perhitungan nDCG.

Referensi

m1cro1ce
sumber