2015-12-13 12 views
6

sıra tabanlı öneri sistemi, Öneri doğruluğunu değerlendirmek için NDCG'yi kullanır. Bununla birlikte, bazen en yüksek öneriyi değerlendirmek için Doğruluk oranı ve hatırlama oranı kullanılır. NDCG yüksek olduğunda, doğruluk oranı yüksek olduğu anlamına mı geliyor? Ama ben bir ListRankMF algoritması çalıştırıyorum, doğruluk oranı yaklaşık% 8 movelens 100k veri kümesinde çok düşük. NDCG ve doğruluk oranı arasındaki ilişki nedir?Sıra tabanlı öneriler NDCG'yi neden kullanıyor?

cevap

0

NDCG, öneri sisteminin bazı ilgili sonuçları vermesi ve siparişin verilmesi önemlidir. Örneğin, bir çeviri önermek veya bir banka hesabı önermek. İlgili sonuçları kaçırırsak zararlı değildir, ancak iyi bir kullanıcı deneyimi için onları anlamlı bir sırayla istiyoruz.

Geri çağırma sistemi, öneri sisteminin amacı ilgili tüm sonuçları vermesi ve siparişin önemsiz olması durumunda yararlıdır. Örneğin, potansiyel bir tıbbi tanı veya reçete. İlgili sonuçları kaçırırsak zararlı olabilir, çünkü bu doğru teşhis veya tedavi olabilir. Düzen, doktorun tüm olasılıkları okumasını ve uzman kararlarını nihai karar için kullanmasını beklediğimizden dolayı önemli değildir. Bir hastaya (A'dan E'ye) ve tavsiye etmememiz gereken 5 tane (F'den J'ye) doktor önerebileceğimiz 5 ilaç olduğunu varsayalım. Tavsiye sistemimiz A, B, C, D önerilerini çıkarır.

  • NDCG = 1.0
  • Hatırlama = Bu durumda 0,8

açıkça hatırlamak Elimizden ilacı tavsiye etmedi çünkü (biz geldiğince yapmadım gösterir: Bu bize aşağıdaki değerlendirmeler verir E), NDCG bizi mükemmel önerilerde bulunduğumuza inandırır.

Kitap önermek yerine, NDCG daha uygun olur. Geri çağırma o kadar bilgilendirici değildir çünkü yüzlerce ilgili kitap olabilir, ancak bir kullanıcının okumak için yüzlerce kitabın bir listesini okumasını bekleyemeyiz. NDCG, en azından mümkün olanın bazı anlamlı alt kümelerini önerdiğimizi söylerdi.

İlgili konular