2017-09-07 3 views

Antwort

6

Um MAP (Mean Average Precision) zu verstehen, würde ich zuerst mit AP (Average Precision) beginnen.

Angenommen wir für Bilder einer Blume suchen und bieten wir unseren Bildholsystem ein Beispielbild einer Rose (Abfrage), wir bekommen wieder eine Reihe von Rang Bilder (von den meisten wahrscheinlich am wenigsten wahrscheinlich). Normalerweise sind nicht alle von ihnen korrekt. Also berechnen wir die Genauigkeit bei jedes korrekt zurückgegebene Bild und nehmen dann einen Durchschnittswert.


Beispiel:

Wenn unser zurückgegebene Ergebnis 1, 0, 0, 1, 1, 1 ist, wo 1 ein Bild einer Blume ist, während 0 nicht, dann ist die Präzision bei jedem richtigen Punkt ist:

Precision at each correct image = 1/1, 0, 0, 2/4, 3/5, 4/6 
Summation of these precisions = 83/30 
Average Precision = (Precision summation)/(total correct images) = 83/120 

Randbemerkung:

Dieser Abschnitt enthält eine detaillierte Erklärung hinter der Berechnung der Präzision bei jedem richtigen Bild, falls Sie durch die oben genannten Fraktionen immer noch verwirrt sind.

Zur Veranschaulichung, lassen Sie 1, 0, 0, 1, 1, 1 in einem Array gespeichert werden, so results[0] = 1, results[1] = 0 usw.

totalCorrectImages = 0, totalImagesSeen = 0, pointPrecision = 0

Lassen

Die Formel für pointPrecision ist totalCorrectImages/totalImagesSeen

Bei results[0], totalCorrectImages = 1, totalImagesSeen = 1 daher pointPrecision = 1

Seit results[1] != 1, ignorieren wir es aber totalImagesSeen = 2 && totalCorrectImages = 1

Seit results[2] != 1, totalImagesSeen = 3 && totalCorrectImages = 1

Bei results[3], totalCorrectImages = 2, totalImagesSeen = 4 daher pointPrecision = 2/4

Bei results[4], totalCorrectImages = 3, totalImagesSeen = 5 daher pointPrecision = 3/5

Bei results[5], totalCorrectImages = 4, totalImagesSeen = 6 daher pointPrecision = 4/6


Eine einfache Art und Weise zu interpretieren ist eine Kombination aus Nullen und diejenigen zu erzeugen, die geben der erforderliche AP Zum Beispiel könnte ein AP von 0,5 Ergebnisse wie 0, 1, 0, 1, 0, 1, ... haben, wobei jedes zweite Bild korrekt ist, während ein AP von 0.3330, 0, 1, 0, 0, 1, 0, 0, 1, ... hat, wobei jedes dritte Bild korrekt ist.

Für einen AP von 0.1 ist jedes 10. Bild korrekt, und das ist definitiv ein schlechtes Retrieval-System. Auf der anderen Seite, für einen AP über 0.5, werden wir mehr richtige Bilder als falsch in den Top-Ergebnissen begegnen, was definitiv ein gutes Zeichen ist.

MAP ist nur eine Erweiterung von AP. Sie nehmen einfach die Durchschnittswerte aller AP-Bewertungen für eine bestimmte Anzahl von Abfragen. Die obige Interpretation von AP-Werten gilt auch für MAP. MAP reicht von 0 bis 100, höher ist besser.

AP Formel auf Wikipedia

MAP Formel auf Wikipedia

Credits zu diesem blog

EDIT I:

Das gleiche Konzept angewendet wird, wenn es eine Erkennung Objekt kommt. In diesem Szenario würden Sie den AP für jede Klasse berechnen. Dies ist gegeben durch die Fläche unter der Präzision-Recall-Kurve für eine gegebene Klasse. Ab diesem Punkt finden Sie ihre Durchschnittswerte, um den mAP zu erreichen. Weitere Details finden Sie in Abschnitt 3.4.1 und 4.4 der 2012 Pascal VOC Dev Kit. Das entsprechende Papier kann here gefunden werden.

+0

Hallo können Sie das erklären, was bedeutet "So berechnen wir die Genauigkeit bei jedem korrekt zurückgegebenen Bild"? –

+0

Ich glaube, dass das Beispiel, das direkt nach diesem Satz zur Verfügung gestellt wird, Ihre Frage beantwortet. Sie berechnen die Genauigkeit nur für die richtigen Vorhersagen und ignorieren die falschen. – eshirima

+0

Also was ist der AP endlich. Das letzte Ding ? –

Verwandte Themen