Sıralama algoritmalarını değerlendirme metrikleri


16

Sıralama algoritmaları için birkaç farklı metriğe bakmakla ilgileniyorum - Sıralama için wikipedia Öğrenme sayfasında listelenen birkaç tane var:

• Ortalama ortalama hassasiyet (MAP);

• DCG ve NDCG;

• Hassasiyet @ n, NDCG @ n; burada "@n", metriklerin yalnızca ilk n belge üzerinde değerlendirildiğini gösterir;

• Ortalama karşılıklı sıralama;

• Kendall's Tau

• Mızrakçı Rho

• Beklenen karşılıklı sıralama

• Yandex'in kuruluşu

ancak her birinin avantajları / dezavantajlarının ne olduğu veya bir diğerinin üzerine ne zaman seçebileceğiniz (veya bir algoritmanın NDGC'de diğerinden daha iyi performans göstermesi, ancak MAP ile değerlendirildiğinde daha kötü olması ne anlama geleceği) bana açık değil.

Bu sorular hakkında daha fazla bilgi edinmek için gidebileceğim bir yer var mı?

Yanıtlar:


29

Aslında aynı cevabı arıyorum, ancak sorunuza en azından kısmen cevap verebilmeliyim.

Bahsettiğiniz tüm metriklerin farklı özellikleri vardır ve ne yazık ki seçmeniz gereken gerçekte ölçmek istediğiniz şeye bağlıdır. Akılda tutmaya değer bazı şeyler:

  • Spearman'ın rho metriği, listenin en üstündeki hataları, alt kısımdaki uyumsuzluklarla aynı ağırlıkta cezalandırır, bu nedenle çoğu durumda bu, sıralamaları değerlendirmek için kullanılacak metrik değildir
  • DCG ve NDCG , ikili olmayan yardımcı program işlevini dikkate alan birkaç metrikten biridir, bu nedenle yararlı olup olmadığını değil, bir kaydın ne kadar yararlı olduğunu açıklayabilirsiniz .
  • DCG ve NDCG , konumlar için sabit tartımlara sahiptir, bu nedenle belirli bir konumdaki bir belge, yukarıda gösterilen belgelerden bağımsız olarak her zaman aynı kazanç ve indirime sahiptir.
  • Genellikle tercih ediyorum NDCG üzerinde DSG'deki o ilgili belgelerin sayısına göre değerini normale çünkü
  • MAP'ın bu sorun için klasik ve 'go-to' metriği olduğu ve bu alanda standart olduğu görülüyor.
  • (N) DCG her zaman sabit bir kayıt miktarı için hesaplanmalıdır (@k), çünkü uzun bir kuyruğu vardır (sıralamanın sonunda bir sürü alakasız kayıt metriğe son derece saptırır). Bu MAP için geçerli değildir .
  • Ortalama Karşılıklı Sıra yalnızca ilk ilgili belgenin konumunu işaretler, bu nedenle listede mümkün olan en fazla sayıda dokümanı önemsiyorsanız, bu sizin tercihiniz olmamalıdır
  • Kendall tau sadece ikili bir fayda fonksiyonu işleme, aynı zamanda @k hesap edilmelidir (benzer NDCG )

Değerli kaynaklar:

Yeni hesap nedeniyle daha fazla bağlantı gönderilemiyor :) Kimse daha fazla düşünce veya fikir varsa, onları da duymaktan mutluluk duyarım!


Artık daha fazla bağlantınız varsa bu yanıtı güncellemek için yeterli puanınız olduğunu düşünüyorum.
Yash Kumar Atri

5

Sıralama algoritmaları uyguladığınız birçok durumda (örneğin, Google arama, Amazon ürün önerisi) yüzlerce ve binlerce sonucunuz vardır. Kullanıcı sadece üstte ~ 20 kadar izlemek ister. Yani geri kalanı tamamen ilgisiz.

k

Uygulamanız için bu doğruysa, bunun metrik üzerinde doğrudan etkileri vardır:

  1. kk
  2. 2k

kk

Sıralama için birinci sınıf sınıflandırma doğruluğu

Temel hakikat için, bir düzen tanımlamak zor olabilir. Ve sadece alakalı / alakalı olmayanları ayırt ederseniz, aslında bir sınıflandırma durumundasınız demektir!

Top-n doğruluğu, sınıflandırma için bir metriktir. Bkz Üst-n doğruluk tanımı nedir? .

top-k accuracy=how often was at least one relevant element within the top-k of a ranking query?ranking queries

k

kk[5,20]

k

Hassas @ k

Precision@k=number of relevant items within the top-kk[0,1], higher is better

Size ne anlatıyor:

  • yüksekse -> Kullanıcıya gösterdiğiniz şeylerin çoğu onlarla ilgilidir
  • düşükse -> Kullanıcılarınızın zamanını boşa harcarsınız. Onlara gösterdiğiniz şeylerin çoğu, onlarla alakalı değil

Hatırlama @ k

Recall@k=number of relevant items within the top-ktotal number of relevant items[0,1], higher is better

Ne demek:

  • Yüksekse: Sahip olduklarınızı gösterin! Onlara tüm ilgili eşyaları verirsiniz.
  • Düşükse: İlgili öğelerin toplam miktarı ile karşılaştırıldığında, k küçüktür / üstteki ilgili öğeler k küçüktür. Bu nedenle, @ k tek başına hatırlama o kadar anlamlı olmayabilir. Yüksek hassasiyetli @ k ile birleştirilirse, k'yi artırmak mantıklı olabilir.

3

Son zamanlarda çok etiketli sıralama algoritmalarını değerlendirmek için bir metrik seçmek zorunda kaldım ve bu konuya gerçekten yardımcı oldum. İşte bir seçim yapmak için yardımcı olan stpk'nin cevabına bazı eklemeler.

  • MAP , yaklaşık etiket maliyetiyle çok etiketli sorunlara uyarlanabilir
  • MAP negatif sınıfı baskın olduğunda k de hesaplanması gerekmektedir gerekmez ancak çok etiketli versiyonu adapte olabilir
  • MAP ve (N) DCG'nin her ikisi de sıralanmış alaka düzeyi değerlerinin ağırlıklı ortalaması olarak yeniden yazılabilir

ayrıntılar

Ortalama hassasiyet (MAP), çeşitli sorgularda yalnızca ortalama AP'ler olduğundan ortalama hassasiyete (AP) odaklanalım. AP, ikili veriler üzerinde, her bir pozitif öğedeki hassasiyetlerin ortalaması olarak yeniden yazılabilen, hassas hatırlama eğrisinin altındaki alan olarak düzgün bir şekilde tanımlanır. ( MAP hakkındaki wikipedia makalesine bakın ) Olası bir yaklaşım, her birindeki hassasiyetlerin ortalaması olarak tanımlamaktır.öğe. Ne yazık ki, listenin sonunda sıralanan negatif örneklerin AP değeri üzerinde hiçbir etkisi olmadığı güzel özelliğini kaybediyoruz. (Bu, bir arama motorunu olumlu örneklerden çok daha fazla negatif örnekle değerlendirirken üzücüdür. birkaç olumlu örnekle sorgulamak zor.)

Öte yandan, bu yaklaşım çok etiketli durum için iyi genelleştirdiği hoş bir özelliğe sahiptir. Aslında, ikili durumda, k pozisyonundaki hassasiyet, pozitif bir örneğin alaka düzeyinin 1 olduğu ve negatif bir örneğin alaka düzeyinin 0 olduğu k pozisyonundan önceki ortalama alaka olarak da yorumlanabilir. Bu tanım doğal olarak ikiden fazla farklı alaka düzeyi bulunan durum. Bu durumda AP aynı zamanda her bir pozisyondaki alaka düzeylerinin ortalaması olarak da tanımlanabilir.

Bu ifade, yanıtında stpk tarafından belirtilen videonun konuşmacısı tarafından seçilen ifadedir. Bu videoda AP'nin alaka düzeylerinin ağırlıklı bir ortalaması olarak yeniden yazılabileceğini, ağırlığınınk

wkAP=1Klog(Kk)

K

wkDCG=1log(k+1)

Bu iki ifadeden, AP'nin belgeleri 1'den 0'a kadar ağırladığını söyleyebiliriz. - DCG, belgeleri toplam belge sayısından bağımsız olarak tartar.

Her iki durumda da, ilgili örneklerden çok daha alakasız örnekler varsa, pozitifin toplam ağırlığı ihmal edilebilir. AP için bir çözüm, negatif örnekleri alt örneklemektir, ancak alt örnekleme oranının nasıl seçileceğinin yanı sıra sorgunun veya pozitif belge sayısına bağlı olup olmadığından emin değilim. DCG için k'de kesebiliriz, ancak aynı tür sorular ortaya çıkar.

Buradaki herhangi bir kişi bu konuda çalışsaydı, bunun hakkında daha fazla bilgi almaktan memnuniyet duyarım.

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.