प्रत्येक सरोगेट मॉडल के लिए ग्रिड खोज करने के बाद, आपको कुछ चीजों की जांच करनी चाहिए:
- अनुकूलित मापदंडों की भिन्नता (यहाँ और C )।
क्या इष्टतम पैरामीटर स्थिर हैं? यदि नहीं, तो आप बहुत परेशानी में हैं।γC
- आंतरिक और बाहरी क्रॉस सत्यापन के रिपोर्ट किए गए प्रदर्शन की तुलना करें।
यदि आंतरिक (यानी ट्यूनिंग) क्रॉस सत्यापन बाहरी (अंतिम मॉडल के सत्यापन) की तुलना में बहुत बेहतर दिखता है, तो आप मुसीबत में हैं, आप भी ओवरफिट कर रहे हैं। एक पर्याप्त जोखिम है, कि ट्यून्ड पैरामीटर बिल्कुल भी इष्टतम नहीं हैं। हालांकि, यदि बाहरी क्रॉस सत्यापन ठीक से किया जाता है (सभी परीक्षण सेट वास्तव में संबंधित सरोगेट मॉडल से स्वतंत्र हैं), तो कम से कम आपके पास अभी भी मॉडल के प्रदर्शन का एक निष्पक्ष (!) अनुमान है। लेकिन आप यह सुनिश्चित नहीं कर सकते कि यह इष्टतम है।
- कैसे स्पष्ट है इष्टतम? क्या उप-स्तरीय मापदंडों के लिए प्रदर्शन जल्दी से कम हो जाता है? इष्टतम प्रदर्शन कितना अच्छा है?
मॉडल चयन द्वारा ओवरफिटिंग के बारे में कहने के लिए बहुत कुछ है। हालांकि, यह ध्यान रखना अच्छा है कि विचरण और आशावादी पूर्वाग्रह दोनों वास्तव में चोट पहुंचा सकते हैं
- विचरण का मतलब है कि आप गलती से वास्तव में इष्टतम हाइपर-मापदंडों से काफी दूर समाप्त हो सकते हैं।
- लेकिन पूर्वाग्रह भी चोट पहुंचा सकते हैं: यदि आप ओवरफिटिंग कर रहे हैं, तो आप उन स्थितियों में भाग सकते हैं जहां कई मॉडल आंतरिक क्रॉस सत्यापन के लिए एकदम सही दिखते हैं (लेकिन वे वास्तव में नहीं हैं)। उस मामले में, ट्यूनिंग भटक सकती है क्योंकि यह मॉडल के बीच के अंतर को नहीं पहचानता है।
- यदि पूर्वाग्रह हाइपर-मापदंडों पर निर्भर करता है, तो आप बड़ी मुसीबत में हैं।
यदि आप एक उदाहरण में रुचि रखते हैं और आप जर्मन पढ़ सकते हैं, तो मैं अपनी डिप्लोमेसी थीसिस को ऑनलाइन कर सकता हूं।
मेरे अनुभव में, अतिपरजीविता ट्यूनिंग ओवरफिटिंग के लिए एक अत्यंत प्रभावी विचार है ...
अब, यदि आप महसूस करते हैं कि आप ओवरफिट कर रहे हैं, तो आपके पास मुख्य रूप से दो विकल्प हैं:
- रिपोर्ट करें कि ऑप्टिमाइज़ेशन में ओवरफ़िटिंग की समस्या थी, लेकिन आपने एक उचित बाहरी सत्यापन किया, जिसके परिणामस्वरूप ... (बाहरी क्रॉस सत्यापन परिणाम)।
- मॉडल की जटिलता को सीमित करें। ऐसा करने का एक तरीका हाइपर-मापदंडों को ठीक करना है:
प्रत्येक प्रशिक्षण सेट में हाइपर-मापदंडों को ट्यूनिंग करने के विकल्प के रूप में, आप पूर्व-निर्दिष्ट (हाइपर) पैरामीटर (यानी उन्हें पहले से तय कर सकते हैं) कर सकते हैं। मैं अपने मॉडलों के लिए जितना संभव हो उतना संभव हो सकता है क्योंकि मेरे पास आमतौर पर आपके पास इससे भी कम मामले हैं, नीचे देखें।
हालांकि, यह फिक्सिंग वास्तव में और ईमानदारी से पहले से ही किया जाना चाहिए: जैसे मैंने एक सहयोगी से एक समान डेटा सेट (स्वतंत्र प्रयोग) पर अपने अनुकूलित मापदंडों के लिए पूछा या मापदंडों पर ग्रिड खोज सहित एक पूर्व-प्रयोग किया। उस पहले प्रयोग को कुछ प्रयोगात्मक मापदंडों के साथ-साथ वास्तविक प्रयोग और डेटा विश्लेषण के लिए मॉडल मापदंडों को ठीक करने के लिए उपयोग किया जाता है। आगे स्पष्टीकरण के लिए नीचे देखें।
बेशक यह स्वचालित रूप से अनुकूलित मॉडल (डबल या नेस्टेड वेलिडेशन) पर उचित परीक्षण करना संभव है, लेकिन आपका नमूना आकार डेटा को दो बार विभाजित करने की अनुमति नहीं दे सकता है ।
उस स्थिति में, यह IMHO है ज्यादा बेहतर एक मॉडल है कि कैसे स्वचालित रूप से अनुकूलित मॉडल के कुछ प्रकार पर एक overoptimistic अनुमान रिपोर्टिंग से मानकों को मॉडलिंग का चयन करने पर व्यावसायिक अनुभव का उपयोग कर बनाया गया था के लिए एक ईमानदार अनुमान रिपोर्ट करने के लिए।
स्थिति पर एक और दृष्टिकोण यह है कि आपको व्यापार करना होगा
- पैरामीटर अनुकूलन के लिए मामलों का एक और गुच्छा अलग सेट करने के कारण खराब प्रदर्शन (छोटे प्रशिक्षण नमूना आकार => बदतर मॉडल, लेकिन "इष्टतम" पैरामीटर)
- विशेषज्ञ द्वारा (लेकिन बड़े प्रशिक्षण डेटा पर) फिक्सिंग को अपनाने के कारण खराब प्रदर्शन।
कुछ इसी तरह के प्रश्न पर कुछ विचार: /stats//a/27761/4598
मापदंडों और डिक्रान मार्सुपियल की टिप्पणियों को ठीक करने पर
मैं हाइपर-मापदंडों शब्द का उपयोग कर रहा हूं क्योंकि डिक्रान मार्सुपियल अपने पेपर में इसका उपयोग करता है (उसके उत्तर में लिंक)
मैं स्पेक्ट्रोस्कोपिक डेटा के साथ काम करता हूं। यह एक प्रकार का माप है जहां डेटा विश्लेषण और मॉडलिंग में अक्सर पूर्व-प्रसंस्करण का काफी कुछ शामिल होता है। इसे हाइपर-मापदंडों के रूप में देखा जा सकता है (जैसे बेसलाइन के लिए बहुपद के किस क्रम का उपयोग किया जाना चाहिए? क्या माप शामिल किया जाना चाहिए?)। ऐसे अन्य निर्णय हैं जो आपके svm मापदंडों के करीब हैं, उदाहरण के लिए "वास्तविक" मॉडल के प्रशिक्षित होने से पहले पीसीए को डायमेंशन में कमी के लिए कितने प्रमुख घटकों का उपयोग किया जाता है? और कभी-कभी मैं एसवीएम वर्गीकरण का भी उपयोग करता हूं, इसलिए मुझे एसवीएम मापदंडों पर निर्णय लेना होगा।
अब, हाइपर-मापदंडों को ठीक करने का सबसे अच्छा तरीका IMHO है यदि आपके पास आवेदन से आने वाले कारण हैं। उदाहरण के लिए, मैं आमतौर पर यह तय करता हूं कि भौतिक / रासायनिक / जैविक कारणों से किस तरह की आधार रेखा का उपयोग किया जाए (यानी नमूना और उस से होने वाले स्पेक्ट्रोस्कोपिक व्यवहार के बारे में ज्ञान)। हालाँकि, मैं ऐसे किसी तर्क से अवगत नहीं हूँ जो SVM मापदंडों के साथ मदद करता है ...
उपरोक्त पूर्व प्रयोगों का मामला इस प्रकार है:
- हम कोशिकाओं के एक समूह का डेटा लेते हैं (विभिन्न सेल लाइनों को अलग करना चाहते हैं)।
स्पेक्ट्रा का विश्लेषण किया जाता है, पुनरावृत्त डबल क्रॉस सत्यापन एसवीएम चलाया जाता है (गणना सर्वर पर एक या दो रात बिताई जाती है)।
- γC
- मैं एक निश्चित ओवरफिटिंग का भी निरीक्षण करता हूं: बाहरी क्रॉस सत्यापन ट्यूनिंग परिणामों के रूप में बहुत अच्छा नहीं है। जैसी कि उम्मीद थी।
- फिर भी, हाइपर-मापदंडों की ट्यूनिंग रेंज के प्रदर्शन में अंतर है, और ट्यूनिंग ग्रिड पर प्रदर्शन यथोचित रूप से सुचारू दिखता है। अच्छा।
मेरा निष्कर्ष यह है: जबकि मुझे यकीन नहीं है कि अंतिम हाइपर-पैरामीटर इष्टतम हैं, बाहरी क्रॉस सत्यापन मुझे सरोगेट मॉडल के प्रदर्शन का एक उचित अनुमान देता है।
प्रायोगिक भाग के दौरान, हमने प्रायोगिक सेट-अप (डेटा के शोर को संकेत को प्रभावित नहीं करने वाली चीज़ों पर कुछ बदलावों पर निर्णय लिया, लेकिन यह उपकरण के स्वचालितकरण में एक कदम और आगे जाता है)
हम प्रयोगात्मक सेटिंग्स में सुधार करते हैं और नए स्पेक्ट्रा प्राप्त करते हैं। कोशिकाओं के रूप में, उन्हें नए सिरे से विकसित होने की आवश्यकता है। यानी नए डेटा सेट स्वतंत्र संस्कृति बैच भी हैं।
अब मुझे निर्णय का सामना करना चाहिए: क्या मुझे आंतरिक क्रॉस सत्यापन को "छोड़ना" चाहिए और पुराने डेटा के साथ निर्धारित हाइपर-मापदंडों के साथ जाना चाहिए?
- जैसा कि ऊपर उल्लेख किया गया है, मैं इस जोखिम को चलाता हूं कि ये पूर्व-निर्धारित हाइपर-पैरामीटर इष्टतम नहीं हैं।
- लेकिन न तो मैं आंतरिक (ट्यूनिंग) क्रॉस सत्यापन करके वास्तव में इष्टतम हाइपर-मापदंडों को प्राप्त करना सुनिश्चित कर सकता हूं।
- हालाँकि, पुराने डेटा पर ट्यूनिंग स्थिर थी।
- ऑप्टिमाइज़िंग करने से मैं कम नमूनों पर प्रशिक्षण पाऊँगा: जैसा कि मेरे पास वैसे भी बहुत कम नमूने (TM) हैं, मुझे खराब मॉडल प्राप्त करने की अपेक्षा करनी है यदि मैं क्रॉस सत्यापन के दूसरे दौर के लिए अधिक नमूने अलग सेट करता हूं।
तो उस मामले में, मैंने तय मापदंडों के साथ जाने का फैसला किया (समान डेटा पर अनुभव करके और यह जानते हुए कि भविष्य में हमें अपना "होमवर्क" करना होगा, जिसमें बड़े डेटा के साथ इन फैसलों को फिर से जाँचना शामिल है)।
ध्यान दें कि महत्वपूर्ण बात यह है कि मैं आंतरिक ( ट्यूनिंग क्रॉस सत्यापन) को छोड़ देता हूं , बाहरी को नहीं। निश्चित हाइपर-पैरामीटर्स के साथ मुझे संभवतया उप-रूपी मॉडल के प्रदर्शन का निष्पक्ष अनुमान मिलता है। यह सच है कि यह अनुमान उच्च विचरण के अधीन है, लेकिन यह विचरण मूल रूप से एक ही है कि मैं आंतरिक ट्यूनिंग करता हूं या नहीं।
बाहरी क्रॉस वैडेशन को छोड़ना मुझे एक ट्यून किए गए मॉडल का एक आशावादी पक्षपाती अनुमान मिलेगा - जो कि अनुप्रयोग और डेटा के आधार पर बेकार हो सकता है (यदि बहुत अधिक अडॉप्टिमिस्टिक) और आशावादी पूर्वाग्रह स्पष्ट रूप से अस्वीकार्य हो सकते हैं।