İki sıralama algoritması nasıl karşılaştırılır?


12

İki sıralama algoritmasını karşılaştırmak istiyorum. Bu algoritmalarda, istemci aramasında bazı koşulları belirtir. Müşterinin gereksinimlerine göre, bu algoritma veri tabanındaki her öğe için bir puan atamalı ve en yüksek puanlara sahip öğeleri almalıdır.

Bu sitede sorumla ilgili farklı konular okudum ve internette arama yaptım. Aramalarıma göre, sıralama algoritmalarını karşılaştırmak için bazı metrikleri açıklayan en alakalı makale şuydu: Brian McFee ve Gert RG Lanckriet, Sıralamaya Göre Metrik Öğrenme, ICML 2010 ( https://bmcfee.github.io/papers/mlr .pdf ). Bence prec @ k, MAP, MRR ve NDCG, kullanmak için iyi metrikler, ama bir sorunum var:

Algoritma sıralama sonuçlarım, bu yüzden sonuç listemdeki ilk öğe en yüksek puanı alan ikinci öğe, ikinci sonuç ikinci en yüksek puanı aldı, vb. Arama algoritmamı örneğin en iyi 5 sonuçla sınırlandırıyorum. Sonuçlar en iyi 5 öğedir. Bu nedenle, hassasiyet 1 olacaktır. Aramamı en iyi sonucu bulmak için sınırlandırdığımda, en iyisini bulur. Yine, hassasiyet 1 olacaktır. Ancak sorun şu ki, bu sonucu gören insanlar için kabul edilemez.

Ne yapabilirim? Bu algoritmaları nasıl karşılaştırabilirim ve birini diğerinden daha iyi gösterebilirim?

Yanıtlar:


6

İndirimli Kümülatif Kazanç (DCG) , herhangi bir arama motoruna göre sıralamanın değerlendirilmesi için kullanılan en popüler metriklerden biridir. Bu, kalite sıralamasının bir ölçüsüdür. Bilgi alma, genellikle web arama motorunun etkinliğini ölçmek için kullanılır.

Aşağıdaki varsayımlara dayanmaktadır:

  1. Daha alakalı aramalar, daha önce bir arama sonucunda görünüyorsa daha kullanışlıdır.
  2. Yüksek derecede alakalı dokümanlar, önemsiz dokümanlardan daha iyi olan marjinal olarak ilgili dokümanlardan daha kullanışlıdır.

DCG'nin formülü aşağıdaki gibidir:

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

Nerede:

  • i, bir belgenin arama sonucundaki döndürülen konumudur.
  • reli , belgenin dereceli alaka
  • p toplamı (döndürülen sonuç sayısı) dolayısıyla birikmiş birikimli kazanç, döndürülen sonucun performans metriklerini verir.

DCG aşağıdakiler tarafından verilen CG'den (Kümülatif Kazanç) türetilir :

(2)CGp=i=1preli

(2) 'den sonuç sırasındaki bir değişiklik için değişmediği görülebilir . Böylece bu sorunun üstesinden gelmek için DCG tanıtıldı. Belgelerin geri alınmasına büyük önem vermek için popüler olan farklı bir DCG formu vardır. DCG'nin bu sürümü:CGp

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

(1) ve (3) 'te sunulan DCG denkleminin bariz bir dezavantajı, farklı sayıda sonuç döndüren algoritmaların etkili bir şekilde karşılaştırılamamasıdır. Bunun nedeni, değeri ne kadar yüksek olursa değeri o kadar yüksek olur.pDCGp

Bu sorunun üstesinden gelmek için normalize edilmiş DCG (nDCG) önerilmektedir. Tarafından verilir,

nDCGp=DCGpIDCGp

burada , tarafından verilen İdeal ,IDCGpDCGp

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

Nerede | REL | p pozisyonunda korpus ile alaka düzeyine göre sıralanan belgelerin listesidir.

Mükemmel bir sıralama algoritması için,

DCGp=IDCGp

NDCG değerleri [0,1] aralığında ölçeklendiğinden, bu metrikler kullanılarak çapraz sorgu karşılaştırması mümkündür.

Dezavantajları: 1. nDCG, sonuçta kötü belgelerin alınmasını cezalandırmaz. Bu, belgelere atfedilen alaka düzeyi değerleri ayarlanarak düzeltilebilir. 2. nDCG eksik belgeleri cezalandırmaz. Geri alma boyutu düzeltilerek ve eksik belgeler için minimum puan kullanılarak bu düzeltilebilir.

Bakın bu nDCG örnek hesaplamalar görmek için.

Referans


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.