2015-12-13 5 views
6

sistema di raccomandazione basato su rango, utilizzare NDCG per valutare l'accuratezza della raccomandazione. Tuttavia, a volte vengono utilizzate frequenza di accuratezza e frequenza di richiamo per valutare le raccomandazioni top-n. Significa che quando NDCG è alto, il tasso di precisione è alto? Ma eseguo un algoritmo ListRankMF, il tasso di accuratezza è molto basso sul set di dati di movelens 100k, appena l'8% circa. Qual è la relazione tra NDCG e il tasso di precisione?Perché la raccomandazione basata sul rango utilizza NDCG?

risposta

0

NDCG è di grande aiuto quando l'obiettivo del sistema recommender è restituire risultati rilevanti e l'ordine è importante. Ad esempio, raccomandando una traduzione o raccomandando un conto bancario. Non è dannoso se perdiamo risultati rilevanti, ma per una buona esperienza utente li vogliamo in un ordine significativo.

Il richiamo è molto utile quando l'obiettivo del sistema recommender è restituire tutti i risultati rilevanti e l'ordine non è importante. Ad esempio, una potenziale diagnosi medica o prescrizione. È dannoso se perdiamo un risultato rilevante, dal momento che potrebbe essere la diagnosi o la cura corretta. L'ordine non è importante poiché ci aspettiamo che il medico legga tutte le possibilità e utilizzi le sue conoscenze specialistiche per la decisione finale.

Supponiamo che ci siano 5 farmaci che potremmo raccomandare a un medico di dare un paziente (da A a E) e 5 che non dovremmo raccomandare (da F a J). Il nostro sistema recommender emette le raccomandazioni A, B, C, D. Questo ci dà le seguenti valutazioni:

  • NDCG = 1.0
  • Richiamo = 0,8

In questo caso richiamare chiaramente dimostra che non abbiamo fatto così come abbiamo potuto (dato che non abbiamo consigliamo di droga E), mentre NDCG ci porta a credere che abbiamo formulato le raccomandazioni perfette.

Se invece raccomandassimo libri, NDCG sarebbe più appropriato. Il richiamo non è così informativo poiché potrebbero esserci centinaia di libri pertinenti, ma non possiamo aspettarci che un utente legga un elenco di centinaia di libri per sceglierne solo uno da leggere. NDCG ci direbbe se almeno raccomandiamo un sottoinsieme significativo di ciò che è possibile.