क्रॉस सत्यापन डेटा स्नूपिंग से अलग कैसे है?


13

मैंने "सांख्यिकीय शिक्षा का एक परिचय" समाप्त किया । मैंने सोचा कि क्या विभिन्न मशीन लर्निंग तकनीकों के लिए सर्वोत्तम ट्यूनिंग मापदंडों को खोजने के लिए क्रॉस-मान्यता का उपयोग करना डेटा स्नूपिंग से अलग है?

हम बार-बार जाँच रहे हैं कि ट्यूनिंग पैरामीटर के कौन से मूल्य परीक्षण सेट में सबसे अच्छा पूर्वानुमान परिणाम है। क्या होगा यदि हम जिस ट्यूनिंग पैरामीटर पर पहुंचते हैं, वह इस विशेष परीक्षण को संयोग से फिट करने के लिए होता है, और कुछ भविष्य के परीक्षण सेट पर अच्छा प्रदर्शन नहीं करेगा?

कृपया मशीन सीखने की मेरी नौसिखिया समझ को बहाना, और मैं शिक्षित होने के लिए उत्सुक हूं।

संपादित करें: "डेटा स्नूपिंग" की परिभाषा पर @AdamO उत्तर देखें। मैंने अपने प्रश्न में बहुत गलत तरीके से इस शब्द का इस्तेमाल किया।


मैं इसे पाकर बहुत खुश हूं ... कल के एक टीसी के पास कुछ शोधकर्ताओं के साथ है जिन्होंने कुछ प्रकाशित किया है .... दुर्भाग्य से इस समस्या से पीड़ित हैं। बड़ा अच्छा सवाल!
पैल्विल्लेसेन

जवाबों:


12

मैंने सोचा कि क्या विभिन्न मशीन लर्निंग तकनीकों के लिए सर्वोत्तम ट्यूनिंग मापदंडों को खोजने के लिए क्रॉस-मान्यता का उपयोग करना डेटा स्नूपिंग से अलग है?

आपकी चिंता सही जगह पर है, और इस विषय पर साहित्य का एक बहुत कुछ है, उदाहरण के लिए

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

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

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

वैचारिक रूप से, मुझे यह कहना पसंद है कि प्रशिक्षण में न केवल "सामान्य" मॉडल मापदंडों को फिट करने के लिए सभी प्रकार के फैंसी कदम शामिल हैं, बल्कि हाइपरपरमेटर्स को फिट (ऑटो-ट्यून) भी करना है। इसलिए λ का डेटा-संचालित अनुकूलन स्पष्ट रूप से मॉडल प्रशिक्षण का हिस्सा है।

अंगूठे के एक नियम के रूप में आप यह भी कह सकते हैं कि मॉडल प्रशिक्षण वह सब कुछ है जो आपको पहले से तैयार अंतिम ब्लैक-बॉक्स फ़ंक्शन के लिए करना होगा जो नए मामलों के लिए भविष्यवाणियों का उत्पादन करने में सक्षम है।


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


अपडेट करें:

इसलिए अगर मेरा मॉडल (अर्थात इस मामले में मेरा ट्यूनिंग पैरामीटर) बाहरी सत्यापन को विफल करता है, तो मुझे क्या करना चाहिए?

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

मेरी सिफारिशें:

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

  • आपको यह जाँचना चाहिए कि ऑटो-ट्यूनिंग प्रक्रिया द्वारा चुने गए λ और इष्टतम λ के साथ दोनों प्राप्त भविष्यवाणियां कितनी स्थिर हैं। यदि λ आपके डेटा के विभिन्न विभाजन के संबंध में यथोचित रूप से स्थिर नहीं है, तो अनुकूलन काम नहीं करता है।

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


1
मैं सहमत हूं, शब्दावली ट्रेन / परीक्षण / सत्यापन बहुत सहज नहीं है
एम। बर्क

3

क्रॉस सत्यापन का उपयोग किसी विशेष खोज की वैधता का आकलन करने के लिए किया जाता है, जो आमतौर पर भविष्यवाणी मॉडल से संबंधित है। इस प्रकार के निष्कर्षों में क्लस्टर विश्लेषण, वर्गीकरण या भविष्यवाणी मॉडल के परिणाम शामिल हो सकते हैं। किसी भी मामले में, विश्लेषण की प्रकृति वैज्ञानिक हित के एक पूर्व-निर्दिष्ट प्रश्न का हिस्सा है जैसे कि "जो mRNA अभिव्यक्ति की आवृत्तियों की संभावना सबसे अधिक स्तन कैंसर बायोप्सी बनाम स्वस्थ नियंत्रण से उत्पन्न हुई है?"। क्रॉस सत्यापन एक निर्धारित उद्देश्य मॉडल की वैधता का आकलन करने के लिए एक बहुत ही मजबूत तरीका है जो एक विशिष्ट उद्देश्य को पूरा करता है। मुझे संदेह है कि फोल्ड क्रॉस सत्यापन, जिसमें दोहराया मॉडल फिटिंग शामिल है, आपके भ्रम का मूल हो सकता है।k

"इष्टतम" ट्यूनिंग पैरामीटर की पहचान करने के लिए CV का उपयोग करते समय, जैसा कि दंडित संभावना विधियों के साथ आवश्यक है, आमतौर पर एक निर्धारित मानदंड है जो प्रक्रिया को पूरा करने के लिए निर्धारित है। यह न्यूनतम MSE, या अधिकतम AUC, या न्यूनतम BIC हो सकता है। यदि आप चेरी a चुनते हैं जो आपको परिणाम देता है जिसके बाद आप हैं, तो आपने डेटा ड्रेजिंग से भी बदतर कुछ किया है, मुझे लगता है। इसलिए, एक माइक्रोएरे उदाहरण का उपयोग करते हुए, यदि आप रुचि रखते हैं जिसमें प्रोटीन कैंसर के मामलों बनाम नियंत्रण में अधिक व्यक्त किए जाते हैं, तो आप एक GLM LASSO को निर्धारित कर सकते हैं, जिसके लिए _ लैंबडा सबसे अच्छा BIC देता है और अंतिम मॉडल में चुने गए मार्करों को उम्मीदवार प्रोटीन के रूप में चुना जाता है। आगे की जांच पड़ताल। यह सुविधा चयन का एक उदाहरण है।λλλ

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

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


"डेटा स्नूपिंग" पर स्पष्टीकरण के लिए धन्यवाद - मुझे लगता है कि मैंने अपने प्रश्न में इसे अभेद्य रूप से इस्तेमाल किया। एक बात मुझे अभी भी स्पष्ट नहीं है कि क्या "k-fold CV का उपयोग चेरी-पिक को फीचर सेलेक्शन के लिए करना" GOOD या BAD अभ्यास का उदाहरण है? मैं इसे का बुरा लगता है क्योंकि उस विशेष फिर से काम न करें। लेकिन दूसरी ओर, यह वही है जो प्रश्न में पुस्तक सिखाता है। λλλ
हाइजेनबर्ग

1
@Anh: क्रॉस वेलिडेशन द्वारा λ की ट्यूनिंग अपने आप में खराब नहीं है। लेकिन ऐसा करने से आप λ के ट्यूनिंग के लिए क्रॉस क्रॉस वैलिडेशन का उपयोग करते हैं और आपको एक और वेलिडेशन की आवश्यकता होती है जो मॉडलिंग के स्वतंत्र है जिसमें λ को ट्यूनिंग करने की प्रक्रिया शामिल है। यह बाहरी सत्यापन नहीं करना BAD है। यदि वह विशेष λ "फिर से" काम नहीं करता है (जैसे डेटा के एक और विभाजन पर), तो आपका अनुकूलन काम नहीं किया। उस स्थिति में, आप आमतौर पर बाहरी सत्यापन परिणामों और ट्यूनिंग के दौरान "सर्वश्रेष्ठ" प्रदर्शन के बीच एक बड़ा अंतर देखेंगे।
SX

@cbeleites तो अगर मेरा मॉडल (अर्थात इस मामले में मेरा ट्यूनिंग पैरामीटर) बाहरी सत्यापन को विफल करता है, तो मुझे क्या करना चाहिए? मैं वापस जाकर दूसरा ट्यूनिंग पैरामीटर नहीं ढूंढ सकता, क्योंकि अनिवार्य रूप से बाहरी सत्यापन को ट्यूनिंग टेस्ट सेट में बदल दिया जाएगा। इसलिए क्या करना है?
हाइजेनबर्ग

@ मुझे लगता है कि वैज्ञानिक प्रश्न की प्रकृति पर बहुत कुछ निर्भर करता है। प्रोटीन बाइंडिंग उदाहरण के लिए वापस जा रहे हैं, आप देख सकते हैं कि नमूनों में प्रोटीन का एक अनूठा सेट बहुत ही असामान्य न्यूक्लियोटाइड आवृत्तियों है, और इस तरह आप एक अंतिम मॉडल में संभव सुविधाओं की एक छोटी संख्या में रुचि रखते हैं। तो आप संभावना को भारी करने के लिए चुन लेंगे , या इसे धुन देंगे ताकि आप मॉडल में शीर्ष 3 या 4 सुविधाओं की पहचान कर सकें। (जारी)λ
एडम जूल 11'14

@anh तब की वैधता का आकलन करने के , शीर्ष 3 सुविधाओं के लिए चुना आप का प्रयोग करेंगे गुना सत्यापन आकलन करने के लिए या तो कितने सुविधाओं चयन किया गया था (अगर सुविधाओं की संख्या से 20 से कोई भी अलग-अलग है, तो विशिष्टता के कम सबूत है प्रशिक्षण मॉडल में 3 सुविधाओं के लिए)। वास्तविक ट्यूनिंग पैरामीटर, एक संभावना की तरह, एक बहुत ही डेटा-विशिष्ट अर्थ है। मैं इसकी रिपोर्ट कभी नहीं करूंगा, लेकिन इसे बदलने के परिणामस्वरूप परिणामों की संवेदनशीलता पर ध्यान दें। केλk
एडम जूल

1

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


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

1
@ एएचएन: दोनों विभाजन केवल एक छोटे डेटा सेट को अलग करने के बजाय रेज़मूलेशन (जैसे बार-बार क्रॉस सत्यापन) द्वारा किया जा सकता है।
16-11 को SX

@Anh: k- गुना क्रॉस-सत्यापन में, आप मूल प्रशिक्षण को एक छोटे प्रशिक्षण सेट और एक सत्यापन सेट में विभाजित करते हैं। मूल परीक्षण सेट शामिल नहीं है और केवल अंत में उपयोग किया जाता है।
जेरॉक्स

0

यदि आप लास्सो उदाहरण के साथ "एन इंट्रोडक्शन टू स्टैटिस्टिकल लर्निंग" के पेज 225 पर उदाहरण के लिए देखते हैं, तो आप देखते हैं कि वे वास्तव में नेस्ट-वेलिडेशन करते हैं। यानी मॉडल का चयन cv.glmnetएक trainसेट पर किया जाता है , जिसे cv.glmnetपैकेज द्वारा ट्रेन-टेस्ट जोड़े में विभाजित किया जाता है। मॉडल सत्यापन सत्यापन (" test") सेट पर किया जाता है , इसलिए यह स्वतंत्र सत्यापन है।

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