प्रशिक्षण और परीक्षण सेट में डेटा को विभाजित करना पर्याप्त क्यों नहीं है


18

मुझे पता है कि क्लासिफायर के प्रदर्शन का उपयोग करने के लिए मुझे डेटा को प्रशिक्षण / परीक्षण सेट में विभाजित करना होगा। लेकिन इसे पढ़ना :

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

मैं देख रहा हूं कि एक और (तीसरा) सत्यापन सेट पेश किया गया है जो हाइपरपरमेटर्स ट्यूनिंग के दौरान परीक्षण सेट के ओवरफिटिंग द्वारा उचित है।

समस्या यह है कि मैं यह नहीं समझ सकता कि यह ओवरफिटिंग कैसे दिखाई दे सकती है और इसलिए तीसरे सेट के औचित्य को समझ नहीं सकता है।


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

जवाबों:


17

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

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

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


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

@fcoppens हाँ, निश्चित रूप से। मैंने स्पष्ट रूप से इसका उल्लेख नहीं किया, लेकिन यह निश्चित रूप से उस चरण में भी फिट बैठता है।
मार्क क्लेसेन

1
अधिक आम तौर पर, ट्यूनिंग या ऑप्टिमाइज़ेशन किसी भी प्रकार की डेटा-चालित (आंतरिक क्रॉस-मान्यता द्वारा) प्रक्रिया है।
केलीलाइट्स मोनिका

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

"यदि आप परीक्षण डेटा के आधार पर कुछ पहलू का अनुकूलन कर रहे हैं, तो आपका परीक्षण डेटा अब स्वतंत्र नहीं है और आपको सत्यापन सेट की आवश्यकता होगी।" यह आनंददायक है
सुदीप भंडारी

11

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

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

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

ध्यान दें कि आंतरिक सत्यापन उस प्रक्रिया का हिस्सा हो सकता है जिसने मॉडल का उत्पादन किया है इसलिए कई मामलों में आंतरिक और बाहरी दोनों क्रॉस सत्यापन आवश्यक हैं।


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

3
हेनरी, मुझे नहीं लगता कि आप बाहरी क्रॉस सत्यापन को समझ रहे हैं। आप "परीक्षण सेट के साथ बार-बार ऐसा कर सकते हैं," बाकी हिस्सों पर अपनी पूर्ण प्रशिक्षण प्रक्रिया को निष्पादित करते समय परीक्षण के प्रयोजनों के लिए अपने पूरे डेटा के कुछ हिस्से को बार-बार पकड़े (जिसमें आंतरिक क्रॉस सत्यापन शामिल हो सकता है)। बाहरी क्रॉस सत्यापन अभी भी आम तौर पर सिलवटों में किया जाता है, और मूल डेटा के सभी के लिए कुछ बिंदु पर परीक्षण सेट में होने की अनुमति देता है।
jlimahaverford

αα

2

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

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

इस 'अंतिम' मॉडल के लिए हमें अभी भी त्रुटि का अनुमान लगाना है और इसलिए हम परीक्षण नमूने का उपयोग करते हैं ।


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

@ हेनरी: ओके हेनरी, मुझे लगता है कि चरणों के लेबल आपके अनुक्रम / सामग्री की तुलना में कम महत्वपूर्ण हैं, लेकिन आपकी टिप्पणी मुझे समझ में आती है, मैं पाठ को संपादित करूंगा, धन्यवाद (+1),

1

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

इसके अतिरिक्त, यदि आपके पास मॉडल चयन में उच्च स्तर की स्वतंत्रता है, तो मॉडल के खराब प्रदर्शन का खतरा है, क्योंकि क्रॉस सत्यापन मानदंड से अधिक हो जाता है।

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

ये कुछ संसाधन हैं जो आपको बेहतर समझने में मदद करेंगे।

इसलिए, जब आपके पास एक बड़ा डेटा सेट होता है, तो क्रॉस सत्यापन एक छोटे से एक के बजाय आपकी मदद करेगा।

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