क्या सुविधा चयन केवल प्रशिक्षण डेटा (या सभी डेटा) पर किया जाना चाहिए?


10

क्या सुविधा चयन केवल प्रशिक्षण डेटा (या सभी डेटा) पर किया जाना चाहिए? मैं गुयोन (2003) और सिंघी और लियू (2006) जैसे कुछ चर्चाओं और पत्रों के माध्यम से चला गया , लेकिन अभी भी सही उत्तर के बारे में निश्चित नहीं है।

मेरा प्रयोग सेटअप इस प्रकार है:

  • डेटासेट: 50-स्वस्थ नियंत्रण और 50-रोग के रोगी (cca 200 विशेषताएं जो रोग की भविष्यवाणी के लिए प्रासंगिक हो सकती हैं)।
  • टास्क उपलब्ध सुविधाओं के आधार पर बीमारी का निदान करना है।

मैं जो करता हूं

  1. संपूर्ण डेटासेट लें और फ़ीचर चयन (FS) करें। मैं आगे की प्रक्रिया के लिए केवल चयनित सुविधाओं को रखता हूं
  2. ट्रेन डेटा और चयनित सुविधाओं का उपयोग करके ट्रेनर, ट्रेन क्लासिफायरियर का विभाजन करें। फिर, परीक्षण डेटा के लिए क्लासिफायर लागू करें (फिर से केवल चयनित सुविधाओं का उपयोग करके)। लीव-वन-आउट सत्यापन का उपयोग किया जाता है।
  3. वर्गीकरण सटीकता प्राप्त करें
  4. एवरेजिंग: दोहराएं 1) -3) एन बार। (100)।N=50

मैं इस बात से सहमत हूं कि संपूर्ण डेटासेट पर FS करने से कुछ पूर्वाग्रह हो सकते हैं, लेकिन मेरी राय है कि यह औसत (चरण) के दौरान "औसतन" है। क्या वो सही है? (सटीकता विचलन )<2%

1 गयोन, आई (2003) "एन इंट्रोडक्शन टू वरीएबल एंड फीचर सिलेक्शन", द जर्नल ऑफ़ मशीन लर्निंग रिसर्च, वॉल्यूम। 3, पीपी। 1157-1182
2 सिंघी, एसके और लियू, एच। (2006) "फ़ीचर सबसेट सिलेक्शन बायस फॉर क्लासिफ़िकेशन लर्निंग", मशीन लर्निंग पर 23 वें अंतर्राष्ट्रीय सम्मेलन की कार्यवाही आईसीपी'06 कार्यवाही, पीपी। 849-856।

जवाबों:


12

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

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

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

अधिक जानकारी के लिए, Ambroise और McLachlan , और इस प्रश्न का मेरा उत्तर देखें ।


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

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

वैसे, रिज नियमितीकरण और सुविधा चयन के बीच अंतर क्या है? मेरा मतलब है, दिन के अंत में, दोनों भविष्यवक्ताओं के दिए गए सेट से भविष्यवाणियों के "सबसे अच्छे उपसमूह" का संकेत देते हैं।
पेड्रो 29

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

4

यहाँ उत्तरों के लिए एक परिशिष्ट के रूप में, मुझे दो लिंक मिले हैं जो वास्तव में मुझे यह समझने में मदद करते हैं कि यह एक अच्छी प्रक्रिया क्यों नहीं है:

संपादित करें: अनुरोध के अनुसार, लिंक की सामग्री का एक संक्षिप्त विवरण:

मान लीजिए कि मैं एक क्लासिफायरियर का प्रशिक्षण ले रहा हूं, और मेरे पास 1000 नमूनों का एक डेटासेट है, जिसमें प्रत्येक में 1 मिलियन सुविधाएँ हैं। मैं उन सभी को संसाधित नहीं कर सकता, इसलिए मुझे कम सुविधाओं की आवश्यकता है (कहते हैं, मैं 300 सुविधाओं की गणना कर सकता हूं)। मेरे पास मेरे आउट-ऑफ-सैंपल, वास्तविक-विश्व सटीकता का सही अनुमान लगाने के लिए 100 नमूनों का एक आयोजित-आउट टेस्ट सेट है।

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

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

प्रोग्रामिक रूप से, आप निम्न कार्य करते हैं:

  • होल्ड-आउट सेट के रूप में अपने डेटासेट का एक हिस्सा अलग रखें।
  • अपने डेटासेट के शेष भाग को विभाजित करें (इसलिए T1 कहा जाता है) K- सिलवटों में।
  • I = 1 से K तक के लिए लूप में, निम्नलिखित कार्य करें:
    • अपने CV सेट के रूप में i'th फोल्ड का चयन करें, और आपके प्रशिक्षण सेट के रूप में शेष नमूने (इसलिए Ti कहा जाता है)।
    • जो भी इंजीनियरिंग और सुविधा चयन चाहते हैं, उन्हें करें: सुविधाओं को फ़िल्टर करें, उन्हें गठबंधन करें आदि।
    • अपने सीवी सेट (करंट फोल्ड, जिसे सीवीआई कहा जाता है) और अपने वर्तमान प्रशिक्षण सेट दोनों को उचित विशेषताओं के साथ एक में परिवर्तित करें।
    • प्रशिक्षण सेट तिवारी पर अपने मॉडल को प्रशिक्षित करें
    • वर्तमान तह, CVi से स्कोर प्राप्त करें। इस स्कोर को सभी स्कोर रखने वाली सूची में शामिल करें।
  • अब, आपकी सूची में प्रत्येक गुना का स्कोर है, इसलिए आप इसे के-फोल्ड्स स्कोर प्राप्त करते हुए औसत करते हैं।

यह वास्तव में महत्वपूर्ण है कि आप पूर्ण प्रशिक्षण सेट, टी 1 के बजाय उप-प्रशिक्षण सेट, तिवारी पर लूप के अंदर फीचर इंजीनियरिंग का प्रदर्शन करें।

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

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


1
क्या आप इन कड़ियों की सामग्री का एक संक्षिप्त सारांश शामिल कर सकते हैं? हम स्व-निहित उत्तर पसंद करते हैं, अन्यथा लिंक स्थान बदलने पर "लिंकरोट" के लिए बहुत कमजोर हो सकते हैं। वैकल्पिक रूप से, हम इसे आपके लिए एक टिप्पणी में बदल सकते हैं।
सिल्वरफिश

@ सिल्वरफ़िश डोन
अभिषेक दिवेकर

तो फॉर-लूप के अंदर, अलग-अलग गुना के लिए अलग-अलग चयनित विशेषताएं हो सकती हैं?
स्टैकडाउनफ्लो

2

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

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

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