कश्मीर की कश्मीर में गुना मोड़ना की पसंद


136

मैं का उपयोग कर रहे कुछ सीखने वाले एल्गोरिदम के प्रदर्शन का मूल्यांकन करने के लिए कुछ समय अब गुना पार सत्यापन, लेकिन मैं हमेशा मैं कैसे की मूल्य का चयन करना चाहिए के रूप में हैरान किया गया है ।केKK

मैंने अक्सर का मान देखा और उपयोग किया है , लेकिन यह मुझे पूरी तरह से मनमाना लगता है, और मैं अब इसे सोचने के बजाय आदत से सिर्फ उपयोग करता हूं । मेरे लिए ऐसा लगता है कि आपको का मान बेहतर करने के लिए बेहतर ग्रैन्युलैरिटी मिल रही है , इसलिए आदर्श रूप से आपको अपने बहुत बड़ा बनाना चाहिए , लेकिन पक्षपाती होने का भी एक जोखिम है।10 कश्मीर कश्मीरK=1010KK

मैं जानना चाहता हूं कि का मूल्य किस पर निर्भर होना चाहिए, और जब मैं अपने एल्गोरिथ्म का मूल्यांकन करता हूं तो मुझे इस बारे में कैसे सोचना चाहिए। क्या यह कुछ बदल जाता है अगर मैं क्रॉस-सत्यापन के स्तरीकृत संस्करण का उपयोग करता हूं या नहीं?K


जवाबों:


69

के चुनाव हद तक अनियन्त्रित है। यहां बताया गया है कि मैं कैसे तय करता हूं :kk=10k

  • सबसे पहले, सीवी परिणाम के विचरण को कम करने के लिए, आपको नए यादृच्छिक विभाजन के साथ CV को दोहराना / पुनरावृत्त करना चाहिए।
    यह उच्च => अधिक संगणना समय का तर्क काफी हद तक अप्रासंगिक बना देता है, जैसा कि आप वैसे भी कई मॉडलों की गणना करना चाहते हैं। मैं मुख्य रूप से गणना की गई मॉडल की कुल संख्या (बूटस्ट्रैपिंग के अनुरूप) के बारे में सोचता हूं। तो मैं 100 x 10 गुना CV या 200 x 5 गुना CV तय कर सकता हूं।k

  • @ogrisel ने पहले ही समझाया कि आमतौर पर बड़े मतलब कम (निराशावादी) पूर्वाग्रह होता है। (कुछ अपवाद विशेष रूप से , यानी छुट्टी-एक-आउट के लिए जाने जाते हैं)।k = nkk=n

  • यदि संभव हो तो, मैं एक उपयोग करता हूं जो नमूना आकार का एक भाजक है, या नमूने में समूहों का आकार जिसे स्तरीकृत किया जाना चाहिए।k

  • बहुत बड़े मतलब है कि नमूना संयोजनों की केवल कम संख्या संभव है, इस प्रकार पुनरावृत्तियों की संख्या को सीमित करना जो अलग-अलग हैं।k

    • छुट्टी-एक-आउट के लिए: विभिन्न मॉडल / परीक्षण नमूना संयोजन संभव हैं। Iterations का कोई मतलब नहीं है।(n1)=n=k
    • उदाहरण और : different अलग मॉडल / परीक्षण नमूना संयोजन मौजूद हैं। आप में से 19 पुनरावृत्तियों के रूप में यहाँ सभी संभव संयोजनों के माध्यम से जा विचार कर सकते हैं गुना सीवी या 190 मॉडल की कुल बहुत ज्यादा नहीं है।n=20( n = 20)k=10कश्मीर(n=202)=190=19kk
  • इन विचारों का वजन छोटे नमूने के आकार के साथ अधिक होता है। अधिक नमूने उपलब्ध के साथ बहुत ज्यादा मायने नहीं रखता है। संयोजनों की संभावित संख्या जल्द ही काफी बड़ी हो जाती है इसलिए (10) सीवी के 100 पुनरावृत्तियों के दोहराव होने का एक बड़ा जोखिम नहीं है। इसके अलावा, अधिक प्रशिक्षण नमूनों का आमतौर पर मतलब है कि आप सीखने की अवस्था के एक चापलूसी हिस्से में हैं, इसलिए सभी नमूनों पर प्रशिक्षित सरोगेट मॉडल और "वास्तविक" मॉडल के बीच अंतर नगण्य हो जाता है।nkn


6
(+1) विस्तार के लिए, लेकिन (-1) CV की पुनरावृत्ति के लिए मायने रखता है। यह सच है, कि सटीक डुप्लिकेट बनाने (टिप्पणियों के आईडी को देखने) का जोखिम छोटा है (पर्याप्त डेटा आदि दिया गया है), लेकिन पैटर्न / डेटा संरचना डुप्लिकेट बनाने का जोखिम बहुत अधिक है। मैं सीवी को 10 से अधिक बार नहीं दोहराता, कोई फर्क नहीं पड़ता कि क्या है ... बस विचरण के कम आंकने से बचें।
स्टीफन

3
@ ऑस्टेफ़ेन, क्या ओगिसेल ने पहले से ही यह नहीं बताया है: कि (सरोगेट) मॉडल वास्तव में स्वतंत्र नहीं हैं? मैं पूरी तरह से सहमत हूं कि यह मामला है। वास्तव में, मैं (सरोगेट) मॉडल wrt की स्थिरता के संदर्भ में परिणामों की व्याख्या करके इसे ध्यान में रखने की कोशिश करता हूं। "कुछ" नमूनों का आदान-प्रदान करना (जो मैं यहां विस्तृत नहीं करना चाहता था - लेकिन उदाहरण के लिए देखें । आँकड़े ।ackackchange.com/a/26548/4598 )। और मैं मानक त्रुटि की गणना नहीं करता, बल्कि उदाहरण के तौर पर रिपोर्ट करता हूं कि मध्याह्न और से पुनरावृत्तियों में देखी गई त्रुटियों का प्रतिशत। मैं उस बारे में एक अलग प्रश्न पोस्ट करूँगा। 95 टी एच5th95th
cbeleites

2
समझा। मैं सहमत हूं कि सरोगेट की स्थिरता का अनुमान लगाने के लिए दृष्टिकोण वैध है। एक मॉडल एक दूसरे से बेहतर प्रदर्शन करता है या नहीं, यह तय करने के लिए मैंने अनुवर्ती सांख्यिकीय परीक्षण किया था। एक cv तरीके को दोहराते हुए अक्सर एक अल्फा त्रुटि की संभावना अप्रत्याशित रूप से बढ़ जाती है। इसलिए मैं बाहरी सत्यापन के साथ आंतरिक को भ्रमित कर रहा था (जैसा कि डिक्रान ने इसे यहां रखा है )।
स्टीफन

2
@ क्लब: मैं आपसे सहमत हूँ। सीमित नमूना आकार के कारण भिन्नता आमतौर पर मॉडल अनिश्चितता पर हावी होती है।
jpcgandre

2
@jpcgandre: कम से कम वर्गीकरण त्रुटियों के लिए जैसे संवेदनशीलता, विशिष्टता आदि, परीक्षण किए गए मामलों की कुल संख्या के कारण अनिश्चितता की गणना की जा सकती है। हालांकि यह सच है कि यह कुल विचलन का एक हिस्सा है, कम से कम जिन स्थितियों में मैं अपने काम में सामना करता हूं, यह अनिश्चितता अक्सर इतनी बड़ी होती है कि यहां तक ​​कि किसी न किसी तरह का अनुमान भी स्पष्ट करने के लिए पर्याप्त है कि निष्कर्ष गंभीर रूप से सीमित हैं। और यह सीमा बनी रहती है, यह 40x 10 गुना क्रॉस सत्यापन के बजाय 50x 8-सिलवटों या 80x 5-सिलवटों का उपयोग करके दूर नहीं जाएगी।
14:14

37

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

यदि सीखने की अवस्था का ढलान प्रशिक्षण_साइज = कुल डेटासेट का 90% है, तो पूर्वाग्रह को नजरअंदाज किया जा सकता है और K = 10 उचित है।

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

संपादित करें: सत्य प्रत्याशित त्रुटि को कम करके आंका जा रहा है

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


1
क्या आप बड़े साथ उच्च विचरण के बारे में कुछ और बता सकते हैं ? एक पहली सन्निकटन जैसा कि मैंने कहा है चाहते हैं कि सीवी परिणाम की कुल विचरण (= त्रुटि के कुछ प्रकार गणना की सभी से से किसी के द्वारा जांचे गए नमूनों सरोगेट मॉडल) परीक्षण के कारण = विचरण के बीच मतभेद की वजह से नमूने केवल विचरण + मॉडल (अस्थिरता)। मैं क्या खो रहा हूँ? n केknkकेnk
5:12 पर cbeleites

6
विचरण से मेरा मतलब है कि सीवी फोल्ड त्रुटियों के माध्य या माध्य लेने से प्राप्त अनुमानित अपेक्षित परीक्षण त्रुटि का विचरण "सही वितरण" है, सीवी सिलवटों के पार नहीं। जब k बड़ा होता है, तो आप LOO-CV के करीब होते हैं, जो आपके द्वारा निर्धारित विशेष प्रशिक्षण सेट पर बहुत निर्भर करता है: यदि नमूनों की संख्या छोटी है, तो यह सही वितरण का इतना प्रतिनिधि नहीं हो सकता है इसलिए विचरण। जब k बड़ा होता है, k-fold CV प्रशिक्षण सेट के ऐसे मनमाने कठोर नमूनों का अनुकरण कर सकता है।
ओग्रेसिल

8
इसके अतिरिक्त: कोहावी अपने पीएचडी थीसिस के अध्याय 3 में सत्यापन में पूर्वाग्रह-विचरण-व्यापार का अध्ययन करता है । मैं इसकी पुरजोर सलाह देता हूँ।
स्टीफन

3
+1, btw "बड़ा K का अर्थ है उच्च विचरण", जैसा कि मैं इसे समझता हूं, बड़े साथ , सभी प्रशिक्षण सेटों में सामान्य रूप से बड़ा डेटा होगा, इसलिए प्रशिक्षित मॉडल कुछ हद तक सहसंबद्ध होंगे, जिसके परिणामस्वरूप सहसंबंधित परीक्षण त्रुटियां होंगी , तो परीक्षण त्रुटि का मतलब उच्च विचरण होगा, है ना? के के केKKKK
एवोकैडो

हां मुझे लगता है कि यह एक सही अंतर्ज्ञान है।
ऑग्रेसेल

0

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

हालांकि, प्रशिक्षण उदाहरणों की संख्या (कम से कम रैखिक) में उच्च स्पर्शोन्मुख कम्यूटेशनल जटिलता विकास के साथ बड़े प्रशिक्षण सेट और लर्निंग एल्गोरिदम के लिए, मैं सिर्फ K=2इसलिए चयन करता हूं ताकि प्रशिक्षण संख्या के लिए कम्प्यूटेशनल समय में कोई वृद्धि न हो , क्योंकि संख्या में एस्पेक्टोटिक जटिलता रैखिक के साथ। प्रशिक्षण के उदाहरण।


-6

उपाय:

K = N/N*0.30
  • एन = डेटा सेट का आकार
  • के = मोड़ो

टिप्पणी: हम 30% के बजाय 20% भी चुन सकते हैं, आकार के आधार पर आप अपने परीक्षण सेट के रूप में चुनना चाहते हैं।

उदाहरण:

यदि डेटा सेट का आकार: एन = 1500; के = 1500/1500 * 0.30 = 3.33; हम K मान को 3 या 4 के रूप में चुन सकते हैं

ध्यान दें:

क्रॉस-वैल्यूएशन को छोड़ने के लिए बड़े K मूल्य से अधिक फिटिंग का परिणाम होगा। क्रॉस-वैल्यूएशन छोड़ने पर छोटे K का मूल्य अंडर-फिटिंग होगा।

दृष्टिकोण भोला हो सकता है, लेकिन विभिन्न आकारों के डेटा सेट के लिए k = 10 चुनने से बेहतर होगा।


4
NN0.3=10.33.33=const.

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