बाइनरी वर्गीकरण के लिए परिवर्तनीय चयन प्रक्रिया


29

वे चर / सुविधा चयन क्या हैं जो आप बाइनरी वर्गीकरण के लिए पसंद करते हैं जब सीखने के सेट में टिप्पणियों की तुलना में कई अधिक चर / फ़ीचर होते हैं? यहाँ उद्देश्य यह है कि सबसे अच्छा वर्गीकरण त्रुटि को कम करने वाली सुविधा चयन प्रक्रिया क्या है।

हम कर सकते हैं अंकन को ठीक स्थिरता के लिए: के लिए , चलो टिप्पणियों के सीखने सेट हो समूह से । तो लर्निंग सेट का आकार है। हमने को सुविधाओं की संख्या (यानी फीचर स्पेस का आयाम) निर्धारित किया है। चलो निरूपित का समन्वय वें ।i{0,1}{x1i,,xnii}in0+n1=npx[i]ixRp

यदि आप विवरण नहीं दे सकते हैं तो कृपया पूर्ण संदर्भ दें।

EDIT (निरंतर अद्यतन): प्रक्रियाएं नीचे दिए गए उत्तरों में प्रस्तावित हैं

चूंकि यह सामुदायिक विकि है, इसलिए अधिक चर्चा और अद्यतन हो सकता है

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


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

पूल ... कई का मतलब है 1000 सुविधाएँ या अधिक और 100 से कम अवलोकन।
रॉबिन जिरार्ड 11

जवाबों:


18

एक बहुत लोकप्रिय दृष्टिकोण लॉजिस्टिक रिग्रेशन को दंडित करता है, जिसमें एक लॉग-लाइबिलिटी के योग को अधिकतम करता है और एल 1-मानदंड ("लास्सो"), एल 2-मान ("रिज"), दो के संयोजन से युक्त एक दंड शब्द। ("लोचदार"), या चर के समूहों से जुड़ा एक दंड ("समूह लास्सो")। इस दृष्टिकोण के कई फायदे हैं:

  1. इसके पास मजबूत सैद्धांतिक गुण हैं, उदाहरण के लिए, कैंडिस एंड प्लान द्वारा इस पेपर को देखें और संपीड़ित संवेदन को बंद करें;
  2. फ्रीडमैन-हस्ति-तिब्शीरानी (ऑनलाइन उपलब्ध) द्वारा सांख्यिकीय सीखने के तत्वों में, इसके सुलभ विकल्प हैं ;
  3. इसमें फिट मॉडल के लिए आसानी से उपलब्ध सॉफ्टवेयर है। R के पास glmnet पैकेज है जो बहुत तेज़ है और बहुत बड़े डेटासेट के साथ अच्छा काम करता है। पायथन में स्किकिट-लर्न है , जिसमें L1- और L2- दंडित लॉजिस्टिक रिग्रेशन शामिल है;
  4. यह व्यवहार में बहुत अच्छी तरह से काम करता है, जैसा कि छवि मान्यता, सिग्नल प्रोसेसिंग, बायोमेट्रिक्स और वित्त में कई आवेदन पत्रों में दिखाया गया है।

10

लियो ब्रेमन और एडेल कटलर द्वारा रैंडम फॉरेस्ट के लिए कई कारणों से मेरी थोड़ी सी प्राथमिकता है:

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

कुछ लेखकों ने तर्क दिया कि इसने एसवीएम या ग्रेडिएंट बूस्टिंग मशीन (देखें, उदाहरण के लिए कटलर एट अल।, 2009, बाद वाले बिंदु के लिए) को दंडित किया।

इसके अनुप्रयोगों या लाभों का एक पूर्ण कवरेज विषय से हट सकता है, इसलिए मैं Hastie et al से सांख्यिकीय लर्निंग के तत्वों का सुझाव देता हूं । (चैप 15) और साय्स एट अल। (2007) आगे के पठन के लिए।

पिछले नहीं बल्कि कम से कम, यह यादृच्छिक कार्यान्वयन के साथ आर में एक अच्छा कार्यान्वयन है । अन्य आर पैकेज भी इसका विस्तार करते हैं या इसका उपयोग करते हैं, जैसे पार्टी और कैरेट

संदर्भ:

कटलर, ए।, कटलर, डीआर, और स्टीवंस, जेआर (2009)। ट्री-बेस्ड मेथड्स, इन हाई-डायमेंशनल डेटा एनालिसिस इन कैंसर रिसर्च , ली, एक्स। एंड जू, आर। (एड।), पीपी। 83-101, स्प्रिंगर।

सैयस, वाई।, इंज़ा, आई।, और लारनागा, पी। (2007)। जैव सूचना विज्ञान में सुविधा चयन तकनीकों की समीक्षा। जैव सूचना विज्ञान , 23 (19) : 2507-2517।


7

महानगर स्कैनिंग / MCMC

  • एक शुरुआत के लिए यादृच्छिक रूप से कुछ सुविधाओं का चयन करें, केवल उन पर क्लासिफायर ट्रेन करें और त्रुटि प्राप्त करें।
  • इस वर्किंग सेट में कुछ यादृच्छिक बदलाव करें - या तो एक फीचर को हटा दें, दूसरे को यादृच्छिक रूप से जोड़ें या वर्तमान में उपयोग नहीं होने वाले कुछ फीचर को बदलें।
  • नए क्लासिफायर ट्रेन करें और इसकी त्रुटि प्राप्त करें; dEअंतर में स्टोर करें नए सेट पर त्रुटि माइनस पिछले सेट पर त्रुटि।
  • संभाव्यता के साथ min(1;exp(-beta*dE))इस परिवर्तन को स्वीकार करें, अन्यथा इसे अस्वीकार कर दें और दूसरे यादृच्छिक परिवर्तन का प्रयास करें।
  • इसे लंबे समय तक दोहराएं और अंत में काम कर रहे सेट को लौटाएं जिसने विश्व स्तर पर सबसे छोटी त्रुटि हासिल की है।

आप इसे betaपैरामीटर के कुछ समझदार नियंत्रण के साथ बढ़ा सकते हैं । सरल तरीका यह है कि जब आप betaउतार-चढ़ाव को कम करें और एल्गोरिथ्म को न्यूनतम की ओर बढ़ाएं, तो समय के साथ जब आप बढ़ते हैं (भौतिक सादृश्य में तापमान कम होता है) तो नकली एनालिंग का उपयोग करें । हार्डर प्रतिकृति विनिमय का उपयोग करना है ।


5

यदि आप केवल सामान्यीकरण प्रदर्शन में रुचि रखते हैं, तो आप शायद किसी भी सुविधा का चयन नहीं कर रहे हैं और इसके बजाय नियमितीकरण का उपयोग कर रहे हैं (जैसे रिज रिग्रेशन)। फ़ीचर चयन पर मशीन सीखने वाले समुदाय में कई खुली चुनौतियाँ रही हैं, और वे विधियाँ जो सुविधा चयन के बजाय नियमितीकरण पर निर्भर करती हैं, आमतौर पर कम से कम उतना ही अच्छा प्रदर्शन करती हैं, अगर बेहतर नहीं है।


3

लालची आगे चयन।

इस विधि के चरण हैं:

  • सुनिश्चित करें कि आपके पास एक ट्रेन और सत्यापन सेट है
  • निम्नलिखित को दोहराएं
    • प्रत्येक एकल सुविधा के साथ एक क्लासिफायर ट्रेन करें जो अभी तक चयनित नहीं है और पहले से चयनित सभी सुविधाओं के साथ है
    • यदि परिणाम में सुधार होता है, तो सबसे अच्छा प्रदर्शन करने की सुविधा जोड़ें, अन्यथा प्रक्रिया रोकें

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

@ थायलाकोलो यह एक बहुत ही कच्चा मूल और लालची तरीका है। अक्सर आप अपनी मान्यता को एक ही ओवर के सेट पर रखते हैं, लेकिन आपको जो पसंद है वह ठीक है।
पीटर स्मिट

2

पिछड़ा उन्मूलन।

पूर्ण सेट के साथ शुरू करें, फिर शेष सुविधाओं पर क्लासिफायरियर को पुन: व्यवस्थित करें और फीचर को सबसे छोटे महत्व के साथ हटा दें, तब रुकें जब क्लासिफायर त्रुटि तेजी से बढ़ जाती है / अस्वीकार्य उच्च हो जाती है।

महत्व प्रत्येक सुविधा को हटाकर भी प्राप्त किया जा सकता है और यदि यह इसे उत्पन्न करता है (जैसे रैंडम फ़ॉरेस्ट के मामले में), तो क्लासिफ़ायर से त्रुटि वृद्धि या अनुकूलित की जाँच करें।


2
लेकिन सवाल यह है कि टिप्पणियों की तुलना में अधिक चर हैं। इसलिए पूर्ण सेट के साथ शुरू करना संभव नहीं है।
रोब हंडमैन

समस्या क्या है?

2
आप एक मॉडल को फिट नहीं कर सकते हैं जिसमें टिप्पणियों की तुलना में अधिक चर हैं। पैरामीटर आकलन के लिए स्वतंत्रता की पर्याप्त डिग्री नहीं हैं।
रोब हंडमैन

1
फिशर की एफ गणना में, आप टिप्पणियों की संख्या, वर्गों की संख्या (2 यहां) और चर की संख्या के (n - k - p) / (k - 1) * ...साथ एफ की गणना करते हैं । जब (इस स्थिति यहाँ है), जो करने के लिए सुराग । यह एक समस्या नहीं होगी? nkpn - 2 - p < 0n < p + 2F < 0
मथिउ

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