केवल तीन विभाजन क्यों? (प्रशिक्षण, सत्यापन, परीक्षण)


61

जब आप एक बड़े डेटासेट के लिए मॉडल फिट करने की कोशिश कर रहे हैं, तो आम सलाह डेटा को तीन भागों में विभाजित करना है: प्रशिक्षण, सत्यापन और परीक्षण डेटासेट।

ऐसा इसलिए है क्योंकि मॉडल में आमतौर पर मापदंडों के तीन "स्तर" होते हैं: पहला "पैरामीटर" मॉडल वर्ग (जैसे एसवीएम, तंत्रिका नेटवर्क, यादृच्छिक वन) है, मापदंडों का दूसरा सेट "नियमितीकरण" पैरामीटर या "हाइपरपरमेटर्स" हैं ( उदाहरण के लिए लास्सो दंड गुणांक, गिरी का विकल्प, तंत्रिका नेटवर्क संरचना) और तीसरा सेट वह है जिसे आमतौर पर "पैरामीटर" माना जाता है (जैसे सहसंयोजकों के लिए गुणांक।)

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

लेकिन अधिक विभाजन क्यों नहीं? अक्सर कोई हाइपरपरमेटर्स को दो समूहों में विभाजित कर सकता है, और दूसरे को फिट करने के लिए पहले और "सत्यापन 2" को फिट करने के लिए "सत्यापन 1" का उपयोग करता है। या कोई भी प्रशिक्षण डेटा / सत्यापन डेटा विभाजन के आकार का इलाज एक हाइपरपरमीटर के रूप में किया जा सकता है।

क्या यह पहले से ही कुछ अनुप्रयोगों में एक आम बात है? क्या डेटा के इष्टतम विभाजन पर कोई सैद्धांतिक काम है?

जवाबों:


79

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

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

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


2
मेरे पास वैचारिक मुद्दा यह है कि यदि आप पर्याप्त मॉडलों की तुलना कर रहे हैं, तो आप सत्यापन डेटा का उपयोग करके "विजेता पर निर्णय" लेने पर सत्यापन डेटा पर प्रभावी ढंग से फिट हो रहे हैं। इसलिए अभी भी सत्यापन डेटा को विभाजित करने में एक बिंदु हो सकता है।
charles.y.zheng

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

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

1
n

1
@YtsendeBoer: पर्याप्त उचित - यदि आप सत्यापन-आधारित प्रारंभिक रोक की तरह sth का उपयोग करते हैं, तो मैं मानता हूं कि सीमाएँ धुंधली हो जाती हैं, कम से कम अनुकूलन प्रक्रिया के संदर्भ में। मेरे दिमाग में यह पूरी तरह से एक "हाइपरपैरमीटर" की अवधारणा को एक नियमित रूप से विलय नहीं करता है। अभी भी कई स्थितियां हैं जहां उनके साथ अलग तरह से व्यवहार किया जाता है, और मैं एक मॉडल को परिभाषित करने में उनकी भूमिकाओं के संदर्भ में उनके बारे में अलग तरह से सोचता हूं। वैसे भी, मुझे उम्मीद है कि यह चर्चा दूसरों के लिए (सूक्ष्म) अंतर और इन अवधारणाओं के बीच की समानता = का वर्णन करने के लिए उपयोगी है।
रूबेन वैन बर्गन

0

यह दिलचस्प सवाल है, और मैंने पाया कि यह @Wayne के उत्तर के साथ मददगार है।

मेरी समझ से, डेटासेट को अलग-अलग विभाजन में विभाजित करना लेखक के उद्देश्य और वास्तविक दुनिया के आवेदन में मॉडल की आवश्यकता पर निर्भर करता है।

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

यदि हम प्रशिक्षण में सिर्फ एक कदम रखते हैं, तो यह स्पष्ट है कि एक प्रशिक्षण और एक परीक्षण (या मान्य) प्रक्रिया है।

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

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