जब अलग मॉडलिंग / सत्यापन सेट का उपयोग करके एक प्रतिगमन मॉडल का निर्माण किया जाता है, तो क्या सत्यापन डेटा को "पुन: प्रसारित" करना उचित है?


13

मान लीजिए कि मुझे मॉडलिंग / सत्यापन टिप्पणियों के बीच 80/20 का विभाजन मिला है। मैंने मॉडलिंग डेटा सेट के लिए एक मॉडल फिट किया है, और मैं उस त्रुटि के साथ सहज हूं जो मैं सत्यापन डेटा सेट पर देख रहा हूं। इससे पहले कि मैं भविष्य के अवलोकन को स्कोर करने के लिए अपने मॉडल को रोल आउट करूं, क्या 100% डेटा पर अद्यतन पैरामीटर अनुमान प्राप्त करने के लिए मॉडलिंग डेटा के साथ सत्यापन को जोड़ना उचित है? मैंने इस पर दो दृष्टिकोण सुने हैं:

  1. मैंने जो सत्यापन किया है, वह मॉडल संरचना का एक सत्यापन था, अर्थात मैंने जो भविष्यवाणियों और परिवर्तनों का सेट लागू किया है। जब मैं अपने अनुमानों को अद्यतन करने के लिए इसका उपयोग कर सकता हूं तो मेरे डेटा का 20% टेबल पर छोड़ने का कोई मतलब नहीं है।

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

मैंने हमेशा # 1 तर्क का पालन किया है, लेकिन हाल ही में मैंने कई लोगों को तर्क # 2 सुना है। मैं यह देखना चाहता था कि दूसरे इस बारे में क्या सोचते हैं। क्या आपने इस विषय पर साहित्य या कहीं और कोई अच्छी चर्चा की है?

जवाबों:


6

विकल्प 1 सही है। आप अपने मॉडल के मापदंडों को अपडेट करने के लिए सत्यापन डेटा सेट को जोड़ सकते हैं।

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

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

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

लेकिन कौन सा मॉडल ?? सीखने के सेट के प्रत्येक सेट के लिए आपके पास मॉडल के लिए एक अलग पैरामीटर होगा। A, B, C, D के साथ सीखना एक पैरामीटर सेट P1 बनाता है, A, B, C, E के साथ सीखना, पैरामीटर सेट P2, P5 तक। उनमें से कोई भी आपका मॉडल नहीं है।

आपने जो परीक्षण किया , वह मॉडल के निर्माण के लिए एक प्रक्रिया की अपेक्षित त्रुटि है , सीखने के सेट के दौरान आपके द्वारा अपनाई गई प्रक्रिया ए, बी, सी, डी और जब यह ए, बी, सी, ई और इसी तरह की थी। क्या यह प्रक्रिया उस अपेक्षित त्रुटि वाले मॉडल को उत्पन्न करती है।

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

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

कौन सा "बड़ा जोखिम" है? यह मानने के लिए कि त्रुटि भविष्य के डेटा के लिए मूल रूप से समान है, या मान लें कि आपके मॉडल को सीखने के लिए अधिक डेटा जोड़ने से किसी तरह मॉडल को "पेंच" किया जाएगा और भविष्य में इसकी त्रुटि दर में वृद्धि होगी? मैं वास्तव में इसका जवाब देना नहीं जानता, लेकिन मुझे उन मॉडलों पर संदेह होगा जो अधिक डेटा के साथ खराब होते हैं ...।

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