परतों में का इष्टतम संख्या पार सत्यापन गुना: हमेशा सबसे अच्छा विकल्प है छुट्टी-एक-बाहर सीवी?


47

कम्प्यूटिंग पावर विचारों को एक तरफ करने के लिए, क्या यह मानने के कोई कारण हैं कि क्रॉस-वैलिडेशन में सिलवटों की संख्या बढ़ने से बेहतर मॉडल चयन / सत्यापन होता है (यानी कि सिलवटों की संख्या जितनी अधिक होगी)?

चरम पर तर्क लेते हुए छुट्टी-एक-बाहर पार सत्यापन जरूरी बेहतर मॉडल की तुलना में करने के लिए नेतृत्व करता है गुना पार सत्यापन?K

इस सवाल पर कुछ पृष्ठभूमि: मैं बहुत कम उदाहरणों (जैसे 10 सकारात्मक और 10 नकारात्मक) के साथ एक समस्या पर काम कर रहा हूं, और मुझे डर है कि मेरे मॉडल अच्छी तरह से सामान्य नहीं हो सकते हैं / इतने कम डेटा के साथ ओवरफिट होंगे।



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

जवाबों:


46

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

यदि कम्प्यूटेशनल व्यय मुख्य रूप से एक मुद्दा नहीं है, तो एक बेहतर तरीका है दोहराया के-गुना क्रॉस-सत्यापन करना, जहां के-गुना क्रॉस-सत्यापन प्रक्रिया को अलग-अलग यादृच्छिक विभाजन के साथ हर बार कश्मीर डिस्क सब्सट्रेट में दोहराया जाता है। यह विचरण को कम करता है।

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

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


8
+1। मुझे आपका "अनुकूलन आँकड़ों में सभी बुराई की जड़ है" संदेश पसंद है ...
एस। कोलासा - मोनिका

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

यह अपने आप में एक बहुत अच्छा सवाल है, इसलिए मेरा सुझाव है कि आप इसे एक नया प्रश्न पूछें, और मुझे इस बारे में सोचना होगा कि इसका उत्तर कैसे दिया जाए!
डिक्रान मार्सुपियल

धन्यवाद @DikranMarsupial मैंने आपकी सलाह का पालन किया और यहां एक अलग प्रश्न शुरू किया ।
एमेलियो वाज़क्वेज़-रीना

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

8

लर्निंग कर्व को देखते हुए नंबर K फोल्ड को चुनना

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

के प्रभाव पर विचार विमर्श के लिए पर विचरण देखने के लिए यहाँK

संक्षेप में, यदि सीखने की अवस्था में दिए गए प्रशिक्षण सेट के आकार में काफी ढलान है, तो पांच या दस गुना क्रॉस-सत्यापन सत्य भविष्यवाणी त्रुटि को पछाड़ देगा। क्या यह पूर्वाग्रह व्यवहार में कमी है, उद्देश्य पर निर्भर करता है। दूसरी तरफ, क्रॉस-वन-आउट क्रॉस-वैलिडेशन में कम पूर्वाग्रह है लेकिन उच्च विचरण हो सकता है।

एक खिलौना उदाहरण का उपयोग कर एक सहज ज्ञान युक्त दृश्य

इस तर्क को नेत्रहीन समझने के लिए, निम्नलिखित खिलौना उदाहरण पर विचार करें जहां हम एक शोर साइन वक्र के लिए 4 डिग्री बहुपद फिटिंग कर रहे हैं:

यहाँ छवि विवरण दर्ज करें

सहज और नेत्रहीन, हम उम्मीद करते हैं कि यह मॉडल ओवरफिटिंग के कारण छोटे डेटासेट के लिए खराब तरीके से किराया करेगा। यह व्यवहार लर्निंग कर्व में परिलक्षित होता है, जहाँ हम औसत स्क्वायर एरर बनाम ट्रेनिंग साइज़ के साथ-साथ 1 मानक विचलन के साथ प्लॉट करते हैं । ध्यान दें कि मैंने ESL पृष्ठ 243 में उपयोग किए गए चित्रण को पुन: पेश करने के लिए 1 - MSE को प्लॉट करने के लिए चुना1±

यहाँ छवि विवरण दर्ज करें

बहस पर चर्चा

मॉडल का प्रदर्शन काफी सुधार होता है क्योंकि प्रशिक्षण का आकार 50 टिप्पणियों तक बढ़ जाता है। उदाहरण के लिए संख्या को और 200 तक बढ़ाने से केवल छोटे लाभ होते हैं। निम्नलिखित दो मामलों पर विचार करें:

  1. यदि हमारे प्रशिक्षण सेट में 200 अवलोकन होते हैं, तो गुना क्रॉस वैरिफिकेशन 160 के प्रशिक्षण आकार पर प्रदर्शन का अनुमान लगाएगा जो कि वास्तव में प्रशिक्षण सेट आकार 200 के लिए प्रदर्शन के समान है। इस प्रकार क्रॉस-सत्यापन बहुत पूर्वाग्रह से ग्रस्त नहीं होगा और को । बड़ा मूल्य बहुत लाभ नहीं लाएगा ( बाएं हाथ की साजिश )5K

  2. हालाँकि यदि प्रशिक्षण सेट में अवलोकन होते हैं, तो गुना क्रॉस-सत्यापन 40 के आकार के प्रशिक्षण सेटों पर मॉडल के प्रदर्शन का अनुमान लगाता है, और सीखने की अवस्था से यह एक पक्षपाती परिणाम की ओर ले जाएगा। इसलिए इस मामले में बढ़ने से पूर्वाग्रह कम होगा। ( राइट हैंड प्लॉट )।505K

यहाँ छवि विवरण दर्ज करें

[अद्यतन] - कार्यप्रणाली पर टिप्पणियाँ

आप यहां इस सिमुलेशन के लिए कोड पा सकते हैं । दृष्टिकोण निम्नलिखित था:

  1. वितरण से 50,000 अंक उत्पन्न जहां का सच विचरण में जाना जाता हैsin(x)+ϵϵ
  2. Iterate times (उदाहरण 100 या 200 बार)। प्रत्येक पुनरावृत्ति पर, मूल वितरण से बिंदुओं को फिर से खोलकर डेटासेट बदलेंiN
  3. प्रत्येक डेटा सेट के लिए : i
    • K के एक मान के लिए गुना क्रॉस सत्यापन करेंK
    • K- सिलवटों में औसत मीन स्क्वायर एरर (MSE) स्टोर करें
  4. एक बार जब पूरा हो जाता है, तो के समान मान के लिए डेटासेट पर MSE के औसत और मानक विचलन की गणना करेंiiK
  5. सभी लिए उपरोक्त चरणों को सीमा दोहराएँ, LOOCV के लिए सभी तरह सेK{5,...,N}

एक वैकल्पिक तरीका यह है कि प्रत्येक पुनरावृत्ति पर सेट किए गए नए डेटा को फिर से जमा न करें और इसके बजाय हर बार समान डेटासेट में फेरबदल करें। यह समान परिणाम देता है।



@ आप कोड के लिए धन्यवाद! मैंने कोड चलाया है, लेकिन मुझे समझ नहीं आ रहा है कि आप अपने कोड में वास्तविक ( ) को कैसे जानते हैं । मुझे भी लगता है कि आपका कोड अधिक कॉम्पैक्ट होगा यदि आप बूटस्ट्रैप नमूने के लिए दो कार्यों को परिभाषित करते हैं (शफ़ल = गलत), केफॉल्ड के लिए एक (शफ़ल = ट्रू) :)1MSE1112
meTchaikovsky

@me_Tchaikovsky स्मरण करो कि भविष्यवक्ता के को रूप में विघटित किया जा सकता है और कोई पूर्वाग्रह नहीं माना जाता है कि जब मॉडल वास्तविक अंतर्निहित फ़ंक्शन से मेल खाता है तो हम त्रुटि शब्द । वर्दी आर.वी. की भिन्नता तो इस मामले मेंMSE=Var+Bias2ϵU(.5,.5)1/12(ba)21/12
जेवियर बॉरेट सिसिली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.