关于准确率-召回率曲线和平均准确率的混淆

Confusion about precision-recall curve and average precision

为了评估我的图像检索系统,我阅读了很多关于 Precision-Recall 曲线的资料。特别是我正在阅读 this article about feature extractors in VLFeat and the wikipedia page 关于精确召回的内容。

我知道这条曲线对评估我们的系统性能很有用w.r.t。检索到的元素数。所以我们重复计算精确召回检索顶部元素,然后是顶部 2、顶部 3 等等......但我的问题是:我们什么时候停止

我的直觉是:当检索到的元素列表的召回率等于 1 时,我们就停止,因此我们检索了所有相关元素(即没有假阴性,只有真阳性)。

同样的问题是平均精度:检索结果中应该有多少个元素来计算它?如果我之前的直觉是正确的,那么我们只需要找出最小的列表s.t。召回率是 1 并用它来计算 AP。

我想知道为什么所有用于计算 p-r 曲线的库都不显示这是如何实现的?

召回率为1的信息检索系统意味着一个完美的系统,在实践中似乎不可能!当您需要比较两个或多个信息检索系统时,Precision-Recall 曲线非常有用。它不是在召回率或精确率达到某个值时停止。 Precision-Recall 曲线显示每个点的召回率和精度值对(考虑前 3 或 5 个文档)。您可以将曲线绘制到任何合理的点。

接近完美 Precision-Recall 的曲线比接近基线的曲线具有更好的性能水平。换句话说,高于另一条曲线的曲线具有更好的性能水平。两条Precision-Recall曲线代表了两个IR系统A和B的性能水平。根据下图,系统A明显优于系统B。

记住: Precision-Recall曲线不仅仅用于评估IR系统。它可以用来显示你的分类器有多好!例如,您可以为二元分类任务计算精度、召回率并绘制 Precision-Recall 曲线,这可以让您很好地估计分类器的性能。

例如:

我鼓励您从 Coursera 看到这个 tutorial。我相信你对Precision-Recall曲线的想法会更加清晰。