3

this質問では、精度再現曲線に関する説明を尋ねました。混乱について(平均)平均精度

特に、カーブを描くために一定数のランキングを考慮する必要があるかどうか、あるいは自分自身を合理的に選ぶことができるかどうかを尋ねました。 answerによれば、第2のものは正しい。

しかし、今私は平均精度(AP)の値について大きな疑問を抱いています.APは、特定のクエリが与えられたときに私たちのアルゴリズムがどれほど良いかを数値的に評価するために使用されます。平均平均精度(MAP)は、複数のクエリの平均精度です。

私が疑問を抱くのは、私が疑問を抱くのは、私が検索したオブジェクトの数に応じてAPが変化した場合、このパラメータを私たちの利益に合わせて調整できるからです。たとえば、p-r曲線が10要素まで素晴らしく実行され、恐ろしくないと仮定すると、最初の10要素だけを考慮して(M)AP値を計算することを「不正にする」ことができます。

これは混乱を招くかもしれないが、どこでもこれについては何も見つかりませんでした。

答えて

4

APは、精度リコールカーブの下の領域であり、精度リコールカーブは、返されたランクリスト全体にわたって計算されると想定されます。

返されたランクリストのサイズを調整することでAPを不正行為させることはできません。 APは、正確なリコール曲線の下の領域で、リコールの関数として精度をプロットします。ここで、recallは、地上真理に存在するポジティブの総数に対する返されたポジティブの数です。返されたリストリストをトリミングすると、正確なリコールカーブを切り取り、そのテールをプロットすることを無視しているだけです。APがカーブの下の領域であるため、リストを切り取ることでAPが減少するので、ランク付けされたリストサイズを微調整する知恵はありません。リスト全体を返すと最大のAPが得られます。リストは、単に(すべてのインクリメントがold_precisionprecision通りである非負である

apの少ない増分で生じる
for (; i<some_number; ++i) { 

に変化

for (; i<ranked_list.size(); ++i) { 

に対応するクロッピング - あなたはthe code you cited in your other questionから、例えば、これを見ることができます非負であり、recallは減少しない)、したがってより小さいAP値。

実際には、計算上の理由から、妥当な数値でリストをトリミングしたい場合があります。あなたが異常に多数のポジティブを持っていない限り、precision @ large_numberは0になる可能性が高いので、APが大きく変わることはまずありません。

あなたの混乱は、VLFeatのvl_prのような一般的な機能が、ランク付けされたリスト全体を提供したと仮定して精算リコール曲線を計算し、地面の陽性の総数を計算する地上の真実そのものではなく、ランク付けされたリストを見るだけで真実です。だから、もしあなたが切り取ったリストにvl_prを使っていたら、本当にそれを騙すことができますが、それは無効な計算になります。関数の説明から100%明らかではないと私は同意しますが、を詳しく調べるとNUMNEGATIVESNUMPOSITIVESが表示されるので、不完全なランクリストを指定する場合は、これら2つの数量を設定する必要があります正確に正確なリコールカーブ/ APを正しく計算する方法を関数に知らせます。今度は、vl_prを使用してランク付けされたリストの異なる作物をプロットしても、すべての関数呼び出しで同じNUMNEGATIVESとNUMPOSITIVESを使用すると、上記で説明したように、精度リコール曲線はちょうど互いの作物であることがわかります(私は、私はここにmatlabを持っていないので、これをまだチェックしていませんが、私はそれが事実であると確信しています。

+0

私はあなたの答えを理解しています、いつものように再びありがとう。私はオックスフォードの建物のデータセットでVLFeat VLADをテストしています。データセット全体が約5k画像なので、私はそれらをrank_listとして[this](http://www.robots.ox.ac.uk/~vgg/)に渡します。 data/oxbuildings/compute_ap.cpp)code;)始めに私はrank_listとして上位10個(またはそのようなもの)の画像だけを渡す必要があると考えていましたが、今度はそれらの5kをすべて渡します!再度、感謝します! – justHelloWorld

3

あなたの言ったことは部分的に正しいです。最上位のNで検索した文書や妥当なMAPやAPを取得した場合は、その罰金が科せられます。あなたの赤外線システムが最上部のNで関連文書の数を検索しているので、不正行為ではありません。 IRシステムでは、すべての関連ドキュメントを取得できず、検索された関連ドキュメントを上位ランクにランク付けし、APが測定したものをランク付けする方が優れていることに注意してください。(上位ランクとは、100または101の代わりにランク1またはランク2を意味します)

例として、2つの関連ドキュメントがあります.1つはランク1で返され、もう1つはランク50で返されます。 MAPまたはAPを返す場合は、回答を[email protected]または[email protected]と報告する必要があります。一般に、APはすべての返されたドキュメントに対する平均精度を意味しますが、トップのNドキュメントを考慮すると、メトリックはAPの代わりに[email protected]になり、になると、になります。しかし、もしあなたが[email protected]を計算してAPとして報告すれば、あなたは読者に部分的な情報を与えています。

MAPについての重要な事実 - 関連する文書が検索されない場合、その関連文書に対応する精度はゼロであるとみなされます。 APを計算する際には、累積精度を関連する全文書で除算します。したがって、[email protected]または[email protected]を計算しているときは、IRシステムによって返された最上部のNが気になるだけです。たとえば、one of my research works[email protected]を使用しています。

APまたはMAPについて混乱している場合は、hereについて簡単に説明しています。うまくいけば、あなたの混乱を明確にするのに役立ちます。

+0

ありがとうございます。これは疑いの余地がありません。私は[これ](https://www.robots.ox.ac.uk/~vgg/publications/papers/philbin07.pdf)、[this](https:// hal。 inria.fr/inria-00633013/file/jegou_aggregate.pdf)と[this](https://lear.inrialpes.fr/pubs/2010/JDSP10/jegou_compactimagerepresentation.pdf)の論文は、MAP @ではなくMAP @ N 'である。しかし、それは大丈夫です、私はあなたの指示に従います、もう一度ありがとう! – justHelloWorld

+0

[この質問]を見てください(http://stackoverflow.com/questions/41269059/what-is-the-correct-version-of-average-precision) – justHelloWorld