"बूटस्ट्रैप वेलिडेशन" के लिए प्रक्रिया क्या है (उर्फ "रेज़म्पलिंग क्रॉस-वेलिडेशन")?


15

"बूटस्ट्रैप वेलिडेशन" / "रीसम्प्लिंग क्रॉस-वेलिडेशन" मेरे लिए नया है, लेकिन इस प्रश्न के उत्तर से चर्चा की गई थी । मैं इसे इकट्ठा करता हूं इसमें 2 प्रकार के डेटा शामिल हैं: वास्तविक डेटा और सिम्युलेटेड डेटा, जहां सिम्युलेटेड डेटा का एक सेट वास्तविक डेटा से उत्पन्न होता है, जब तक कि नकली डेटा का वास्तविक डेटा के समान आकार नहीं होता है। मैं ऐसे डेटा प्रकारों का उपयोग करने के लिए दो दृष्टिकोणों के बारे में सोच सकता हूं: (1) मॉडल को एक बार फिट करें, कई नकली डेटा सेटों पर कई बार इसका मूल्यांकन करें; (2) कई नकली डेटा सेटों में से प्रत्येक का उपयोग करते हुए मॉडल को कई बार फिट करते हैं, हर बार वास्तविक डेटा के खिलाफ इसका मूल्यांकन करते हैं। कौन सा (यदि या तो) सबसे अच्छा है?

जवाबों:


20

संक्षिप्त उत्तर: दोनों सत्यापन तकनीकों में कई मॉडलों का प्रशिक्षण और परीक्षण शामिल है।

यह कैसे करना है के बारे में लंबा जवाब: यह निश्चित रूप से निर्भर करता है। लेकिन यहाँ कुछ विचार हैं जिनका उपयोग मैं अपने निर्णयों को सत्यापन के बारे में मार्गदर्शन करने के लिए करता हूँ। मैं रसायनज्ञ हूँ, इसलिए ये रणनीतियाँ और भी शब्द कमोबेश विश्लेषणात्मक-रासायनिक समस्याओं से जुड़े हैं।

अपने विचारों को थोड़ा समझाने के लिए, मैं मॉडल गुणवत्ता को मापने के रूप में सत्यापन के बारे में सोचता हूं , और मॉडल के मापदंडों को मापने के रूप में प्रशिक्षण - यह हर दूसरे प्रकार के माप के लिए काफी शक्तिशाली सादृश्य की ओर जाता है।

सत्यापन के संबंध में इन दृष्टिकोणों के दो अलग-अलग बिंदु हैं:

  1. सत्यापन को फिर से शुरू करने के लिए एक पारंपरिक दृष्टिकोण है: resampled डेटा सेट (कभी-कभी सरोगेट डेटा सेट या सबसेट कहा जाता है) व्यावहारिक रूप से मूल (वास्तविक) डेटा सेट के समान होता है।
    इसलिए, सरोगेट डेटा सेट के लिए एक "सरोगेट मॉडल" व्यावहारिक रूप से वैसा ही है जैसा कि मॉडल पूरे वास्तविक डेटा सेट के साथ फिट होता है। लेकिन कुछ नमूनों को सरोगेट डेटा सेट से बाहर छोड़ दिया जाता है, मॉडल इनमें से स्वतंत्र है। इस प्रकार, मैं सरोगेट मॉडल के लिए स्वतंत्र सत्यापन के रूप में उन लेफ्ट आउट या आउट-ऑफ-बूटस्ट्रैप के नमूने लेता हूं और परिणाम का उपयोग पूरे डेटा-मॉडल के सन्निकटन के रूप में करता हूं।
    हालांकि, सरोगेट मॉडल अक्सर पूरे डेटा-मॉडल के बराबर नहीं होता है: प्रशिक्षण के लिए कम नमूनों का उपयोग किया गया था (यहां तक ​​कि बूटस्ट्रैप के लिए, विभिन्न नमूनों की संख्या कम है)। जब तक लर्निंग कर्व बढ़ता जा रहा है, सरोगेट मॉडल पूरे डाटा-मॉडल की तुलना में थोड़ा खराब है। यह पुनरुत्थान सत्यापन का प्रसिद्ध निराशावादी पूर्वाग्रह है (यदि आप एक आशावादी पूर्वाग्रह के साथ समाप्त होते हैं, तो यह आमतौर पर एक संकेतक है कि बाएं-आउट / ओब परीक्षण सेट मॉडल से स्वतंत्र नहीं था)।

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

n
मैं आमतौर पर मामलों को फिर से जोड़ता हूं, जैसे एक मामला = एक मरीज के सभी माप। फिर आउट-ऑफ-बैग सभी रोगी हैं जिनमें से कोई भी डेटा प्रशिक्षण डेटा में नहीं होता है। यह उपयोगी है यदि आप जानते हैं कि एक मामले के माप अन्य मामलों के माप की तुलना में एक दूसरे के समान हैं (या कम से कम आप इस संभावना को बाहर नहीं कर सकते हैं)।

ऐसा नहीं है कि सत्यापन को फिर से खोलना आपको अज्ञात नमूनों के प्रदर्शन को मापने की अनुमति देता है । यदि इसके अलावा आप अज्ञात भविष्य के नमूनों (इंस्ट्रूमेंटल ड्रिफ्ट!) के लिए प्रदर्शन को मापना चाहते हैं , तो आपको एक परीक्षण सेट की आवश्यकता होती है जिसे "भविष्य में" मापा जाता है अर्थात सभी प्रशिक्षण नमूनों को मापने के एक निश्चित समय के बाद। विश्लेषणात्मक रसायन विज्ञान में, यह आवश्यक है यदि आप यह जानना चाहते हैं कि आपको कितनी बार अपने साधन के अंशांकन को फिर से करने की आवश्यकता है (प्रत्येक निर्धारण के लिए, दैनिक, साप्ताहिक, मासिक, ...)

बूटस्ट्रैप बनाम क्रॉस सत्यापन शब्दावली :

  • प्रतिस्थापन के साथ रेज़म्पलिंग को अक्सर बूटस्ट्रैप कहा जाता है,
  • प्रतिस्थापन-सत्यापन के बिना पुनरुत्पादन।

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

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

nnn

  • ध्यान दें कि बूटस्ट्रैप कुछ मॉडल फिटिंग तकनीकों के लिए उपयुक्त नहीं है जो पहले डुप्लिकेट माप को हटाते हैं।
  • बूटस्ट्रैप के कुछ वेरिएंट मौजूद हैं, जैसे .632-बूटस्ट्रैप और .632 + -बूटस्ट्रैप


लंबा जवाब अच्छा है।
मोमो

(+1) महान परिप्रेक्ष्य। मुझे पूरा यकीन है कि सरोगेट शब्द चिपक जाएगा।
स्टीफन

@ ऑस्टेन, धन्यवाद। मैं इस शब्द का आविष्कारक नहीं हूं। मुझे लगता है कि मैं पहली बार यू। ब्रागा-नेटो के कुछ पेपर में मिला था (संभवतः यह एक: ncbi.nlm.nih.gov/pubmed/14960464 ), लेकिन मैं तुरंत इस शब्द के बारे में आश्वस्त हो गया था ...
बैबलाइट मोनिका

सिम्युलेटेड डेटा के बारे में प्रश्न में टिप्पणी के बारे में। प्रति से बूटस्ट्रैप में नकली डेटा शामिल नहीं है। एक विशेष समस्या पर बूटस्ट्रैप विधि काम करती है या नहीं इसका आकलन करने के लिए नकली डेटा का उपयोग किया जाएगा। लेकिन बूटस्ट्रैप ही बूटस्ट्रैप नमूने के आधार पर डेटा का पुन: उपयोग है। मूल डेटा सेट से प्रतिस्थापन के साथ यादृच्छिक पर चयनित नमूने। इसमें आमतौर पर एन रेजैम्पल लेना शामिल होता है जहां n मूल नमूने का आकार होता है। मोंटे कार्लो वास्तव में कंप्यूटर पर बूटस्ट्रैप नमूने उत्पन्न करके बूटस्ट्रैप वितरण को अनुमानित करने के एक तरीके के रूप में प्रवेश करता है।
बजे माइकल आर। चेरिक जूल

3

मैं "सर्वश्रेष्ठ" के बारे में नहीं जानता (जो शायद इस बात पर निर्भर करता है कि आप इसके लिए क्या उपयोग करते हैं), लेकिन मैं नए डेटा पर त्रुटि का अनुमान लगाने के लिए बूटस्ट्रैप सत्यापन का उपयोग करता हूं निम्नलिखित तरीका (यदि आप चाहें तो तीसरा तरीका):

  1. प्रतिस्थापन के साथ मूल डेटा (आकार एन) से एन टिप्पणियों का एक प्रशिक्षण सेट बनाएं।
  2. मॉडल को प्रशिक्षण डेटा में फिट करें।
  3. आउट-ऑफ-बैग (ओब) नमूनों पर मॉडल का मूल्यांकन करें

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

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

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

देखें उदाहरण और बेंचमार्किंग प्रयोगों का डिजाइन और विश्लेषण

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