मॉडल चयन के लिए नेस्टेड क्रॉस सत्यापन


91

मॉडल चयन के लिए नेस्टेड क्रॉस सत्यापन का उपयोग कैसे किया जा सकता है ?

मैंने जो ऑनलाइन पढ़ा, उसमें से नेस्टेड सीवी निम्नानुसार काम करता है:

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

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

मैं इस आउटपुट से एक मॉडल कैसे चुनूं? यह मुझे दिखता है कि उन जीतने वाले मॉडलों में से सर्वश्रेष्ठ मॉडल का चयन करना उचित नहीं होगा क्योंकि प्रत्येक मॉडल को प्रशिक्षित और डेटासेट के विभिन्न हिस्सों पर परीक्षण किया गया था।K

तो मैं मॉडल चयन के लिए नेस्टेड सीवी का उपयोग कैसे कर सकता हूं?

इसके अलावा मैंने थ्रेड्स पर चर्चा करते हुए पढ़ा है कि कैसे नेस्टेड मॉडल का चयन सीखने की प्रक्रिया का विश्लेषण करने के लिए उपयोगी है। बाहरी K के सिलवटों से प्राप्त होने वाले स्कोर के साथ मैं किस प्रकार का विश्लेषण / जाँच कर सकता हूँ?

जवाबों:


76

मैं इस [बाहरी क्रॉस सत्यापन] आउटपुट से एक मॉडल कैसे चुनूं?

संक्षिप्त उत्तर: आप नहीं।

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

  • बाहरी सरोगेट मॉडल द्वारा बनाया गया 'असली' मॉडल के बराबर हैं सभी डेटा के साथ।kmodel.fitting.procedure
  • या, मामले में 1. टूट जाता है नीचे (resampling सत्यापन के निराशावादी पूर्वाग्रह), कम से कम बाहरी किराए की मॉडल एक दूसरे के बराबर हैं। यह आपको परीक्षा परिणामों को पूल (औसत) करने की अनुमति देता है। इसका यह भी अर्थ है कि आपको उनके बीच चयन करने की आवश्यकता नहीं है क्योंकि आप मानते हैं कि वे मूल रूप से एक ही हैं। इस दूसरी, कमजोर धारणा का टूटना मॉडल अस्थिरता है।k

करो नहीं मालूम होता है का सबसे अच्छा लेने कि आम तौर पर सिर्फ "कटाई" परीक्षण अनिश्चितता हो सकता है और एक आशावादी पूर्वाग्रह की ओर जाता है है - किराए की मॉडल।k

तो मैं मॉडल चयन के लिए नेस्टेड सीवी का उपयोग कैसे कर सकता हूं?

भीतरी सीवी चयन करता है।

यह मुझे दिखता है कि उन K जीतने वाले मॉडलों में से सर्वश्रेष्ठ मॉडल का चयन करना उचित नहीं होगा क्योंकि प्रत्येक मॉडल को प्रशिक्षित और डेटासेट के विभिन्न हिस्सों पर परीक्षण किया गया था।

आप कर रहे हैं सही है कि यह कोई अच्छा विचार में से एक चुनना है किराए की मॉडल। लेकिन आप कारण के बारे में गलत हैं। वास्तविक कारण: ऊपर देखें तथ्य यह है कि उन्हें एक ही डेटा पर प्रशिक्षित और परीक्षण नहीं किया जाता है, यहां "चोट" नहीं होती है।k

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

जो मुझे आपके अंतिम प्रश्न पर लाता है:

बाहरी K के सिलवटों से प्राप्त होने वाले स्कोर के साथ मैं किस प्रकार का विश्लेषण / जाँच कर सकता हूँ?

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

  • चुने हुए मॉडल के आंतरिक और बाहरी अनुमान के बीच अंतर की जांच करें। अगर वहाँ एक बड़ा अंतर है (आंतरिक बहुत overoptimistic जा रहा है), वहाँ एक जोखिम है कि आंतरिक अनुकूलन अच्छी तरह से overfitting की वजह से काम नहीं किया।


अपडेट @ user99889 का सवाल: बाहरी CV अस्थिरता पाता है तो क्या करें?

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

@Davips का जवाब देने वाली टिप्पणी में, मैं आंतरिक सीवी में अस्थिरता से निपटने के बारे में सोच रहा था - यानी मॉडल अनुकूलन प्रक्रिया के हिस्से के रूप में।

लेकिन आप निश्चित रूप से सही हैं: अगर हम बाहरी सीवी के निष्कर्षों के आधार पर अपने मॉडल को बदलते हैं, फिर भी बदले हुए मॉडल के स्वतंत्र परीक्षण का एक और दौर आवश्यक है।
हालाँकि, बाहरी CV में अस्थिरता भी एक संकेत होगा कि अनुकूलन अच्छी तरह से सेट नहीं किया गया था - इसलिए बाहरी CV में अस्थिरता का पता चलता है, आंतरिक CV ने आवश्यक फैशन में अस्थिरता को दंडित नहीं किया है - यह मेरा मुख्य बिंदु होगा ऐसी स्थिति में समालोचक। दूसरे शब्दों में, अनुकूलन भारी-भरकम मॉडल की अनुमति / लीड क्यों देता है?

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

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

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


अपडेट (2019): जितना अधिक मैं इन स्थितियों के बारे में सोचता हूं, उतना ही मैं "नेस्टेड क्रॉस सत्यापन" के पक्ष में आता हूं, जाहिर है कि यह घोंसले के दृष्टिकोण के बिना


राइट मॉडल का चयन, यदि क्लासिफायरियर अस्थिर है, तो क्या हमें सबसे अच्छे लोगों में से एक का चयन करना चाहिए? यह विकल्प बाहरी प्रदर्शन के साथ आंतरिक प्रदर्शन की तुलना करने के लिए आपके सुझाव के अनुरूप होगा।
viyps 14

2
@davips: यदि मॉडल अस्थिर हैं, तो अनुकूलन काम नहीं करेगा (अस्थिरता अतिरिक्त विचरण का कारण बनता है)। हालांकि, माध्यिका (या औसत) प्रदर्शन के साथ एक मॉडल का चयन करने में मदद नहीं मिलेगी। इसके बजाय, यदि मॉडल अस्थिर हैं, तो मैं या तो अधिक प्रतिबंधात्मक मॉडल (जैसे मजबूत नियमितीकरण) के लिए जाने के लिए या एक मॉडल कलाकारों की टुकड़ी (जो एक मॉडल का चयन करने से मौलिक रूप से अलग है) के निर्माण के लिए सिफारिश करूंगा।
cbeleites

1
@ user99889: कृपया अद्यतन उत्तर देखें।
'16:

1
@ user99889: हाँ - लेकिन वहाँ चमत्कार की उम्मीद नहीं है। यदि स्थिरता 80% मामलों (k = 5) के साथ प्रशिक्षण के दौरान एक समस्या है, तो यह संभवतः k = 10 या 90% n = अतिरिक्त 12.5% ​​के साथ 80% / k = 5 सरोगेट मॉडल की तुलना में अभी भी एक मुद्दा होगा।
cbeleites

1
@ कबीलेइट्स: एक संबंधित काल्पनिक। मान लीजिए कि मैं एक पैरामीटर स्पेस की खोज करने का फैसला करता हूं c: [1,2,3]। मैं अपने संपूर्ण डेटासेट पर नेस्टेड सीवी करता हूं और प्रदर्शन को इतना शानदार नहीं पाता हूं। इसलिए मैंने अपने खोज स्थान को c: [0.5,1,1.5,2,2.5,3,3.5,4] तक विस्तारित किया। क्या मैंने कुछ बहुत बुरा किया है? ऐसा लगता है कि मैंने परीक्षण डेटा से प्राप्त ज्ञान के आधार पर अपने पैरामीटर स्थान (जो मॉडलिंग प्रक्रिया का एक हिस्सा है) को अनिवार्य रूप से बदल दिया है, और इसलिए मेरे वर्तमान डेटासेट के बाहरी डेटासेट पर मूल्यांकन करने की आवश्यकता है? यदि आपको लगता है कि यह सबसे अच्छा है, तो इसे एक अलग प्रश्न बनाने में खुशी होगी।
user0

27

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

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


1
आपको करने की आवश्यकता क्यों है get an idea of the performance?
viyps

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

5
तो वास्तव में यह तय करने के लिए कि अंतिम मॉडल का उपयोग करने के लिए आप किस पैरामीटर को एक बार इनर लूप करेंगे? तो अगर आंतरिक लूप 10 गुना था, तो आप प्रत्येक मॉडल को 10 बार दोहराते हुए डेटा ट्रेन का 1/10 हिस्सा पकड़ लेंगे और फिर सबसे छोटी औसत त्रुटि के साथ पैरामीटर मान चुनेंगे? फिर पूरे डेटा सेट पर उस पैरामीटर मान के साथ मॉडल को फिर से लिखें?
ईमशोर्श

2
हां यह सही है। r
डिक्रान मार्सुपियल

1
@FedericoTedeschi एक निष्पक्ष प्रदर्शन अनुमानक प्राप्त करने के लिए केवल एक अलग विभाजन के बजाय, क्रॉस-सत्यापन को नेस्टेड करने की आवश्यकता है, (मेरे पेपर jmlr.csail.mit.edu-papers/volume11/cawley10a/cawley10a.pdf का अनुभाग 5.3 देखें ) । आम तौर पर मैं केवल मॉडल के लिए मॉडल चयन के लिए LOOCV का उपयोग करता हूं जहां इसे कुशलता से गणना की जा सकती है और मॉडल छोटे डेटासेट के लिए बूटस्ट्रैपिंग / बैगिंग का उपयोग करेगा (बाहरी क्रॉस-सत्यापन की जगह OOB त्रुटि के साथ)।
डिक्रान मार्सुपियल जूल

7

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


3
python scikit-learn में, स्पष्ट करने के लिए, GridSearchCV(refit=True)वास्तव में सबसे अच्छे मापदंडों का उपयोग करके FULL डेटा पर एक मॉडल को परिष्कृत करता है, ताकि अतिरिक्त कदम आवश्यक न हो। डॉक्स देखें
पॉल

आप रिफिट विकल्प के बारे में सही हैं। मैं सिर्फ स्पष्ट स्पष्ट बता रहा था !!
अंसल

"ग्रिडसर्च से मॉडल आपका अंतिम मॉडल नहीं है"। लेकिन मेरी बात यह है कि मरम्मत = सच के साथ ग्रिड खोज मॉडल है है अंतिम मॉडल। क्या आपका मतलब है कि आप और मैं एक ही पेज पर हैं? लेकिन तब मैं अभी भी नहीं देखता कि सीवी के साथ ग्रिड खोज में घोंसला कहां होता है। यह मुझे सीवी की एक परत की तरह लगता है (जैसे, ग्रिड खोज में 5 गुना सीवी, सीवी की एक परत है)।
पॉल

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