सत्यापन सेट और परीक्षण सेट दोनों का उपयोग क्यों करें?


18

एक तंत्रिका नेटवर्क पर विचार करें:

दिए गए डेटा के सेट के लिए, हम इसे प्रशिक्षण, सत्यापन और परीक्षण सेट में विभाजित करते हैं। मान लीजिए कि हम इसे 60:20:20 के क्लासिक अनुपात में करते हैं, तो हम नेटवर्क को वैध सेट पर जाँच कर इसे सत्यापित करने से रोकते हैं। फिर इसके प्रदर्शन की जांच करने के लिए परीक्षण सेट पर इसका परीक्षण करने की आवश्यकता क्या है?

क्या परीक्षण सेट पर त्रुटि कुछ हद तक वैसी ही नहीं होगी जैसा कि नेटवर्क के लिए मान्यकरण सेट है यह सत्यापन सेट की तरह ही एक अनदेखी डेटा है और दोनों की संख्या भी समान है?

इसके बजाय हम परीक्षण सेट को उसमें विलय करके प्रशिक्षण सेट को बढ़ा नहीं सकते हैं ताकि हमारे पास अधिक प्रशिक्षण डेटा और नेटवर्क ट्रेनें बेहतर हों और फिर ओवरफिटिंग को रोकने के लिए सत्यापन सेट का उपयोग करें? हम ऐसा क्यों नहीं करते?


4
आप इसे वही चाहते हैं लेकिन आप सुनिश्चित नहीं हो सकते क्योंकि आपने इसे हाइपरपैरिमेट ऑप्टिमाइज़ेशन और शुरुआती रोक के लिए छुआ है, इसलिए आपको कुंवारी परीक्षण सेट की आवश्यकता है।
Emre

@Emre लेकिन प्रशिक्षण सेट के आधार पर वज़न समायोजित हो जाएगा और सत्यापन सेट पर नहीं, इसलिए परीक्षण और सत्यापन सेट पर परिणाम अलग-अलग नहीं होना चाहिए।
user1825567

नहीं, वे प्रशिक्षण सेट के अनुसार समायोजित नहीं होते हैं)। यह नियमित मापदंडों के लिए है।
Emre

जवाबों:


24

मान लेते हैं कि आप एक ऐसे मॉडल का प्रशिक्षण ले रहे हैं, जिसका प्रदर्शन हाइपरपरमेटर्स के एक सेट पर निर्भर करता है। एक तंत्रिका नेटवर्क के मामले में, ये पैरामीटर उदाहरण के लिए सीखने की दर या प्रशिक्षण पुनरावृत्तियों की संख्या हो सकते हैं।

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

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

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


11

परीक्षण सेट और क्रॉस सत्यापन सेट के अलग-अलग उद्देश्य हैं। यदि आप किसी एक को छोड़ देते हैं, तो आप इसके लाभ खो देते हैं:

  • क्रॉस सत्यापन सेट का उपयोग ओवर-फिटिंग का पता लगाने और हाइपर-पैरामीटर खोज में सहायता करने के लिए किया जाता है।

  • मॉडल के प्रदर्शन को मापने के लिए परीक्षण सेट का उपयोग किया जाता है।

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

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

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

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

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

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

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


1
"आपके डेटा सेट के भीतर संभावित सहसंबंध के खिलाफ मजबूत" से आपका क्या मतलब है?
user6903745
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.