रैंकिंग के लिए मशीन लर्निंग एल्गोरिदम


10

मुझे तत्वों का एक सेट मिला है एक्स जिसके अनुसार मैं वर्णन कर सकता हूं nविशेषताएँ। इस प्रकार:

एक्समैं:{सीमैं1,सीमैं2,...,सीमैंn}|एक्समैंएक्स

जहां तत्व के लिए (संख्यात्मक) मूल्यांकन है विशेषताओं के अनुसार । इसलिए मेरे तत्वों को आयाम स्थान में बिंदुओं के रूप में देखा जा सकता है।सीमैंजेमैंजेn

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

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

ऐसा करने के लिए मैं दो दृष्टिकोण देखता हूं:

  1. प्रत्येक तत्व को विधायक द्वारा एक अंक दिया जाएगा, फिर स्कोर के अनुसार तत्वों को रैंक किया जाएगा।
  2. विधायक दो तत्वों और लेने में सक्षम होगा और यह निर्धारित करेगा कि एक बेहतर (जोड़ीदार तुलना) है। उस तुलना ऑपरेशन का उपयोग करके क्विकॉर्ट का उपयोग करें।एक्समैंएक्सजे

नोट: एक स्कोर के आधार पर युग्मक फ़ंक्शन को कार्यान्वित करने के लिए तुच्छ है, और एक जोड़ी के आधार पर फ़ंक्शन के आधार पर, यह स्कोर उत्पन्न करने के लिए तुच्छ है, इसलिए ये समान परिणामों के लिए केवल दो अनुमोदन हैं।

वहाँ एमएलए के उदाहरण है कि एक स्कोरिंग समारोह, या एक जोड़ी की तुलना समारोह प्रदान कर सकते हैं?

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

इसलिए वर्तमान में मेरी डिजाइन प्रक्रिया है:

  1. एक सही रैंकिंग क्या होगी, इसका अंदाजा लगाइए
  2. (मैन्युअल रूप से) एक एल्गोरिथ्म प्राप्त करने का प्रयास करें जो उस तरह की वस्तुओं को रैंक करेगा
  3. परिणामों का निरीक्षण करें
  4. एल्गोरिथ्म को अनुकूलित करें

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

जवाबों:


3

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


2

ऐसा लगता है कि आप प्रतिगमन विश्लेषण का उपयोग कर सकते हैं । इसके अलावा, शायद आपको अपने प्रशिक्षण सेट में तत्वों को स्कोर (वास्तविक संख्या) निर्दिष्ट करने की आवश्यकता है, यदि आपके पास उनके पास नहीं है। हालाँकि आप रैंक को अपने लक्ष्य मान के रूप में उपयोग कर सकते हैं, लेकिन यह आपको एक खराब मॉडल बना देगा यदि आपके पास प्रशिक्षण नमूनों का एक छोटा सा सेट है।


0

मुझे लगता है कि आप मशीन लर्निंग एल्गोरिदम से बहुत अधिक उम्मीद कर रहे हैं। एक कंप्यूटर यह तय नहीं कर सकता है कि आइटम 1 अपने आप में आइटम 2 से बेहतर है या नहीं। मशीन लर्निंग एल्गोरिदम क्या कर सकता है यदि आप इसे कुछ उदाहरण देते हैं जहां आपने आइटम 2 से बेहतर होने के लिए कुछ आइटम 1 का मूल्यांकन किया है, तो यह आइटम को रैंक करना सीख सकता है [1]। लेकिन आपको अभी भी एक प्रशिक्षण डेटा की आवश्यकता है जहां आप आइटम के उदाहरण प्रदान करते हैं और इस बात की जानकारी के साथ कि प्रशिक्षण डेटा में सभी आइटमों के लिए आइटम 1 आइटम 2 से अधिक है या नहीं।

[१] http://www.cs.cornell.edu/people/tj/svm_light/svm_rank.html


लिंक के लिए आपका बहुत - बहुत धन्यवाद। और मैं पूरी तरह से समझता हूं कि मुझे एल्गोरिथ्म को एक प्रशिक्षण सेट प्रदान करने की आवश्यकता होगी ताकि यह बाद की वस्तुओं को रैंक करने में सक्षम हो।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.