बूटस्ट्रैप संग्रहण

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

तकनीक का विवरण
एक मानक प्रशिक्षण सेट दिया $$D$$ आकार n का, बैगिंग m नए प्रशिक्षण सेट उत्पन्न करता है $$D_i$$, प्रत्येक आकार n', 𝐷 संभावना वितरण से नमूनाकरण (सांख्यिकी) द्वारा # परिमित समर्थन और नमूनाकरण (सांख्यिकी) के साथ # चयनित इकाइयों का प्रतिस्थापन। प्रतिस्थापन के साथ प्रतिचयन द्वारा, प्रत्येक में कुछ प्रेक्षणों को दोहराया जा सकता है $$D_i$$. यदि nprime (प्रतीक)|′=n, तो बड़े n सेट के लिए $$D_i$$, 𝐷 के अनूठे उदाहरणों का अंश (1 - 1/e (गणितीय स्थिरांक)) (≈63.2%) होने की उम्मीद है, बाकी डुप्लिकेट हैं। इस तरह के नमूने को बूटस्ट्रैप (सांख्यिकी) नमूने के रूप में जाना जाता है। प्रतिस्थापन के साथ नमूनाकरण सुनिश्चित करता है कि प्रत्येक बूटस्ट्रैप अपने साथियों से स्वतंत्र है, क्योंकि यह नमूनाकरण करते समय पिछले चुने हुए नमूनों पर निर्भर नहीं करता है। फिर, एम मॉडल को उपरोक्त एम बूटस्ट्रैप नमूनों का उपयोग करके फिट किया जाता है और आउटपुट (प्रतिगमन के लिए) या वोटिंग (वर्गीकरण के लिए) के औसत से जोड़ा जाता है।

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

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

बूटस्ट्रैप डेटासेट बनाना
बूटस्ट्रैप डेटासेट मूल डेटासेट से अव्यवस्थित ढंग से वस्तुओं को चुनकर बनाया जाता है। साथ ही, यह मूल डेटासेट के समान आकार का होना चाहिए। यद्यपि, अंतर यह है कि बूटस्ट्रैप डेटासेट में डुप्लिकेट ऑब्जेक्ट हो सकते हैं। यह प्रदर्शित करने के लिए सरल उदाहरण है कि यह नीचे दिए गए चित्रण के साथ कैसे काम करता है:

मान लीजिए कि मूल डेटासेट 12 लोगों का समूह है। ये लोग हैं एमिली, जेसी, जॉर्ज, कॉन्स्टेंटाइन, लेक्सी, थियोडोर, जॉन, जेम्स, राहेल, एंथोनी, ऐली और जमाल।

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

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



महत्व
बूटस्ट्रैप और आउट-ऑफ़-बैग डेटासेट बनाना महत्वपूर्ण है क्योंकि इसका उपयोग रैंडम फ़ॉरेस्ट एल्गोरिथम की सटीकता का परीक्षण करने के लिए किया जाता है। उदाहरण के लिए, एक मॉडल जो बूटस्ट्रैप/आउट-ऑफ-बैग डेटासेट का उपयोग करके 50 पेड़ों का उत्पादन करता है, उसके पास 10 पेड़ बनाने की तुलना में अधिक अच्छा सटीकता होगी। चूंकि एल्गोरिदम कई पेड़ उत्पन्न करता है और इसलिए कई डेटासेट बूटस्ट्रैप डेटासेट से किसी ऑब्जेक्ट को छोड़ने का मौका कम होता है। अगले कुछ खंड इस बारे में बात करते हैं कि कैसे रैंडम फ़ॉरेस्ट एल्गोरिथम अधिक विस्तार से काम करता है।

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

नीचे दिया गया चित्र डेटा को वर्गीकृत करने के लिए उपयोग की जाने वाली गहराई दो के एक निर्णय वृक्ष को दर्शाता है। उदाहरण के लिए, एक डेटा पॉइंट जो फ़ीचर 1 को प्रदर्शित करता है, लेकिन फ़ीचर 2 को नहीं, उसे नंबर दिया जाएगा। एक और बिंदु जो फ़ीचर 1 को प्रदर्शित नहीं करता है, लेकिन फ़ीचर 3 को प्रदर्शित करता है, उसे हाँ दिया जाएगा।

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

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

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

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


 * 1) पेड़ों की अधिकतम गहराई निर्दिष्ट करें: अपने यादृच्छिक वन को तब तक प्रचलन में रखने की अनुमति न देने  जब तक कि सभी नोड्स शुद्ध न हों, ओवरफिटिंग की संभावना को और कम करने के लिए इसे एक निश्चित बिंदु पर काट देना अधिक अच्छा है।
 * 2) डेटासेट की छँटाई करें: बहुत बड़े डेटासेट का उपयोग करने से ऐसे परिणाम तैयार हो सकते हैं जो एक छोटे सेट की तुलना में प्रदान किए गए डेटा का कम संकेत देते हैं जो अधिक सटीक रूप से दर्शाता है कि किस पर ध्यान केंद्रित किया जा रहा है।
 * 3) * केवल मूल बैगिंग प्रक्रिया के अतिरिक्त प्रत्येक नोड विभाजन पर डेटा की छंटाई जारी रखें।
 * 4) सटीकता या गति पर निर्णय लें: वांछित परिणामों के आधार पर, जंगल के भीतर पेड़ों की संख्या बढ़ाना या घटाना मदद कर सकता है। पेड़ों की संख्या बढ़ाने से प्रायः अधिक सटीक परिणाम मिलते हैं जबकि पेड़ों की संख्या कम करने से जल्दी परिणाम मिलते हैं।

एल्गोरिथम (वर्गीकरण)
वर्गीकरण के लिए, एक प्रशिक्षण सेट का उपयोग करें $$D$$, प्रेरक $$I$$ और बूटस्ट्रैप नमूनों की संख्या $$m$$ इनपुट के रूप में। एक वर्गीकारक उत्पन्न करें $$C^*$$ आउटपुट के रूप में
 * 1) बनाएं $$m$$ नए प्रशिक्षण सेट  $$D_i$$, से $$D$$ प्रतिस्थापन के साथ
 * 2) वर्गीकारक $$C_i$$ प्रत्येक सेट से बनाया गया है $$D_i$$ का उपयोग करते हुए $$I$$ सेट का वर्गीकरण निर्धारित करने के लिए $$D_i$$
 * 3) अंत में क्लासिफायरियर $$C^*$$ क्लासिफायर के पहले बनाए गए सेट का उपयोग करके उत्पन्न होता है $$C_i$$ मूल डेटा सेट पर $$D$$, उप-वर्गीकरणकर्ताओं द्वारा अक्सर वर्गीकरण की भविष्यवाणी की जाती है $$C_i$$ अंतिम वर्गीकरण है

$$I$$ के लिए = 1 से m { D' = D से बूटस्ट्रैप नमूना (प्रतिस्थापन के साथ नमूना) Ci = I(D') } C*(x) = argmax #{i:Ci(x)=y} (अक्सर पूर्वानुमानित लेबल y)         वाई∈वाई

उदाहरण: ओजोन डेटा
बैगिंग के बुनियादी सिद्धांतों को स्पष्ट करने के लिए, नीचे ओजोन और तापमान के बीच संबंधों पर एक विश्लेषण है (पीटर रूसो और लेरॉय से डेटा) (1986), R (प्रोग्रामिंग लैंग्वेज) में किया गया विश्लेषण)।

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

[[iदाना: ओजोन.पीएनजी|केंद्र मूल डेटा सेट के एक सबसेट के अनुरूप प्रत्येक 100 स्मूथर्स का औसत लेकर, हम एक बैगेड प्रेडिक्टर (लाल रेखा) पर पहुंचते हैं। लाल रेखा का प्रवाह स्थिर है और किसी भी डेटा बिंदु(ओं) के अनुरूप नहीं है।

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

इतिहास
बूटस्ट्रैप एग्रीगेटिंग की अवधारणा बूटस्ट्रैपिंग की अवधारणा से ली गई है जिसे ब्रैडली एफ्रॉन द्वारा विकसित किया गया था।

बूटस्ट्रैप एग्रीगेटिंग लियो ब्रिमन द्वारा प्रस्तावित किया गया था जिन्होंने संक्षिप्त शब्द बैगिंग (बूटस्ट्रैप एग्रीगेटिंग) भी गढ़ा था। ब्रिमन ने अव्यवस्थित ढंग से उत्पन्न प्रशिक्षण सेटों के वर्गीकरण के संयोजन से वर्गीकरण में सुधार करने के लिए 1994 में बैगिंग की अवधारणा विकसित की। उन्होंने तर्क दिया, यदि सीखने के सेट को परेशान करने से भविष्यवाणियों में महत्वपूर्ण परिवर्तन हो सकते हैं, तो बैगिंग सटीकता में सुधार कर सकती है।

यह भी देखें

 * बूस्टिंग (मेटा-एल्गोरिदम)
 * बूटस्ट्रैपिंग (सांख्यिकी)
 * क्रॉस-वैलिडेशन (सांख्यिकी)
 * आउट-ऑफ-बैग त्रुटि
 * अव्यवस्थित जंगल
 * रैंडम सबस्पेस विधि (विशेषता बैगिंग)
 * कुशल फ्रंटियर को फिर से तैयार किया
 * भविष्यवाणी विश्लेषण | भविष्य कहनेवाला विश्लेषण: वर्गीकरण और प्रतिगमन पेड़

अग्रिम पठन

 * ब्रिमन, लियो (1996)। "बैगिंग भविष्यवक्ता"। यंत्र अधिगम। 24 (2): 123-140। साइटसीरएक्स 10.1.1.32.9399। डीओआई: 10.1007/बीएफ00058655। एस2सीआईडी 47328136.
 * अल्फारो, ई., गेमेज़, एम. और गार्सिया, एन. (2012)। "अदाबाग: AdaBoost.M1, AdaBoost-SAMME और बैगिंग के साथ वर्गीकरण के लिए एक R पैकेज"। : जर्नल की आवश्यकता का हवाला दें |जर्नल= (सहायता)
 * कोत्सियंटिस, सॉटिरिस (2014)। "वर्गीकरण समस्याओं से निपटने के लिए बैगिंग और बूस्टिंग वेरिएंट: एक सर्वेक्षण"। ज्ञान अभियांत्रिकी। समीक्षा। 29 (1): 78-100। डीओआई:10.1017/S0269888913000313. एस2सीआईडी 27301684.
 * बोहेमके, ब्राडली; ग्रीनवेल, ब्रैंडन (2019)। "बैगिंग"। आर. चैपमैन एंड हॉल के साथ हैंड्स-ऑन मशीन लर्निंग। पीपी। 191-202। आईएसबीएन 978-1-138-49568-5।