क्रॉस-वैधीकरण तकनीकों का संग्रह


43

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

उदाहरण के लिए, मैं सिर्फ एक पुस्तकालय में भागता हूं जो मुझे निम्नलिखित रणनीतियों में से एक चुनने की अनुमति देता है:

  • प्रतिरोध करना
  • बूटस्ट्रैप
  • K क्रॉस-मान्यता
  • एक को छोड़ दो
  • स्तरीकृत क्रॉस सत्यापन
  • संतुलित स्तरीकृत क्रॉस सत्यापन
  • स्तरीकृत पकड़ से बाहर
  • स्तरीकृत बूटस्ट्रैप

और मैं यह समझने की कोशिश कर रहा हूं कि बूटस्ट्रैपिंग में क्या स्तरीकृत और संतुलित मतलब है, पकड़ या सीवी।

हम इस पोस्ट को सामुदायिक विकि में भी बदल सकते हैं, यदि लोग चाहें और यहाँ तकनीकों या टैक्सोनोमीज़ की चर्चा एकत्र करें।


यह महान प्रश्न और भी उपयोगी होगा यदि हम प्रत्येक विधियों के स्पष्टीकरण से जुड़ सकते हैं।
mkt - मोनिका

जवाबों:


16

आप उस सूची में जोड़ सकते हैं:

  • बार-बार सत्यापन करना
  • छुट्टी-समूह-बाहर क्रॉस-मान्यता
  • आउट-ऑफ-बैग (यादृच्छिक जंगलों और अन्य बैग मॉडल के लिए)
  • 632+ बूटस्ट्रैप

मुझे वास्तव में इन तकनीकों का उपयोग करने या उनका उपयोग करने के तरीके के बारे में बहुत सलाह नहीं है। आप CV, बूट, बूट 632, लीव-वन-आउट, लीव-ग्रुप-आउट, और आउट-ऑफ-द-बैग-सत्यापन की तुलना करने के लिए R में कैरेट पैकेज का उपयोग कर सकते हैं ।

सामान्य तौर पर, मैं आमतौर पर बूस्टर का उपयोग करता हूं क्योंकि यह बार-बार के-गुना सीवी, या लीव-वन-आउट सीवी की तुलना में कम कम्प्यूटेशनल रूप से गहन है। Boot632 मेरी पसंद का एल्गोरिथ्म है क्योंकि इसमें बूटस्ट्रैप की तुलना में बहुत अधिक संगणना की आवश्यकता नहीं होती है, और कुछ स्थितियों में क्रॉस-मान्यता या मूल बूटस्टैप से बेहतर होना दिखाता है।

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


3
इनमें से प्रत्येक का उपयोग करने के संबंध में कोई सलाह?
whuber

16

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

जहां तक ​​मुझे पता है, 10-गुना CV बहुत अधिक डी रिग्युर है, क्योंकि यह आपके डेटा का कुशलतापूर्वक उपयोग करता है और अशुभ विभाजन विकल्पों से बचने में भी मदद करता है। होल्ड आउट आपके डेटा का कुशल उपयोग नहीं करता है, और LOO उतना मजबूत (या ऐसा कुछ) नहीं है, लेकिन 10-ish-fold सिर्फ सही है।

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

K- गुना CV पर इन सभी विविधताओं को प्रतिस्थापन के बिना आपके डेटा से चुनें। बूटस्ट्रैप प्रतिस्थापन के साथ डेटा चुनता है, इसलिए एक ही डेटम को कई बार शामिल किया जा सकता है और कुछ डेटा को बिल्कुल भी शामिल नहीं किया जा सकता है। (प्रत्येक "विभाजन" में K- गुना के विपरीत N आइटम भी होंगे, जिसमें प्रत्येक विभाजन में N / K आइटम होंगे।)

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

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


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

2
"कुशल" से मेरा मतलब है कि यह आपके डेटा का कुशलता से उपयोग नहीं करता है। के-गुना सीवी की सुंदरता यह है कि आपके डेटा का 100% प्रशिक्षण के लिए उपयोग किया जाता है और आपके डेटा का 100% परीक्षण के लिए उपयोग किया जाता है, जो आपके डेटा का कुशल उपयोग करता है। कुंजी, ज़ाहिर है, कि आपके सभी डेटा को एक ही समय में परीक्षण और प्रशिक्षण के लिए उपयोग नहीं किया जाता है, जिससे रास्ता-आशावादी परीक्षा परिणाम (ओवरफिटिंग) निकलेंगे। एक स्टैटिक डिवीजन बनाकर, होल्ड आउट कहता है कि, अपने डेटा का 1/3 भाग कभी भी प्रशिक्षण के लिए उपयोग नहीं किया जाएगा, और आपके डेटा का 2/3 कभी भी परीक्षण के लिए उपयोग नहीं किया जाएगा, जिससे आपके डेटा की बहुत सारी जानकारी नष्ट हो जाएगी।
वेन

@Wayne holdout आकलनकर्ता नहीं है asymptotically निष्पक्ष? इसके अलावा, सरल के-गुना सीवी टाइप-सी-सीवी की तुलना में II त्रुटि टाइप करने के लिए अधिक प्रवण है।
chl

@chl: मेरा मानना ​​है कि आप दोनों मायने में सही हैं। मैंने बार-बार K-fold CV का उपयोग नहीं किया है, लेकिन इसमें कम विचरण होना चाहिए, जो मदद करेगा।
वेन

3

मुझे विकिपीडिया लेख से जुड़ा एक संदर्भ काफी उपयोगी लगा

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.48.529&rep=rep1&type=pdf

"सटीकता आकलन और मॉडल चयन के लिए क्रॉस-मान्यता और बूटस्ट्रैप का एक अध्ययन", रॉन कोहावी, IJCAI95

इसमें सीवी तकनीकों के सबसेट के लिए एक अनुभवजन्य तुलना शामिल है। टीएल; ड्रू संस्करण मूल रूप से "10-गुना सीवी का उपयोग करें" है।


1

... और उनमें से प्रत्येक का उपयोग करने पर एक गाइड ...

दुर्भाग्य से यह समस्या कठिन है, क्योंकि इसका श्रेय जाता है। क्रॉस-मान्यता के कम से कम 2 मुख्य उपयोग हैं: एक मॉडल का चयन करना, और मॉडल के प्रदर्शन का मूल्यांकन करना।

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

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

देखें शाओ (1993), "क्रॉस-मान्यता द्वारा लीनियर मॉडल चयन" रेखीय प्रतीपगमन मामले में बड़े asymptotic सिद्धांत के लिए। यांग (2007), "कंप्रेशन रिग्रेशन प्रोसीजर के लिए क्रॉस वैलिडेशन की संगति" और यांग (2006), "कम्पेरिजन लर्निंग मेथड्स फॉर क्लासिफिकेशन" अधिक सामान्य प्रतिगमन और वर्गीकरण समस्याओं के लिए एसिम्प्टोटिक सिद्धांत देते हैं। लेकिन कठोर परिमित-नमूना सलाह द्वारा आना मुश्किल है।

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