रैंकिंग एल्गोरिदम का मूल्यांकन करने के लिए मेट्रिक्स


16

मैं एल्गोरिदम रैंकिंग के लिए कई अलग-अलग मीट्रिक देखने में दिलचस्पी रखता हूं - लर्निंग टू रैंक विकिपीडिया पेज पर कुछ सूचीबद्ध हैं, जिनमें शामिल हैं:

• औसत औसत परिशुद्धता (एमएपी);

• DCG और NDCG;

• परिशुद्धता @ एन, एनडीसीजी @ एन, जहां "@ एन" दर्शाता है कि मैट्रिक्स का मूल्यांकन केवल शीर्ष एन दस्तावेजों पर किया जाता है;

• माध्य पारस्परिक रैंक;

• केंडल के ताऊ

• स्पीयरमैन की रो

• प्रत्याशित पारस्परिक रैंक

• यांडेक्स का पफाउंड

लेकिन यह मेरे लिए स्पष्ट नहीं है कि प्रत्येक के फायदे / नुकसान क्या हैं या जब आप किसी दूसरे को चुन सकते हैं (या इसका क्या मतलब होगा अगर एक एल्गोरिथ्म NDGC पर बेहतर प्रदर्शन करता है, लेकिन एमएपी के साथ मूल्यांकन किए जाने पर खराब था)।

क्या इन सवालों के बारे में अधिक जानने के लिए मैं कहीं भी जा सकता हूं?

जवाबों:


29

मैं वास्तव में उसी उत्तर की तलाश में हूं, हालांकि मुझे कम से कम आंशिक रूप से आपके प्रश्न का उत्तर देने में सक्षम होना चाहिए।

आपके द्वारा उल्लिखित सभी मैट्रिक्स में अलग-अलग लक्षण हैं और, दुर्भाग्य से, जिसे आपको चुनना चाहिए वह इस बात पर निर्भर करता है कि आप वास्तव में क्या मापना चाहते हैं। यहाँ कुछ चीजें हैं जो ध्यान में रखना लायक होगा:

  • स्पीयरमैन की आरएच मीट्रिक सूची के शीर्ष पर त्रुटियों को दंडित करती है, जो वजन के बराबर होती है, जो नीचे की ओर बेमेल होती है, इसलिए अधिकांश मामलों में यह रैंकिंग का मूल्यांकन करने के लिए उपयोग करने के लिए मीट्रिक नहीं है।
  • डीसीजी और एनडीसीजी उन कुछ मैट्रिक्स में से एक हैं जो गैर-बाइनरी उपयोगिता फ़ंक्शन को ध्यान में रखते हैं, इसलिए आप यह वर्णन कर सकते हैं कि रिकॉर्ड कितना उपयोगी है और यह उपयोगी नहीं है या नहीं ।
  • DCG और NDCG ने पदों के लिए वजन का निर्धारण किया है, इसलिए किसी दिए गए स्थान पर एक दस्तावेज में हमेशा एक ही लाभ और छूट होती है जो इसके ऊपर दिए गए दस्तावेजों से स्वतंत्र रूप से होती है
  • आप आम तौर पर पसंद करेंगे NDCG से अधिक DCG , क्योंकि यह प्रासंगिक दस्तावेजों की संख्या से मूल्य को सामान्य
  • MAP को इस समस्या के लिए एक क्लासिक और 'गो-टू' मीट्रिक माना जाता है और यह क्षेत्र में एक मानक है।
  • (एन) डीसीजी को हमेशा रिकॉर्ड की एक निश्चित राशि (@k) के लिए गणना की जानी चाहिए, क्योंकि इसकी एक लंबी पूंछ होती है (रैंकिंग के अंत में बहुत सारे अप्रासंगिक रिकॉर्ड अत्यधिक पूर्वाग्रह मीट्रिक)। यह एमएपी पर लागू नहीं होता है ।
  • मीन रेकिप्रोकल रैंक केवल पहले प्रासंगिक दस्तावेज़ की स्थिति को चिह्नित करता है, इसलिए यदि आप सूची में उच्च होने के लिए यथासंभव प्रासंगिक डॉक्स की परवाह करते हैं, तो यह आपकी पसंद नहीं होना चाहिए
  • केंडल का ताऊ केवल बाइनरी यूटिलिटी फ़ंक्शन को संभालता है, इसे @k ( NDCG के समान ) भी गणना की जानी चाहिए

मूल्यवान संसाधन:

ताजा लिंक के कारण अधिक लिंक पोस्ट नहीं कर सकते हैं :) अगर किसी के पास कुछ और टिप्पणी या विचार हैं, तो मुझे उन्हें भी सुनकर खुशी होगी!


मुझे लगता है कि यदि आपके पास अधिक लिंक हैं तो इस उत्तर को अपडेट करने के लिए आपके पास पर्याप्त बिंदु हैं।
यश कुमार अत्रि

5

कई मामलों में जहां आप रैंकिंग एल्गोरिदम लागू करते हैं (जैसे Google खोज, अमेज़ॅन उत्पाद की सिफारिश) आपके पास सैकड़ों और हजारों परिणाम हैं। उपयोगकर्ता केवल ~ 20 या इसके शीर्ष पर देखना चाहता है। तो बाकी पूरी तरह अप्रासंगिक है।

यह स्पष्ट रूप से वाक्यांश के लिए: केवल शीर्ष तत्व प्रासंगिक हैंk

यदि यह आपके आवेदन के लिए सही है, तो इसका मीट्रिक पर सीधा प्रभाव पड़ता है:

  1. आपको केवल शीर्ष रैंक की वस्तुओं और जमीनी सच्चाई रैंकिंग के शीर्ष आइटम को देखने की आवश्यकता है ।kk
  2. उन संभावित वस्तुओं का क्रम प्रासंगिक हो सकता है या नहीं - लेकिन निश्चित रूप से अन्य सभी वस्तुओं का क्रम अप्रासंगिक है।2k

तीन प्रासंगिक मीट्रिक टॉप-के सटीकता, सटीक @ के और रिकॉल @ के हैं। आपके आवेदन पर निर्भर करता है। उन सभी के लिए, आपके द्वारा मूल्यांकन किए जाने वाले रैंकिंग-प्रश्नों के लिए, संबंधित मदों की कुल संख्या से ऊपर होनी चाहिए ।kk

रैंकिंग के लिए शीर्ष कश्मीर वर्गीकरण सटीकता

जमीनी सच्चाई के लिए, किसी आदेश को परिभाषित करना कठिन हो सकता है। और यदि आप केवल प्रासंगिक / प्रासंगिक नहीं हैं, तो आप वास्तव में एक वर्गीकरण मामले में हैं!

टॉप-एन सटीकता वर्गीकरण के लिए एक मीट्रिक है। देखें कि टॉप-एन सटीकता की परिभाषा क्या है?

top-k accuracy=how often was at least one relevant element within the top-k of a ranking query?ranking queries

तो आप रैंकिंग एल्गोरिदम को तत्वों का अनुमान लगाने दें और देखें कि इसमें कम से कम एक प्रासंगिक आइटम है या नहीं।k

मुझे यह बहुत पसंद है क्योंकि इसकी व्याख्या करना इतना आसान है। एक व्यावसायिक आवश्यकता से आता है (शायद ), तो आप कह सकते हैं कि उपयोगकर्ता कितनी बार खुश होंगे।kk[5,20]

इसका नकारात्मक पक्ष: यदि आप अभी भी आइटम के भीतर ऑर्डर के बारे में परवाह करते हैं , तो आपको एक और मीट्रिक ढूंढनी होगी।k

प्रेसिजन @ कश्मीर

Precision@k=number of relevant items within the top-kk[0,1], higher is better

यह आपको क्या बताता है:

  • यदि यह उच्च है -> जो आप उपयोगकर्ता को दिखाते हैं उनमें से अधिकांश उनके लिए प्रासंगिक है
  • अगर यह कम है -> आप अपने उपयोगकर्ताओं का समय बर्बाद करते हैं। जो आप उन्हें दिखाते हैं, उनमें से अधिकांश उनके लिए प्रासंगिक नहीं है

याद @ कश्मीर

Recall@k=number of relevant items within the top-ktotal number of relevant items[0,1], higher is better

इसका क्या मतलब है:

  • यदि यह उच्च है: आप दिखाते हैं कि आपके पास क्या है! आप उन्हें सभी संबंधित वस्तुएं दें।
  • यदि यह कम है: प्रासंगिक वस्तुओं की कुल राशि की तुलना में, k छोटा है / शीर्ष k के भीतर संबंधित आइटम छोटा है। इसके कारण, अकेले @ k को याद रखना इतना सार्थक नहीं हो सकता है। यदि इसे उच्च परिशुद्धता @ k के साथ जोड़ा जाता है, तो बढ़ते k का अर्थ हो सकता है।

3

मुझे हाल ही में मल्टीलेबल रैंकिंग एल्गोरिदम का मूल्यांकन करने के लिए एक मीट्रिक चुनना था और इस विषय पर मिला, जो वास्तव में मददगार था। यहाँ stpk के उत्तर के लिए कुछ जोड़ दिए गए हैं, जो चुनाव करने में सहायक थे।

  • MAP को मल्टीलेबेल समस्याओं के लिए अनुकूलित किया जा सकता है, एक सन्निकटन की कीमत पर
  • MAP को k पर परिकलित करने की आवश्यकता नहीं है, लेकिन जब नकारात्मक वर्ग पहले से मौजूद हो तो मल्टीलेबल संस्करण को अनुकूलित नहीं किया जा सकता है
  • एमएपी और (एन) डीसीजी दोनों को पुन: लिखा जा सकता है क्योंकि रैंक की गई प्रासंगिकता मूल्यों के औसत औसत के बराबर है

विवरण

हमें औसत परिशुद्धता (एपी) पर ध्यान केंद्रित करें क्योंकि औसत सटीकता (एमएपी) कई प्रश्नों पर एपी का औसत है। एपी को ठीक से बाइनरी डेटा पर परिभाषित किया गया है क्योंकि परिशुद्धता-रिकॉल कर्व के तहत क्षेत्र है, जिसे किसी भी सकारात्मक आइटम पर पूर्ववर्ती के औसत के रूप में फिर से लिखा जा सकता है। ( एमएपी पर विकिपीडिया लेख देखें ) एक संभावित सन्निकटन यह परिभाषित करने के लिए है कि प्रत्येक पर यह प्राथमिकताओं के औसत के रूप में हैआइटम। अफसोस की बात है कि हम अच्छी संपत्ति खो देते हैं कि सूची के अंत में रैंक किए गए नकारात्मक उदाहरणों का एपी के मूल्य पर कोई प्रभाव नहीं पड़ता है। (यह विशेष रूप से दुख की बात है जब यह सकारात्मक उदाहरणों की तुलना में कहीं अधिक नकारात्मक उदाहरणों के साथ एक खोज इंजन का मूल्यांकन करने के लिए आता है। अन्य डाउनसाइड्स की कीमत पर नकारात्मक उदाहरणों को कम करने के लिए एक संभावित समाधान है, जैसे अधिक सकारात्मक वस्तुओं के साथ प्रश्न समान रूप से बन जाएंगे। कुछ सकारात्मक उदाहरणों के साथ प्रश्नों के लिए कठिन।)

दूसरी ओर, इस सन्निकटन में अच्छी संपत्ति है कि यह मल्टीलेबेल के मामले में अच्छी तरह से सामान्य है। वास्तव में, द्विआधारी मामले में, स्थिति k पर परिशुद्धता को स्थिति k से पहले औसत प्रासंगिकता के रूप में भी समझा जा सकता है, जहां एक सकारात्मक उदाहरण की प्रासंगिकता 1 है, और एक नकारात्मक उदाहरण की प्रासंगिकता 0. है। यह परिभाषा काफी स्वाभाविक रूप से फैली हुई है मामला जहां प्रासंगिकता के दो से अधिक विभिन्न स्तर हैं। इस स्थिति में, एपी को प्रत्येक स्थिति में प्रासंगिकताओं के औसत के साधन के रूप में भी परिभाषित किया जा सकता है।

यह अभिव्यक्ति उनके जवाब में stpk द्वारा उद्धृत वीडियो के स्पीकर द्वारा चुनी गई एक है । वह इस वीडियो में दिखाता है कि एपी को प्रासंगिकता के भारित माध्य के रूप में फिर से लिखा जा सकता है, रैंकिंग में -th तत्व का वजनk

wkAP=1Klog(Kk)

जहां रैंक करने के लिए मदों की संख्या है। अब हमारे पास यह अभिव्यक्ति है, हम इसकी तुलना डीसीजी से कर सकते हैं। वास्तव में, DCG भी रैंक की गई प्रासंगिकता का एक भारित औसत है, वजन:K

wkDCG=1log(k+1)

इन दो अभिव्यक्तियों से, हम यह अनुमान लगा सकते हैं कि - एपी 1 से 0. तक दस्तावेजों का वजन करता है - डीसीजी दस्तावेजों की कुल संख्या से स्वतंत्र रूप से दस्तावेजों का वजन करता है।

दोनों मामलों में, यदि प्रासंगिक उदाहरणों की तुलना में बहुत अधिक अप्रासंगिक उदाहरण हैं, तो सकारात्मक का कुल वजन नगण्य हो सकता है। एपी के लिए, नकारात्मक नमूनों को कम करने के लिए वर्कअराउंड किया जाता है, लेकिन मुझे यह सुनिश्चित नहीं है कि सब्सक्रिप्शन के अनुपात का चयन कैसे किया जाए, साथ ही इसे क्वेरी पर या सकारात्मक दस्तावेजों की संख्या पर निर्भर करना है या नहीं। DCG के लिए, हम इसे k पर काट सकते हैं, लेकिन एक ही तरह के सवाल उठते हैं।

मुझे इस बारे में और अधिक सुनने में खुशी होगी, अगर यहां किसी ने इस विषय पर काम किया हो।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.