क्रॉस सत्यापन और पैरामीटर अनुकूलन


14

जब मैं 10-गुना क्रॉस सत्यापन का उपयोग करता हूं तो मेरे पास पैरामीटर अनुकूलन के बारे में एक प्रश्न है।

मैं पूछना चाहता हूं कि क्या मापदंडों को हर गुना मॉडल प्रशिक्षण के दौरान ठीक करना चाहिए या नहीं, अर्थात (1) प्रत्येक गुना औसत सटीकता के लिए अनुकूलित मापदंडों में से एक सेट का चयन करें।

या

(२) मुझे हर फोल्ड के लिए अनुकूलित पैरामीटर ढूंढना चाहिए और फिर प्रत्येक फोल्ड अपने मॉडल को प्रशिक्षित करने के लिए अलग-अलग अनुकूलित मापदंडों का उपयोग करता है फिर क्रमशः फोल्ड के टेस्ट डेटा पर परीक्षण करता है, और अंत में परिणाम के रूप में प्रत्येक गुना की सटीकता को औसत करता है?

क्रॉस सत्यापन के लिए कौन सी सही विधि है? बहुत बहुत धन्यवाद।


यह प्रश्न: आंकड़े.stackexchange.com/questions/1826/… के दो शानदार उत्तर (उच्चतम स्कोर) हैं, मुझे लगता है कि वे आपके प्रश्न में आपकी मदद कर सकते हैं। दूसरा वही है जो आप चाहते हैं। OBS: मैं इसे एक टिप्पणी के रूप में लिखना चाहता हूं, लेकिन मैं ऐसा नहीं कर सकता, इसलिए मैंने इसका उत्तर दिया है।
अगस्तो

जवाबों:


11

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

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


क्षमा करें, मैंने जिस प्रकार के पैरामीटर पर सवाल उठाया था, वह हाइपरपरमेटर्स है जैसा आपने कहा था।
केविन

जैसे कि libSVM में पैरामीटर c और g हैं। इसलिए, मुझे प्रत्येक गुना मॉडल को प्रशिक्षित करने के लिए उसी सी और जी का उपयोग करना चाहिए, जैसा कि मैंने ऊपर उल्लेखित विधि (2) को चुना है? आपका बहुत बहुत धन्यवाद।
केविन

2
ऊपर (1) और (2) मेरे लिए स्पष्ट नहीं थे इसलिए मैंने उन्हें स्पष्ट रूप से संदर्भित नहीं किया। आपको सी और जी के स्थान की खोज करनी चाहिए जो आपके कार्य मीट्रिक को अधिकतम करता है जब सिलवटों के पार औसत होता है। इसलिए आप कुछ मानों के लिए सी एंड जी सेट करते हैं, सभी तह पर प्रशिक्षण और परीक्षण प्रक्रिया चलाते हैं, उन्हें औसत करते हैं, उस स्कोर को बनाए रखते हैं, सी या जी को संशोधित करते हैं, और दोहराते हैं। अंततः, आपको सबसे अच्छा c & g मिलता है, और आप अपने सभी डेटा पर अंतिम मॉडल को प्रशिक्षित कर सकते हैं।
जोएल

आपका बहुत बहुत धन्यवाद। मैं जवाबों को संक्षेप में बताने की कोशिश करता हूं। डेटा को 10 गुना में विभाजित किया गया था: fold-1: (train1, test1) ... fold-10: (train10, test10) फिर fold-1 से fold-10 तक ट्रेन और परीक्षण करने के लिए a (c1, g1) का उपयोग करें औसत सभी गुना सटीकता। एक ही प्रक्रिया करने के लिए दूसरा (c2, g2) आज़माएं ... जब तक मुझे सबसे अच्छा नहीं मिल जाता है (c, g)। और सबसे अच्छा (सी, जी) की औसत सटीकता मेरे 10 गुना क्रॉस सत्यापन का परिणाम होगी।
केविन

1
सही लगता है ...
जोएल

16

मुझे लगता है कि वर्तमान में स्वीकृत उत्तर दुर्भाग्यपूर्ण तरीके से अधूरा है। मैं वाक्य से सहमत नहीं हूं

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

यह वास्तव में क्रॉस सत्यापन का एक बहुत महत्वपूर्ण अनुप्रयोग है, लेकिन केवल एक ही नहीं। आमतौर पर, आप दो काम करना चाहते हैं:

  1. आप कर सकते हैं सबसे अच्छा मॉडल बनाएँ
  2. यह कितना अच्छा प्रदर्शन करता है, इसकी सटीक छाप प्राप्त करें

अब, अपने एल्गोरिथ्म के आधार पर उद्देश्य 1 को पूरा करने के लिए आपको कुछ हाइपरपामेटरों को ट्यून करने की आवश्यकता हो सकती है और यह वास्तव में अक्सर क्रॉस सत्यापन द्वारा किया जाता है। लेकिन यह अभी तक आप उद्देश्य 2 के साथ मदद नहीं करता है। इसके लिए आपको मूल रूप से क्रॉस सत्यापन को घोंसला बनाने की आवश्यकता है, जैसे:

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

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


1
एरिक, क्या आप इस प्रक्रिया को करने का एक संदर्भ प्रदान कर सकते हैं?
चाओ

हाय @ एरिक, तो विश्लेषण का सामान्य क्रम होगा (1) क्रॉस-मान्यता के साथ इष्टतम ट्यूनिंग पैरामीटर खोजें, (2) मॉडल मापदंडों को प्राप्त करने के लिए संपूर्ण प्रशिक्षण डेटासेट पर रिटेन मॉडल (प्राप्त ट्यूनिंग मापदंडों के साथ), और (3) ) नेस्टेड क्रॉस-मान्यता का उपयोग करके इस पद्धति का समग्र प्रदर्शन अनुमान देखें? मुझे इस बारे में भ्रम है कि विभिन्न हाइपरपरमेस्टर को nester CV की प्रक्रिया में चुना जा सकता है, इसलिए नेस्टेड CV विशेष रूप से हमारे द्वारा प्राप्त हाइपरपैरमीटर / मॉडल मापदंडों के समग्र प्रदर्शन की जांच नहीं करेगा?
मिशेल

1
मुझे बातचीत करने में थोड़ी देर हो गई है, लेकिन मैं इस विधि को "नेस्टेड" या "डबल क्रॉस- वेलिडेशन " भी कहना चाहता हूं और यहां टॉम फर्न
MD004
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.