क्रॉस-वेलिडेशन के बाद आप 'परीक्षण' डेटासेट का उपयोग कैसे करते हैं?


25

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

मान लीजिए कि हमने परीक्षण सेट के रूप में अपने डेटा का 20% बचाया है। फिर हम बाकी को लेते हैं, इसे k सिलवटों में विभाजित करते हैं और, क्रॉस-सत्यापन का उपयोग करते हुए, हम उस मॉडल को ढूंढते हैं जो इस डेटासेट से अज्ञात डेटा पर सबसे अच्छा पूर्वानुमान बनाता है। मान लीजिए कि हमने पाया सबसे अच्छा मॉडल हमें 75% सटीकता देता है ।

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

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

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

दूसरी ओर, यदि हम अपने पास मौजूद सभी डेटा का उपयोग करते हैं और फिर के-फोल्ड क्रॉस-वेलिडेशन का उपयोग करके मॉडल का चयन करते हैं, तो हमें वह मॉडल मिलेगा जो हमारे पास मौजूद संपूर्ण डेटा सेट से अज्ञात डेटा पर सबसे अच्छी भविष्यवाणी करता है।


1
आप उस परीक्षण सेट पर अपने सर्वश्रेष्ठ मॉडल का मूल्यांकन करते हैं और उस पर प्रदर्शन की रिपोर्ट करते हैं। यह आपके मॉडल के प्रदर्शन का सबसे अच्छा अनुमान है। मेरा सुझाव है कि आप यासर अबू-मोस्तफा की उत्कृष्ट पुस्तक "लर्निंग फ्रॉम डेटा" के पहले दो अध्यायों को पढ़ें। बहुत रसीला और बहुत सुलभ। work.caltech.edu/telecourse.html
व्लादिस्लाव्स डोवलगेक्स

1
आपके द्वारा सुझाई गई पुस्तक के लिए धन्यवाद! लेकिन सवाल के आपके जवाब के बारे में - आप कहते हैं कि यह "आपके मॉडल के प्रदर्शन का सबसे अच्छा अनुमान है", लेकिन यह वास्तव में एक छोटे (20%) परीक्षण सेट पर एक मॉडल के प्रदर्शन का अनुमान है , यह नहीं है सामान्य रूप में मॉडल का प्रदर्शन।
सेरही

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

धन्यवाद xeon! केवल एक चीज जो अभी भी मेरे लिए अस्पष्ट है, वह है कि हम परीक्षण डेटा सेट का उपयोग करके मॉडल का आकलन करने के बाद क्या करते हैं ?
सेरहि

आप या तो मॉडल को शिप करते हैं यदि आप परिणामों से खुश हैं या मॉडल को बेहतर बनाने के लिए बेहतर सुविधाएँ / एल्गोरिदम / अधिक डेटा पाते हैं।
व्लादिस्लाव डोभाल ने

जवाबों:


20

यह एक अन्य प्रश्न के समान है जिसका मैंने क्रॉस-सत्यापन और परीक्षण सेटों के बारे में उत्तर दिया था । यहां समझने के लिए महत्वपूर्ण अवधारणा स्वतंत्र डेटासेट है । केवल दो परिदृश्यों पर विचार करें:

  1. यदि आपके पास बहुत सारे संसाधन हैं, तो आप आदर्श रूप से एक डेटासेट एकत्र करेंगे और अपने मॉडल को क्रॉस-वैधीकरण के माध्यम से प्रशिक्षित करेंगे। फिर आप एक और पूरी तरह से स्वतंत्र डेटासेट इकट्ठा करेंगे और अपने मॉडल का परीक्षण करेंगे। हालांकि, जैसा कि मैंने पहले कहा, यह आमतौर पर कई शोधकर्ताओं के लिए संभव नहीं है।

अब, अगर मैं एक शोधकर्ता हूं जो इतना भाग्यशाली नहीं है तो मैं क्या करूं? ठीक है, आप उस सटीक परिदृश्य की नकल करने की कोशिश कर सकते हैं:

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

अपनी अन्य चिंताओं को दूर करने के लिए:

मान लीजिए कि हमने परीक्षण डेटा सेट पर 70% की सटीकता प्राप्त की है, तो हम आगे क्या करते हैं? क्या हम एक अन्य मॉडल की कोशिश करते हैं, और फिर एक, जब तक हम अपने परीक्षण डेटा सेट पर हाईट स्कोर प्राप्त नहीं करेंगे?

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

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

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


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

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

केवल प्रशिक्षण और परीक्षण सेट में विभाजन को बार-बार सत्यापित नहीं किया जाता है (उदाहरण के लिए परीक्षण सेट पहले 20% और फिर दूसरा 20% और फिर तीसरा, या सभी बेतरतीब ढंग से परीक्षण n बार 20% उठाते हैं और औसत सटीकता की गणना करते हैं) और ठीक वही काम करना, जो आप परीक्षण सेट के साथ कर रहे हैं? परीक्षण तक एल्गोरिथ्म में इसे नहीं दिखा रहा है?
ज़ेल्फ़िर कलस्टहल

2
@Zelphir नहीं, प्रत्येक हाइपरपैरमीटर संयोजन के साथ प्रत्येक गुना का कई बार मूल्यांकन किया जाता है। बस सबसे अच्छा परिणाम चुनना एक 'स्वतंत्र' परीक्षण सेट की तुलना में उच्च परिणामों की रिपोर्ट करने की संभावना है। विचार यह देखना है कि कौन से पैरामीटर इन परतों के सामान्यीकरण करते हैं और एक परीक्षण सेट पर उस वास्तुकला का उपयोग करते हैं, यह निर्धारित करने के लिए कभी नहीं देखा है कि मॉडल कितना 'सामान्य' है।
cdeterman

1
मुझे लगता है कि वास्तव में का कार्य जोड़ना चाहते हैं की तलाश में अपने स्वतंत्र परीक्षण सेट पर प्रदर्शन को और निर्णय लेने से वापस जाने के लिए और फिर से सीखें अपने मॉडल अपने परीक्षण सेट अब पूरी तरह से बनाता है के लिए स्वतंत्र । वास्तव में आप इसे अनंत बार कर सकते हैं जब तक कि आपको सही सटीकता नहीं मिलती। शैक्षिक संदर्भ के संबंध में, मैं "डेटा से सीखना" पुस्तक की सिफारिश करता हूं, लेखक द्वारा मुफ्त ऑनलाइन पाठ्यक्रम भी है ( work.caltech.edu/telecourse.html )।
माइकल

4

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

हालांकि, जैसे ही डेटा के बारे में आपका ज्ञान आपको अपनी मूल रणनीति से कोई बदलाव करने का कारण बनता है, आपने अब अपने परिणाम को "दागी" कर दिया है। कुछ उदाहरणों में शामिल हैं:

  • मॉडल की पसंद: आपने लॉजिस्टिक, लासो, रैंडम फॉरेस्ट, XGBoost का परीक्षण किया और वेक्टर मशीनों का समर्थन किया और सर्वश्रेष्ठ मॉडल का चयन किया

  • पैरामीटर ट्यूनिंग: आपने इष्टतम हाइपरपैरमीटर खोजने के लिए एक XGBoost को ट्यून किया

  • सुविधा का चयन: आपने अपने मॉडल में शामिल करने के लिए सुविधाओं का एक इष्टतम सबसेट चुनने के लिए पिछड़े चयन, आनुवांशिक एल्गोरिथ्म, बोरूटा आदि का उपयोग किया।

  • गुम प्रतिरूपण: आपने माध्य के साथ या अन्य चर पर आधारित एक साधारण मॉडल के साथ अनुपलब्ध चर लगाए

  • फ़ीचर परिवर्तन: आपने अपने संख्यात्मक चर को एक z- स्कोर (माध्य से मानक विचलन की संख्या) से बदलने के लिए केंद्रित और माप लिया है

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

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

https://mlr.mlr-org.com/articles/tutorial/nested_resampling.html


1

मैं मान रहा हूँ कि आप वर्गीकरण कर रहे हैं।

अपना डेटा लें और इसे 70/30 में ट्रेनिंगडेटा / टेस्टडेटा सबसेट में विभाजित करें। ट्रेनिंगडेटा सब्मिट लें और इसे 70/30 पर फिर से ट्रेनिंगडेटा / वैलिडेटेट सब्मिट में विभाजित करें। अब आपके पास अपने मूल डेटा के 3 सबसेट हैं - ट्रेनिंगडेटा (.7 * .7), वैधडेटा (.7 * .3), और टेस्टडेटा (.3)।

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

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

एक बार जब आप हाइपरपैरामीटर के हर संयोजन की जाँच कर लेते हैं, जिसका आप आकलन करते हैं, तो आप हाइपरपैरेटर्स के सेट का चयन करते हैं, जिसने आपको वेलिडेटेटा पर अपना सर्वश्रेष्ठ प्रदर्शन दिया है - चलो वेलडेटाटा पर अपने सर्वश्रेष्ठ प्रदर्शन का श्रेय 80% सटीकता को देते हैं। ये आपके अंतिम हाइपरपैरामीटर हैं और उन हाइपरपैरेटर्स द्वारा परिभाषित मॉडल वह है जिसे आप इस अगले चरण के लिए उपयोग करेंगे।

अब आप उस मॉडल को लेते हैं जो आपके अंतिम हाइपरपैरामीटर का उपयोग करता है और टेस्टडेटा का मूल्यांकन करता है। यह पहली बार टेस्टडेटा को छुआ गया है क्योंकि यह पूरी प्रक्रिया शुरू हुई है! यदि आपको testData प्रदर्शन मिलता है जो आपके प्रदर्शन के लिए validateData (हालांकि आमतौर पर यह थोड़ा कम होगा) के बराबर है, तो आप आश्वस्त महसूस कर सकते हैं कि आपका मॉडल उम्मीद के मुताबिक काम करता है और सामान्य रूप से अच्छा करता है! यदि ऐसा होता है, तो यह आपका अंतिम मॉडल है!

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


यह उत्तर स्वीकृत उत्तर से कैसे भिन्न है ?
Jan Kukacka

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

0

हम इसे निम्नलिखित तरीके से देखते हैं

  1. आम प्रक्रिया

    a) प्रशिक्षण डेटा - मॉडल मापदंडों को चुनने के लिए उपयोग किया जाता है।

     i) E.g., finding intercept and slope parameters for an ordinary linear 
        regression model. 
    
     ii) The noise in the training data-set is used in some extent 
         in over-fitting model parameters. 
    

    बी) सत्यापन डेटा - हाइपर-मापदंडों को चुनने के लिए उपयोग किया जाता है।

     i)  E.g., we may want to test three different models at step 1.a, say 
         linear model with one, two or three variables.   
    
     ii) The validation data-set is independent from training data, and thus, they provide 
         'unbiased' evaluation to the models, which help to decide which 
         hyper-parameter to use. 
    
     iii) We note that, a model trained in 1.a, say y = b_0+b_1*x_1, does 
         not learn anything from this data-set. So, the noise in this data- 
         set is not used to over-fit the parameters (b_0, b_1), but, over- 
         fit exists in choosing which linear model to use (in terms of 
         number of variables). 
    

    ग) परीक्षण डेटा - उपरोक्त दो चरणों से आउटपुट का विश्वास प्राप्त करने के लिए उपयोग किया जाता है

    i) Used once a model is completely trained
    
  2. भाग 1 को देखने का दूसरा तरीका

    क) हमारा मॉडल उम्मीदवार पूल 5-डिमेसन सेट है, अर्थात

    i) Dimension 1: number of variables to keep in the regression model, 
       e.g., [1, 2, 3].
    
    ii) Dimension 2-5: (b_0, b_1, b_2, b_3). 
    

    बी) चरण 1 ए ने मॉडल उम्मीदवारों को 5-आयाम से 1-आयाम तक घटा दिया।

    ग) चरण 1 बी मॉडल उम्मीदवारों को 1-आयाम से 0-आयाम तक कम करता है, जो एक एकल मॉडल है।

    डी) हालांकि, ओपी सोच सकता है कि ऊपर 'अंतिम' आउटपुट परीक्षण डेटा सेट पर पर्याप्त अच्छा प्रदर्शन नहीं कर रहा है, और इस तरह पूरी प्रक्रिया को फिर से करना है, साधारण रेखीय प्रतिगमन के बजाय रिज प्रतिगमन का उपयोग करना कहते हैं। फिर परीक्षण डेटा सेट को कई बार उपयोग किया जाता है और इस प्रकार इस डेटा में शोर रैखिक प्रतिगमन या रिज प्रतिगमन का उपयोग करने का निर्णय लेने में कुछ अधिक उत्पादन कर सकता है।

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

    i)  Sequentially reducing the model pool to zero-dimension.
    
    ii) Allocating data noise overfitting to different steps of dimension 
        reductions (overfitting the noise in the data is not avoidable but 
        could be allocated smartly). 
    
  3. निष्कर्ष और ओपी के सवाल का जवाब

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

    बी) कुछ स्तर पर, आप एक 'अंतिम' मॉडल उम्मीदवार पूल में आ सकते हैं, और फिर, आप यह सोच सकते हैं कि आयाम को कम करने की प्रक्रिया को क्रमिक रूप से कैसे डिज़ाइन किया जाए?

    i) At each step of reducing the dimensions, the output is satisfactory, 
      e.g., not using just 10 data points with large noise to estimate a 
      six-parameter liner model. 
    
    ii) There are enough data for you to reduce the dimension to zero 
       finally. 
    

    ग) यदि आप बी हासिल नहीं कर सकते हैं तो क्या होगा

    i) Use model and data insight to reduce the overall dimensionality of 
      your model pool. E.g., liner regression is sensitive to outliers thus 
      not good for data with many large outliers. 
    
    ii) Choose robust non-parametric models or models with less number of 
       parameter if possible. 
    
    iii) Smartly allocating the data available at each step of reducing the 
        dimensionality. There is some goodness of fit tests to help us decide 
        whether the data we use to train the model is enough or not. 
    
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.