फ़ीचर चयन और वर्गीकरण सटीकता संबंध


10

अपने क्लासिफायर के लिए अपनी उपलब्ध सुविधाओं के सबसेट का चयन करने के लिए एक कार्यप्रणाली है, उन्हें एक कसौटी (जैसे जानकारी हासिल) के अनुसार रैंक करना और फिर अपने क्लासिफायर का उपयोग करके सटीकता की गणना करना और रैंक की गई सुविधाओं का सबसेट।

उदाहरण के लिए, यदि आपकी विशेषताएं हैं A, B, C, D, E, और यदि उन्हें अनुसरण के रूप में रैंक किया जाता है D,B,C,E,A, तो आप सटीकता का उपयोग करके गणना करते हैं D, D, Bतब D, B, C, तब D, B, C, E... तब तक जब तक आपकी सटीकता कम नहीं होती। एक बार जब यह कम होने लगता है, तो आप सुविधाओं को जोड़ना बंद कर देते हैं।

उदाहरण 1

उदाहरण 1 (ऊपर) में, आप विशेषताओं F, C, D, Aको चुनेंगे और अन्य विशेषताओं को छोड़ देंगे क्योंकि वे आपकी सटीकता को कम करते हैं।

यह पद्धति यह मानती है कि आपके मॉडल में अधिक सुविधाएँ जोड़ने से आपके क्लासिफ़ायर की सटीकता बढ़ जाती है जब तक कि एक निश्चित बिंदु के बाद अतिरिक्त सुविधाएँ जोड़ने से सटीकता में कमी नहीं होती (जैसा कि उदाहरण 1 में देखा गया है)

हालांकि, मेरी स्थिति अलग है। मैंने ऊपर वर्णित कार्यप्रणाली को लागू किया है और मैंने पाया कि अधिक सुविधाओं को जोड़ने से सटीकता में कमी आई जब तक कि एक बिंदु नहीं बढ़ता।

example2

इस तरह के एक परिदृश्य में, आप अपनी सुविधाओं को कैसे लेते हैं? क्या आप केवल Fबाकी को उठाते और गिराते हैं? क्या आपके पास कोई विचार है कि सटीकता क्यों घटेगी और फिर बढ़ेगी?

जवाबों:


4

सुविधा चयन में मशीन सीखने के तरीकों की तरह कई दृष्टिकोण शामिल हैं। आइडिया सबसे सटीक रखने के लिए है लेकिन भविष्य कहनेवाला मॉडल के लिए अनावश्यक विशेषता नहीं है जो इष्टतम सटीकता प्राप्त कर सकता है।

आपके मामले में, मैं यह नहीं देख सकता कि आप फ़ीचर चयन के लिए किस पद्धति का उपयोग कर रहे हैं, लेकिन यह मानते हुए कि आप फ़ीचर निर्भरता की बहुभिन्नरूपी प्रकृति का ध्यान नहीं रख रहे हैं। मान लें कि आपके पास N सुविधाएँ हैं, इस कारण से कि आपका मॉडल सटीकता n शीर्ष सुविधा (ओं) के बाद गिरता है, लेकिन n + k (जहाँ n <k <N तब जुड़ता है जब सुविधाएँ सूचना लाभ के आधार पर अवरोही क्रम में होती हैं) में अंतर के कारण होता है शीर्ष n और k सुविधाओं की निर्भरता (अधिक प्रासंगिकता और कम अतिरेक)। जब अंतर-निर्भर और पारस्परिक रूप से अनन्य नहीं होते हैं, तो यूनिविकेट सुविधा का चयन आवश्यक रूप से इष्टतम मॉडल सटीकता प्राप्त नहीं करता है। दार्शनिक दृष्टिकोण से, इष्टतम विशेषताओं का सेट अरस्तू के एक उद्धरण के अनुरूप है: "संपूर्ण इसके भागों के योग से अधिक है"!

इष्टतम सुविधा चयन के लिए, मैं अक्सर Rभाषा में कैरट पैकेज होता हूं, जहां कई अन्य दृष्टिकोणों के बीच पुनरावर्ती सुविधा उन्मूलन (RFE) का उपयोग करके सुविधा का चयन किया जा सकता है । अधिकतम प्रासंगिकता, न्यूनतम अतिरेक के आधार पर सुविधा चयन करने के लिए mRMRe नामक एक पैकेज भी है ।

श्रेष्ठ,
समीर


मैं मोबाइल से उत्तर का मसौदा तैयार कर रहा था और यह महसूस नहीं किया कि पिछले दो उत्तर काफी समान हैं! उन पर टिप्पणी न करने और बदले में अलग से जवाब देने में मेरी गलती है।
समीर

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

1

विशिष्ट प्रश्न के बारे में

सुविधाओं के सबसेट का चयन करते समय आपको एक विशिष्ट व्यवहार (वृद्धि और फिर सटीकता में कमी) की उम्मीद नहीं करनी चाहिए, क्योंकि यह पूरी तरह से समस्या पर निर्भर करेगा (और प्रत्येक मॉडल)

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

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

पुनरावर्ती सुविधा उन्मूलन पर विचार करें

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

विचरण भी एक महत्वपूर्ण कारक है

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


1

आपको अपने डेटा सेट से अनावश्यक और अप्रासंगिक दोनों विशेषताओं को हटाने की आवश्यकता है। यह देखा जा सकता है कि आपके डेटा सेट में अप्रासंगिक और निरर्थक विशेषताएं हैं।

मैं आपको न्यूनतम अतिरेक अधिकतम प्रासंगिकता सुविधा चयन (MRMR) एल्गोरिदम को देखने की सलाह देता हूं। यह आपके ट्रेन मॉडल से पहले एक बहुत ही लोकप्रिय और शक्तिशाली फ़िल्टर है।

"हालांकि, मेरी स्थिति अलग है। मैंने ऊपर वर्णित कार्यप्रणाली को लागू किया है और मैंने पाया कि अधिक सुविधाओं को जोड़ने से एक बिंदु तक सटीकता कम हो गई जिसके बाद यह बढ़ जाती है"

यह संभव भी है, लेकिन यह अधिक जटिल मॉडल को जन्म देगा।


1

आम तौर पर सुविधा चयन एल्गोरिदम की तीन कक्षाएं होती हैं।

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

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

  • एंबेडेड विधियाँ जो मॉडल को मॉडल की फिटनेस में सर्वश्रेष्ठ योगदान देने वाली सुविधाओं को चुनने की अनुमति देती हैं। विशिष्ट हैं LASSO, रिज प्रतिगमन।

यहाँ सुविधा चयन के लिए परिचय के विवरण में एक महान लेख है ।


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