2015-12-13 10 views
6

Rangbasiertes Empfehlungssystem verwenden NDCG zur Bewertung der Empfehlungsgenauigkeit. Manchmal werden jedoch Genauigkeitsrate und Wiederholungsrate verwendet, um die Top-n-Empfehlung zu bewerten. Bedeutet es, wenn NDCG hoch ist, ist die Genauigkeitsrate hoch? Aber ich benutze einen ListRankMF-Algorithmus, die Genauigkeitsrate ist sehr niedrig auf Movelens 100k-Datensatz, nur etwa 8%. Was ist die Beziehung zwischen NDCG und Genauigkeitsrate?Warum rangbasierte Empfehlung NDCG verwenden?

Antwort

0

NDCG ist am hilfreichsten, wenn das Ziel des Empfehlungssystems darin besteht, relevante Ergebnisse zurückzugeben, und die Reihenfolge ist wichtig. Zum Beispiel, eine Übersetzung zu empfehlen oder ein Bankkonto zu empfehlen. Es ist nicht schädlich, wenn wir relevante Ergebnisse vermissen, aber für eine gute Benutzererfahrung wollen wir sie in einer sinnvollen Reihenfolge.

Recall ist am hilfreichsten, wenn das Ziel des Empfehlungssystems darin besteht, alle relevanten Ergebnisse zurückzugeben, und die Reihenfolge ist unwichtig. Zum Beispiel eine mögliche medizinische Diagnose oder Verschreibung. Es ist schädlich, wenn wir relevante Ergebnisse übersehen, da dies die richtige Diagnose oder Heilung sein könnte. Die Reihenfolge ist nicht wichtig, da wir erwarten, dass der Mediziner alle Möglichkeiten durchliest und sein Expertenwissen für die endgültige Entscheidung nutzt.

Angenommen, es gibt 5 Medikamente, die wir einem Arzt empfehlen können (A bis E), und 5, die wir nicht empfehlen sollten (F bis J). Unser Empfehlungssystem gibt die Empfehlungen A, B, C, D aus. Dies gibt uns die folgenden Bewertungen:

  • NDCG = 1,0
  • Recall = 0,8

In diesem Fall erinnern deutlich zeigt, dass wir nicht so gut tat, wie wir konnten (da wir nicht Medikament empfehlen haben E), während NDCG uns zu der Annahme führt, dass wir die perfekten Empfehlungen abgegeben haben.

Wenn wir stattdessen Bücher empfehlen würden, wäre NDCG geeigneter. Recall ist nicht so informativ, da es Hunderte von relevanten Büchern geben kann, aber wir können nicht erwarten, dass ein Benutzer eine Liste von Hunderten von Büchern durchliest, um nur eine zu lesen. NDCG würde uns sagen, ob wir zumindest eine sinnvolle Teilmenge dessen, was möglich ist, empfehlen.