बूटस्ट्रैप संग्रहण: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Ensemble method within machine learning}}बूटस्ट्रैप एग्रीगेटिंग, जिसे बैगिंग (बूटस्ट्रैप एग्रीगेटिंग से) भी कहा जाता है, एक | {{Short description|Ensemble method within machine learning}}बूटस्ट्रैप एग्रीगेटिंग, जिसे बैगिंग (बूटस्ट्रैप एग्रीगेटिंग से) भी कहा जाता है, एक [[मेटा-एल्गोरिथ्म]] [[सीखने को इकट्ठा करो|का एकत्रीकरण]] है जिसे स्टैबिलिटी (लर्निंग थ्योरी) और [[सांख्यिकीय वर्गीकरण]] और रिग्रेशन विश्लेषण में उपयोग किए जाने वाले [[ यंत्र अधिगम |यंत्र अधिगम]] एल्गोरिदम की सटीकता में सुधार करने के लिए डिज़ाइन किया गया है। यह विचरण को भी कम करता है और [[ overfitting |ओवरफट्टिंग]] से बचने में मदद करता है। यद्यपि यह प्रायः निर्णय ट्री सीखने के तरीकों पर क्रियान्वित होता है, लेकिन इसका उपयोग किसी भी प्रकार की विधि के साथ किया जा सकता है। बैगिंग एन्सेम्बल लर्निंग अप्रोच का एक विशेष घटना है। | ||
== यांत्रिकी का विवरण == | == यांत्रिकी का विवरण == | ||
एक मानक [[प्रशिक्षण सेट]] दिया <math>D</math> आकार n का, बैगिंग m नए प्रशिक्षण सेट उत्पन्न करता है <math>D_i</math>, प्रत्येक आकार n', 𝐷 संभावना वितरण से [[नमूनाकरण (सांख्यिकी)]] द्वारा | एक मानक [[प्रशिक्षण सेट]] दिया <math>D</math> आकार n का, बैगिंग m नए प्रशिक्षण सेट उत्पन्न करता है <math>D_i</math>, प्रत्येक आकार n', 𝐷 संभावना वितरण से [[नमूनाकरण (सांख्यिकी)]] द्वारा परिमित समर्थन और नमूनाकरण (सांख्यिकी) के साथ चयनित इकाइयों का प्रतिस्थापन के साथ प्रतिचयन द्वारा, प्रत्येक <math>D_i</math> में कुछ प्रेक्षणों को दोहराया जा सकता है यदि n′=n, तो बड़े n सेट के लिए <math>D_i</math>, 𝐷 के अनूठे उदाहरणों का अंश (1 - 1/e (गणितीय स्थिरांक)) (≈63.2%) होने की आशा है, बाकी डुप्लिकेट हैं।<ref>Aslam, Javed A.; Popa, Raluca A.; and Rivest, Ronald L. (2007); [http://people.csail.mit.edu/rivest/pubs/APR07.pdf ''On Estimating the Size and Confidence of a Statistical Audit''], Proceedings of the Electronic Voting Technology Workshop (EVT '07), Boston, MA, August 6, 2007. More generally, when drawing with replacement ''n′'' values out of a set of ''n'' (different and equally likely), the expected number of unique draws is <math>n(1 - e^{-n'/n})</math>.</ref> इस तरह के नमूने को [[बूटस्ट्रैप (सांख्यिकी)]] नमूने के रूप में जाना जाता है। प्रतिस्थापन के साथ नमूनाकरण सुनिश्चित करता है कि प्रत्येक बूटस्ट्रैप अपने साथियों से स्वतंत्र है, क्योंकि यह नमूनाकरण करते समय पिछले चुने हुए नमूनों पर निर्भर नहीं करता है। दोबारा , एम मॉडल को उपरोक्त एम बूटस्ट्रैप नमूनों का उपयोग करके उपयुक्त किया जाता है और आउटपुट (प्रतिगमन के लिए) या वोटिंग (वर्गीकरण के लिए) के औसत से जोड़ा जाता है। | ||
[[File:Ensemble Bagging.svg|thumb|center|upright=2.0|बूटस्ट्रैप एग्रीगेटिंग की अवधारणा के लिए एक उदाहरण]]बैगिंग से अस्थिर प्रक्रियाओं में सुधार होता है,<ref name=":0">{{cite journal|last=Breiman|first=Leo|author-link=Leo Breiman|year=1996|title=बैगिंग भविष्यवक्ता|journal=[[Machine Learning (journal)|Machine Learning]]|volume=24|issue=2|pages=123–140|citeseerx=10.1.1.32.9399|doi=10.1007/BF00058655|s2cid=47328136}}</ref> जिसमें सम्मिलित हैं, उदाहरण के लिए, कृत्रिम तंत्रिका नेटवर्क, वर्गीकरण और प्रतिगमन | [[File:Ensemble Bagging.svg|thumb|center|upright=2.0|बूटस्ट्रैप एग्रीगेटिंग की अवधारणा के लिए एक उदाहरण]]बैगिंग से अस्थिर प्रक्रियाओं में सुधार होता है,<ref name=":0">{{cite journal|last=Breiman|first=Leo|author-link=Leo Breiman|year=1996|title=बैगिंग भविष्यवक्ता|journal=[[Machine Learning (journal)|Machine Learning]]|volume=24|issue=2|pages=123–140|citeseerx=10.1.1.32.9399|doi=10.1007/BF00058655|s2cid=47328136}}</ref> जिसमें सम्मिलित हैं, उदाहरण के लिए, कृत्रिम तंत्रिका नेटवर्क, वर्गीकरण और प्रतिगमन ट्री, और रैखिक प्रतिगमन में सबसेट चयन<ref name=":1" />बैगिंग को प्रीइमेज लर्निंग को अपेक्षाकृत अच्छा बनाने के लिए दिखाया गया था।<ref>Sahu, A., Runger, G., Apley, D., [https://www.researchgate.net/profile/Anshuman_Sahu/publication/254023773_Image_denoising_with_a_multi-phase_kernel_principal_component_approach_and_an_ensemble_version/links/5427b5e40cf2e4ce940a4410/Image-denoising-with-a-multi-phase-kernel-principal-component-approach-and-an-ensemble-version.pdf Image denoising with a multi-phase kernel principal component approach and an ensemble version], IEEE Applied Imagery Pattern Recognition Workshop, pp.1-7, 2011.</ref><ref>Shinde, Amit, Anshuman Sahu, Daniel Apley, and George Runger. "[https://www.researchgate.net/profile/Anshuman_Sahu/publication/263388433_Preimages_for_variation_patterns_from_kernel_PCA_and_bagging/links/5427b3930cf26120b7b35ebd/Preimages-for-variation-patterns-from-kernel-PCA-and-bagging.pdf Preimages for Variation Patterns from Kernel PCA and Bagging]." IIE Transactions, Vol.46, Iss.5, 2014</ref> दूसरी ओर, यह के-निकटतम पड़ोसियों जैसे स्थिर तरीकों के प्रदर्शन को हल्का कर सकता है।<ref name=":0" /> | ||
== एल्गोरिथ्म की प्रक्रिया == | == एल्गोरिथ्म की प्रक्रिया == | ||
Line 23: | Line 23: | ||
=== महत्व === | === महत्व === | ||
बूटस्ट्रैप और आउट-ऑफ़-बैग डेटासेट बनाना महत्वपूर्ण है क्योंकि इसका उपयोग अनियमित जंगल एल्गोरिथम की सटीकता का परीक्षण करने के लिए किया जाता है। उदाहरण के लिए, एक मॉडल जो बूटस्ट्रैप/आउट-ऑफ-बैग डेटासेट का उपयोग करके 50 | बूटस्ट्रैप और आउट-ऑफ़-बैग डेटासेट बनाना महत्वपूर्ण है क्योंकि इसका उपयोग अनियमित जंगल एल्गोरिथम की सटीकता का परीक्षण करने के लिए किया जाता है। उदाहरण के लिए, एक मॉडल जो बूटस्ट्रैप/आउट-ऑफ-बैग डेटासेट का उपयोग करके 50 ट्रीों का उत्पादन करता है, उसके पास 10 ट्री बनाने की तुलना में अपेक्षाकृत अच्छी सटीकता होगी। चूंकि एल्गोरिदम कई ट्री उत्पन्न करता है और इसलिए कई डेटासेट बूटस्ट्रैप डेटासेट से किसी ऑब्जेक्ट को छोड़ने का अवसर कम होता है। अगले कुछ खंड इस बारे में बात करते हैं कि कैसे अनियमित जंगल एल्गोरिथम अधिक विस्तार से काम करता है। | ||
===[[निर्णय वृक्ष]] का निर्माण === | ===[[निर्णय वृक्ष|निर्णय ट्री]] का निर्माण === | ||
एल्गोरिथम के अगले चरण में बूटस्ट्रैप किए गए डेटासेट से निर्णय | एल्गोरिथम के अगले चरण में बूटस्ट्रैप किए गए डेटासेट से निर्णय ट्री बनाना सम्मिलित है। इसे प्राप्त करने के लिए, प्रक्रिया प्रत्येक जीन/फीचर की जांच करती है और यह निर्धारित करती है कि फीचर की उपस्थिति या अनुपस्थिति के कितने नमूने सकारात्मक या नकारात्मक परिणाम देते हैं। इस जानकारी का उपयोग तब भ्रम मैट्रिक्स की गणना करने के लिए किया जाता है, जो क्लासिफायर के रूप में उपयोग किए जाने पर वास्तविक सकारात्मक, झूठी सकारात्मक, वास्तविक नकारात्मक और सुविधा के झूठे नकारात्मक को सूचीबद्ध करता है। इन सुविधाओं को दोबारा उनके भ्रम मैट्रिक्स के आधार पर विभिन्न निर्णय ट्री सीखने के अनुसार क्रमबद्ध किया जाता है। कुछ सामान्य मेट्रिक्स में सकारात्मक शुद्धता का अनुमान (वास्तविक सकारात्मक से झूठी सकारात्मक घटाकर गणना), अच्छाई का माप और [[निर्णय पेड़ों में सूचना लाभ|निर्णय ट्रीों में सूचना लाभ]] सम्मिलित हैं। दोबारा इन सुविधाओं का उपयोग नमूनों को दो सेटों में विभाजित करने के लिए किया जाता है: वे जिनके पास शीर्ष विशेषता है, और जिनके पास नहीं है। | ||
नीचे दिया गया चित्र डेटा को वर्गीकृत करने के लिए उपयोग की जाने वाली गहराई दो के एक निर्णय | नीचे दिया गया चित्र डेटा को वर्गीकृत करने के लिए उपयोग की जाने वाली गहराई दो के एक निर्णय ट्री को दर्शाता है। उदाहरण के लिए, एक डेटा पॉइंट जो फ़ीचर 1 को प्रदर्शित करता है, लेकिन फ़ीचर 2 को नहीं, उसे नंबर दिया जाएगा। एक और बिंदु जो फ़ीचर 1 को प्रदर्शित नहीं करता है, लेकिन फ़ीचर 3 को प्रदर्शित करता है, उसे हाँ दिया जाएगा। | ||
[[File:Decision_Tree_Depth_2.png|निर्णय वृक्ष की गहराई 2]] | [[File:Decision_Tree_Depth_2.png|निर्णय वृक्ष की गहराई 2]] वांछित गहराई तक पहुंचने तक ट्री के क्रमिक स्तरों के लिए इस प्रक्रिया को पुनरावर्ती रूप से दोहराया जाता है। ट्री के बिल्कुल नीचे, जो नमूने अंतिम विशेषता के लिए सकारात्मक परीक्षण करते हैं, उन्हें प्रायः सकारात्मक के रूप में वर्गीकृत किया जाता है, जबकि जिन लोगों में विशेषता की कमी होती है उन्हें नकारात्मक के रूप में वर्गीकृत किया जाता है।<ref name=":2">{{Citation|title=Decision tree learning|date=2021-11-29|url=https://en.wikipedia.org/w/index.php?title=Decision_tree_learning&oldid=1057681416|work=Wikipedia|language=en|access-date=2021-11-29}}</ref> दोबारा इन ट्रीों को नए डेटा को वर्गीकृत करने के लिए भविष्यवाणियों के रूप में उपयोग किया जाता है। | ||
===[[यादृच्छिक वन]] === | ===[[यादृच्छिक वन]] === | ||
एल्गोरिथम के अगले भाग में बूटस्ट्रैप्ड | एल्गोरिथम के अगले भाग में बूटस्ट्रैप्ड ट्रीों के बीच परिवर्तनशीलता के एक और तत्व को सम्मिलित करना है। प्रत्येक ट्री के अलावा केवल नमूनों के बूटस्ट्रैप किए गए सेट की जांच करते हुए, क्लासिफायर के रूप में रैंकिंग करते समय केवल एक छोटी लेकिन लगातार अनूठी विशेषताओं पर विचार किया जाता है। इसका अर्थ यह है कि प्रत्येक ट्री केवल एक छोटी स्थिर संख्या से संबंधित डेटा के बारे में जानता है, और नमूनों की एक चर संख्या जो मूल डेटासेट से कम या उसके बराबर है। नतीजतन, ट्री अधिक विविध ज्ञान से प्राप्त उत्तरों की एक विस्तृत श्रृंखला वापस करने की अधिक संभावना रखते हैं। इसका परिणाम एक यादृच्छिक वन में होता है, जिसमें यादृच्छिकता के बिना उत्पन्न एकल निर्णय ट्री पर कई लाभ होते हैं। एक यादृच्छिक जंगल में, प्रत्येक ट्री अपनी विशेषताओं के आधार पर नमूने को सकारात्मक के रूप में वर्गीकृत करने या न करने के लिए मतदान करता है। नमूना तब बहुमत वोट के आधार पर वर्गीकृत किया जाता है। इसका एक उदाहरण नीचे दिए गए आरेख में दिया गया है, जहां एक यादृच्छिक वन में चार ट्री म्यूटेशन ए, बी, एफ और जी वाले रोगी को कैंसर है या नहीं, इस पर मतदान करते हैं। क्योंकि चार में से तीन ट्री हाँ कहते हैं, तब रोगी को कैंसर पॉजिटिव के रूप में वर्गीकृत किया जाता है। | ||
[[File:Random Forest Diagram Extra Wide.png|center|frameकम|1035x1035पीएक्स]]उनके गुणों के कारण, यादृच्छिक जंगलों को सबसे सटीक डेटा माइनिंग एल्गोरिदम में से एक माना जाता है, उनके डेटा को ओवरउपयुक्त करने की संभावना कम होती है, और बड़े डेटासेट के लिए भी जल्दी और कुशलता से चलते हैं।<ref>{{Cite web|title=यादृच्छिक वन - वर्गीकरण विवरण|url=https://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm|access-date=2021-12-09|website=www.stat.berkeley.edu}}</ref> प्रतिगमन विश्लेषण के विपरीत वे वर्गीकरण के लिए मुख्य रूप से उपयोगी होते हैं, जो डेटासेट में सांख्यिकीय चर के बीच देखे गए कनेक्शन को आकर्षित करने का प्रयास करता है। यह बैंकिंग, स्वास्थ्य सेवा, शेयर बाजार और [[ई-कॉमर्स]] जैसे क्षेत्रों में यादृच्छिक वनों को विशेष रूप से उपयोगी बनाता है जहां पिछले डेटा के आधार पर भविष्य के परिणामों की भविष्यवाणी करने में सक्षम होना महत्वपूर्ण है।<ref name=":4">{{Cite web|title=मशीन लर्निंग में रैंडम फ़ॉरेस्ट का परिचय|url=https://www.section.io/engineering-education/introduction-to-random-forest-in-machine-learning/|access-date=2021-12-09|website=Engineering Education (EngEd) Program {{!}} Section|language=en-us}}</ref> उनके अनुप्रयोगों में से एक आनुवंशिक कारकों के आधार पर कैंसर की भविष्यवाणी करने के लिए एक उपयोगी उपकरण के रूप में होगा, जैसा कि उपरोक्त उदाहरण में देखा गया है। | [[File:Random Forest Diagram Extra Wide.png|center|frameकम|1035x1035पीएक्स]]उनके गुणों के कारण, यादृच्छिक जंगलों को सबसे सटीक डेटा माइनिंग एल्गोरिदम में से एक माना जाता है, उनके डेटा को ओवरउपयुक्त करने की संभावना कम होती है, और बड़े डेटासेट के लिए भी जल्दी और कुशलता से चलते हैं।<ref>{{Cite web|title=यादृच्छिक वन - वर्गीकरण विवरण|url=https://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm|access-date=2021-12-09|website=www.stat.berkeley.edu}}</ref> प्रतिगमन विश्लेषण के विपरीत वे वर्गीकरण के लिए मुख्य रूप से उपयोगी होते हैं, जो डेटासेट में सांख्यिकीय चर के बीच देखे गए कनेक्शन को आकर्षित करने का प्रयास करता है। यह बैंकिंग, स्वास्थ्य सेवा, शेयर बाजार और [[ई-कॉमर्स]] जैसे क्षेत्रों में यादृच्छिक वनों को विशेष रूप से उपयोगी बनाता है जहां पिछले डेटा के आधार पर भविष्य के परिणामों की भविष्यवाणी करने में सक्षम होना महत्वपूर्ण है।<ref name=":4">{{Cite web|title=मशीन लर्निंग में रैंडम फ़ॉरेस्ट का परिचय|url=https://www.section.io/engineering-education/introduction-to-random-forest-in-machine-learning/|access-date=2021-12-09|website=Engineering Education (EngEd) Program {{!}} Section|language=en-us}}</ref> उनके अनुप्रयोगों में से एक आनुवंशिक कारकों के आधार पर कैंसर की भविष्यवाणी करने के लिए एक उपयोगी उपकरण के रूप में होगा, जैसा कि उपरोक्त उदाहरण में देखा गया है। | ||
यादृच्छिक वन डिजाइन करते समय विचार करने के लिए कई महत्वपूर्ण कारक हैं। यदि यादृच्छिक जंगलों में | यादृच्छिक वन डिजाइन करते समय विचार करने के लिए कई महत्वपूर्ण कारक हैं। यदि यादृच्छिक जंगलों में ट्री बहुत गहरे हैं, तो अति-विशिष्टता के कारण ओवरफट्टिंग अभी भी हो सकती है। यदि जंगल बहुत बड़ा है, तो एल्गोरिथम बढ़े हुए क्रम के कारण कम कुशल हो सकता है। अनियमित जंगल भी प्रायः तब अच्छा प्रदर्शन नहीं करते हैं जब थोड़ी परिवर्तनशीलता के साथ विरल डेटा दिया जाता है।<ref name=":4" />यद्यपि , उनके पास समान डेटा वर्गीकरण एल्गोरिदम जैसे [[तंत्रिका नेटवर्क]] पर अभी भी कई लाभ हैं, क्योंकि वे व्याख्या करने में बहुत आसान हैं और प्रायः प्रशिक्षण के लिए कम डेटा की आवश्यकता होती है।<ref>{{Cite web|last=Montantes|first=James|date=2020-02-04|title=3 Reasons to Use Random Forest Over a Neural Network–Comparing Machine Learning versus Deep…|url=https://towardsdatascience.com/3-reasons-to-use-random-forest-over-a-neural-network-comparing-machine-learning-versus-deep-f9d65a154d89|access-date=2021-12-09|website=Medium|language=en}}</ref> यादृच्छिक वनों के एक अभिन्न अंग के रूप में, बूटस्ट्रैप एकत्रीकरण वर्गीकरण एल्गोरिदम के लिए बहुत महत्वपूर्ण है, और परिवर्तनशीलता का एक महत्वपूर्ण तत्व प्रदान करता है जो नए डेटा का विश्लेषण करते समय बढ़ी हुई सटीकता की अनुमति देता है, जैसा कि नीचे चर्चा की गई है। | ||
== अनियमित जंगल में सुधार और बैगिंग == | == अनियमित जंगल में सुधार और बैगिंग == | ||
जबकि ऊपर वर्णित यांत्रिकीें यादृच्छिक वनों और [[बूटस्ट्रैपिंग]] (अन्यथा बूटस्ट्रैपिंग के रूप में जानी जाती हैं) का उपयोग करती हैं, कुछ यांत्रिकीें हैं जिनका उपयोग उनके निष्पादन और मतदान के समय, उनकी भविष्यवाणी सटीकता और उनके समग्र प्रदर्शन को अपेक्षाकृत अच्छा बनाने के लिए किया जा सकता है। एक कुशल यादृच्छिक वन बनाने के लिए निम्नलिखित महत्वपूर्ण कदम हैं: | जबकि ऊपर वर्णित यांत्रिकीें यादृच्छिक वनों और [[बूटस्ट्रैपिंग]] (अन्यथा बूटस्ट्रैपिंग के रूप में जानी जाती हैं) का उपयोग करती हैं, कुछ यांत्रिकीें हैं जिनका उपयोग उनके निष्पादन और मतदान के समय, उनकी भविष्यवाणी सटीकता और उनके समग्र प्रदर्शन को अपेक्षाकृत अच्छा बनाने के लिए किया जा सकता है। एक कुशल यादृच्छिक वन बनाने के लिए निम्नलिखित महत्वपूर्ण कदम हैं: | ||
# | # ट्रीों की अधिकतम गहराई निर्दिष्ट करें: अपने यादृच्छिक वन को तब तक प्रचलन में रखने की अनुमति न दे जब तक कि सभी नोड्स शुद्ध न हों, ओवरफट्टिंग की संभावना को और कम करने के लिए इसे एक निश्चित बिंदु पर काट देना अपेक्षाकृत अच्छा है। | ||
# डेटासेट की छँटाई करें: बहुत बड़े डेटासेट का उपयोग करने से ऐसे परिणाम तैयार हो सकते हैं जो एक छोटे सेट की तुलना में प्रदान किए गए डेटा का कम संकेत देते हैं जो अधिक सटीक रूप से दर्शाता है कि किस पर ध्यान केंद्रित किया जा रहा है। | # डेटासेट की छँटाई करें: बहुत बड़े डेटासेट का उपयोग करने से ऐसे परिणाम तैयार हो सकते हैं जो एक छोटे सेट की तुलना में प्रदान किए गए डेटा का कम संकेत देते हैं जो अधिक सटीक रूप से दर्शाता है कि किस पर ध्यान केंद्रित किया जा रहा है। | ||
#* केवल मूल बैगिंग प्रक्रिया के अतिरिक्त | #* केवल मूल बैगिंग प्रक्रिया के अतिरिक्त प्रत्येक नोड विभाजन पर डेटा की छंटाई संचालित रखें। | ||
# सटीकता या गति पर निर्णय लें: वांछित परिणामों के आधार पर, जंगल के भीतर | # सटीकता या गति पर निर्णय लें: वांछित परिणामों के आधार पर, जंगल के भीतर ट्रीों की संख्या बढ़ाना या घटाना मदद कर सकता है। ट्रीों की संख्या बढ़ाने से प्रायः अधिक सटीक परिणाम मिलते हैं जबकि ट्रीों की संख्या कम करने से जल्दी परिणाम मिलते हैं। | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 61: | Line 61: | ||
|- | |- | ||
|Works well with non-linear data. As most tree based algorithms use linear splits, using an ensemble of a set of trees works better than using a single tree on data that has nonlinear properties (ie most real world distributions). Working well with non-linear data is a huge advantage because other data mining techniques such as single decision trees do not handle this as well. | |Works well with non-linear data. As most tree based algorithms use linear splits, using an ensemble of a set of trees works better than using a single tree on data that has nonlinear properties (ie most real world distributions). Working well with non-linear data is a huge advantage because other data mining techniques such as single decision trees do not handle this as well. | ||
|Much easier to interpret than a random forest. | |Much easier to interpret than a random forest. A single tree can be walked by hand (by a human) leading to a somewhat "explainable" understanding for the analyst of what the tree is actually doing. As the number of trees and schemes grow for ensembling those trees into predictions, this reviewing becomes much more difficult if not impossible. | ||
|- | |- | ||
|There is a lower risk of [[overfitting]] and runs efficiently on even large data sets.<ref>{{Cite web|last=Team|first=Towards AI|title=Why Choose Random Forest and Not Decision Trees – Towards AI — The World's Leading AI and Technology Publication|url=https://towardsai.net/p/machine-learning/why-choose-random-forest-and-not-decision-trees,%20https://towardsai.net/p/machine-learning/why-choose-random-forest-and-not-decision-trees|access-date=2021-11-26|language=en-US}}</ref> This is the result of the random forest's use of bagging in conjunction with random feature selection. | |There is a lower risk of [[overfitting]] and runs efficiently on even large data sets.<ref>{{Cite web|last=Team|first=Towards AI|title=Why Choose Random Forest and Not Decision Trees – Towards AI — The World's Leading AI and Technology Publication|url=https://towardsai.net/p/machine-learning/why-choose-random-forest-and-not-decision-trees,%20https://towardsai.net/p/machine-learning/why-choose-random-forest-and-not-decision-trees|access-date=2021-11-26|language=en-US}}</ref> This is the result of the random forest's use of bagging in conjunction with random feature selection. | ||
Line 76: | Line 76: | ||
== एल्गोरिथम (वर्गीकरण) == | == एल्गोरिथम (वर्गीकरण) == | ||
[[File:Bagging for Classification with descripitons.png|thumb|वर्गीकरण के लिए उपयोग किए जाने पर बैगिंग एल्गोरिथम का फ़्लो चार्ट]]वर्गीकरण के लिए, एक प्रशिक्षण सेट का उपयोग करें <math>D</math>, प्रेरक <math>I</math> और बूटस्ट्रैप नमूनों की संख्या <math>m</math> इनपुट के रूप में। एक वर्गीकारक उत्पन्न करें <math>C^*</math> आउटपुट के रूप में<ref name="Bauer">{{cite journal|last1=Bauer|first1=Eric|last2=Kohavi|first2=Ron|date=1999|title=An Empirical Comparison of Voting Classification Algorithms: Bagging, Boosting, and Variants|journal=Machine Learning|volume=36|pages=108–109|doi=10.1023/A:1007515423169|s2cid=1088806|doi-access=free}}</ref> | [[File:Bagging for Classification with descripitons.png|thumb|वर्गीकरण के लिए उपयोग किए जाने पर बैगिंग एल्गोरिथम का फ़्लो चार्ट]]वर्गीकरण के लिए, एक प्रशिक्षण सेट का उपयोग करें <math>D</math>, प्रेरक <math>I</math> और बूटस्ट्रैप नमूनों की संख्या <math>m</math> इनपुट के रूप में। एक वर्गीकारक उत्पन्न करें <math>C^*</math> आउटपुट के रूप में<ref name="Bauer">{{cite journal|last1=Bauer|first1=Eric|last2=Kohavi|first2=Ron|date=1999|title=An Empirical Comparison of Voting Classification Algorithms: Bagging, Boosting, and Variants|journal=Machine Learning|volume=36|pages=108–109|doi=10.1023/A:1007515423169|s2cid=1088806|doi-access=free}}</ref> | ||
# बनाएं <math>m</math> नए प्रशिक्षण सेट | # बनाएं <math>m</math> नए प्रशिक्षण सेट <math>D_i</math>, से <math>D</math> प्रतिस्थापन के साथ | ||
# वर्गीकारक <math>C_i</math> प्रत्येक सेट से बनाया गया है <math>D_i</math> का उपयोग करते हुए <math>I</math> सेट का वर्गीकरण निर्धारित करने के लिए <math>D_i</math> | # वर्गीकारक <math>C_i</math> प्रत्येक सेट से बनाया गया है <math>D_i</math> का उपयोग करते हुए <math>I</math> सेट का वर्गीकरण निर्धारित करने के लिए <math>D_i</math> | ||
# अंत में क्लासिफायरियर <math>C^*</math> क्लासिफायर के पहले बनाए गए सेट का उपयोग करके उत्पन्न होता है <math>C_i</math> मूल डेटा सेट पर <math>D</math>, उप-वर्गीकरणकर्ताओं द्वारा अक्सर वर्गीकरण की भविष्यवाणी की जाती है <math>C_i</math> अंतिम वर्गीकरण है | # अंत में क्लासिफायरियर <math>C^*</math> क्लासिफायर के पहले बनाए गए सेट का उपयोग करके उत्पन्न होता है <math>C_i</math> मूल डेटा सेट पर <math>D</math>, उप-वर्गीकरणकर्ताओं द्वारा अक्सर वर्गीकरण की भविष्यवाणी की जाती है <math>C_i</math> अंतिम वर्गीकरण है | ||
Line 82: | Line 82: | ||
<math>I</math> के लिए = 1 से m { | <math>I</math> के लिए = 1 से m { | ||
D' = D से बूटस्ट्रैप नमूना (प्रतिस्थापन के साथ नमूना) | |||
Ci = I(D') | |||
} | } | ||
C*(x) = argmax #{i:Ci(x)=y} (अक्सर पूर्वानुमानित लेबल y) | C*(x) = argmax #{i:Ci(x)=y} (अक्सर पूर्वानुमानित लेबल y) | ||
वाई∈वाई | |||
== उदाहरण: [[ओजोन]] डेटा == | == उदाहरण: [[ओजोन]] डेटा == | ||
बैगिंग के बुनियादी सिद्धांतों को स्पष्ट करने के लिए, नीचे ओजोन और तापमान के बीच संबंधों पर एक विश्लेषण है ([[पीटर रूसो]] और लेरॉय से डेटा){{clarify|date=May 2021}} (1986), R (प्रोग्रामिंग लैंग्वेज) में किया गया विश्लेषण)। | बैगिंग के बुनियादी सिद्धांतों को स्पष्ट करने के लिए, नीचे ओजोन और तापमान के बीच संबंधों पर एक विश्लेषण है ([[पीटर रूसो]] और लेरॉय से डेटा){{clarify|date=May 2021}} (1986), R (प्रोग्रामिंग लैंग्वेज) में किया गया विश्लेषण)। | ||
Line 94: | Line 94: | ||
[[iदाना: ओजोन.पीएनजी|केंद्र मूल डेटा सेट के एक सबसेट के अनुरूप प्रत्येक 100 स्मूथर्स का औसत लेकर, हम एक बैगेड प्रेडिक्टर (लाल रेखा) पर पहुंचते हैं। लाल रेखा का प्रवाह स्थिर है और किसी भी डेटा बिंदु(ओं) के अनुरूप नहीं है। | [[iदाना: ओजोन.पीएनजी|केंद्र मूल डेटा सेट के एक सबसेट के अनुरूप प्रत्येक 100 स्मूथर्स का औसत लेकर, हम एक बैगेड प्रेडिक्टर (लाल रेखा) पर पहुंचते हैं। लाल रेखा का प्रवाह स्थिर है और किसी भी डेटा बिंदु(ओं) के अनुरूप नहीं है। | ||
== लाभ | == लाभ और नुकसान == | ||
लाभ: | लाभ: | ||
Line 115: | Line 115: | ||
* अव्यवस्थित जंगल | * अव्यवस्थित जंगल | ||
* [[रैंडम सबस्पेस विधि|अनियमित सबस्पेस विधि]] (विशेषता बैगिंग) | * [[रैंडम सबस्पेस विधि|अनियमित सबस्पेस विधि]] (विशेषता बैगिंग) | ||
* कुशल फ्रंटियर को दोबारा | * कुशल फ्रंटियर को दोबारा से तैयार किया | ||
*भविष्यवाणी विश्लेषण | भविष्य कहनेवाला विश्लेषण: वर्गीकरण और प्रतिगमन | *भविष्यवाणी विश्लेषण | भविष्य कहनेवाला विश्लेषण: वर्गीकरण और प्रतिगमन ट्री | ||
== संदर्भ == | == संदर्भ == |
Revision as of 12:38, 15 March 2023
बूटस्ट्रैप एग्रीगेटिंग, जिसे बैगिंग (बूटस्ट्रैप एग्रीगेटिंग से) भी कहा जाता है, एक मेटा-एल्गोरिथ्म का एकत्रीकरण है जिसे स्टैबिलिटी (लर्निंग थ्योरी) और सांख्यिकीय वर्गीकरण और रिग्रेशन विश्लेषण में उपयोग किए जाने वाले यंत्र अधिगम एल्गोरिदम की सटीकता में सुधार करने के लिए डिज़ाइन किया गया है। यह विचरण को भी कम करता है और ओवरफट्टिंग से बचने में मदद करता है। यद्यपि यह प्रायः निर्णय ट्री सीखने के तरीकों पर क्रियान्वित होता है, लेकिन इसका उपयोग किसी भी प्रकार की विधि के साथ किया जा सकता है। बैगिंग एन्सेम्बल लर्निंग अप्रोच का एक विशेष घटना है।
यांत्रिकी का विवरण
एक मानक प्रशिक्षण सेट दिया आकार n का, बैगिंग m नए प्रशिक्षण सेट उत्पन्न करता है , प्रत्येक आकार n', 𝐷 संभावना वितरण से नमूनाकरण (सांख्यिकी) द्वारा परिमित समर्थन और नमूनाकरण (सांख्यिकी) के साथ चयनित इकाइयों का प्रतिस्थापन के साथ प्रतिचयन द्वारा, प्रत्येक में कुछ प्रेक्षणों को दोहराया जा सकता है यदि n′=n, तो बड़े n सेट के लिए , 𝐷 के अनूठे उदाहरणों का अंश (1 - 1/e (गणितीय स्थिरांक)) (≈63.2%) होने की आशा है, बाकी डुप्लिकेट हैं।[1] इस तरह के नमूने को बूटस्ट्रैप (सांख्यिकी) नमूने के रूप में जाना जाता है। प्रतिस्थापन के साथ नमूनाकरण सुनिश्चित करता है कि प्रत्येक बूटस्ट्रैप अपने साथियों से स्वतंत्र है, क्योंकि यह नमूनाकरण करते समय पिछले चुने हुए नमूनों पर निर्भर नहीं करता है। दोबारा , एम मॉडल को उपरोक्त एम बूटस्ट्रैप नमूनों का उपयोग करके उपयुक्त किया जाता है और आउटपुट (प्रतिगमन के लिए) या वोटिंग (वर्गीकरण के लिए) के औसत से जोड़ा जाता है।
बैगिंग से अस्थिर प्रक्रियाओं में सुधार होता है,[2] जिसमें सम्मिलित हैं, उदाहरण के लिए, कृत्रिम तंत्रिका नेटवर्क, वर्गीकरण और प्रतिगमन ट्री, और रैखिक प्रतिगमन में सबसेट चयन[3]बैगिंग को प्रीइमेज लर्निंग को अपेक्षाकृत अच्छा बनाने के लिए दिखाया गया था।[4][5] दूसरी ओर, यह के-निकटतम पड़ोसियों जैसे स्थिर तरीकों के प्रदर्शन को हल्का कर सकता है।[2]
एल्गोरिथ्म की प्रक्रिया
मुख्य उपबंध
बूटस्ट्रैप एग्रीगेटिंग में तीन प्रकार के डेटासेट होते हैं। ये मूल, बूटस्ट्रैप और आउट-ऑफ़-बैग डेटासेट हैं। नीचे दिए गए प्रत्येक अनुभाग में बताया जाएगा कि मूल डेटासेट को छोड़कर प्रत्येक डेटासेट कैसे बनाया जाता है। जो भी जानकारी दी जाती है वह मूल डेटासेट होता है।
बूटस्ट्रैप डेटासेट बनाना
बूटस्ट्रैप डेटासेट मूल डेटासेट से अव्यवस्थित तरीके से वस्तुओं को चुनकर बनाया जाता है। साथ ही, यह मूल डेटासेट के समान आकार का होना चाहिए। यद्यपि, अंतर यह है कि बूटस्ट्रैप डेटासेट में डुप्लिकेट ऑब्जेक्ट हो सकते हैं। यह प्रदर्शित करने के लिए सरल उदाहरण है कि यह नीचे दिए गए चित्रण के साथ कैसे काम करता है:
मान लीजिए कि मूल डेटासेट 12 लोगों का समूह है। ये लोग हैं एमिली, जेसी, जॉर्ज, कॉन्स्टेंटाइन, लेक्सी, थियोडोर, जॉन, जेम्स, राहेल, एंथोनी, ऐली और जमाल।
अव्यवस्थित तरीके से नामों का एक समूह चुनकर, हम कहते हैं कि हमारे बूटस्ट्रैप डेटासेट में जेम्स, ऐली, कॉन्सटेंटाइन, लेक्सी, जॉन, कॉन्सटेंटाइन, थियोडोर, कॉन्सटेंटाइन, एंथोनी, लेक्सी, कॉन्स्टेंटाइन और थियोडोर थे। इस घटना में, बूटस्ट्रैप नमूने में कॉन्स्टेंटाइन के लिए चार डुप्लिकेट और लेक्सी और थियोडोर के लिए दो डुप्लिकेट सम्मिलित थे।
आउट-ऑफ-बैग डेटासेट बनाना
आउट-ऑफ़-बैग डेटासेट उन शेष लोगों का प्रतिनिधित्व करता है जो बूटस्ट्रैप डेटासेट में नहीं थे। इसकी गणना मूल और बूटस्ट्रैप डेटासेट के बीच के अंतर को लेकर की जा सकती है। इस घटना में, शेष नमूने जिनका चयन नहीं किया गया था वे एमिली, जेसी, जॉर्ज, राहेल और जमाल हैं। ध्यान रखें कि चूंकि दोनों डेटासेट सेट हैं, अंतर लेते समय बूटस्ट्रैप डेटासेट में डुप्लिकेट नामों को अनदेखा कर दिया जाता है। नीचे दिया गया उदाहरण दिखाता है कि गणित कैसे किया जाता है:
महत्व
बूटस्ट्रैप और आउट-ऑफ़-बैग डेटासेट बनाना महत्वपूर्ण है क्योंकि इसका उपयोग अनियमित जंगल एल्गोरिथम की सटीकता का परीक्षण करने के लिए किया जाता है। उदाहरण के लिए, एक मॉडल जो बूटस्ट्रैप/आउट-ऑफ-बैग डेटासेट का उपयोग करके 50 ट्रीों का उत्पादन करता है, उसके पास 10 ट्री बनाने की तुलना में अपेक्षाकृत अच्छी सटीकता होगी। चूंकि एल्गोरिदम कई ट्री उत्पन्न करता है और इसलिए कई डेटासेट बूटस्ट्रैप डेटासेट से किसी ऑब्जेक्ट को छोड़ने का अवसर कम होता है। अगले कुछ खंड इस बारे में बात करते हैं कि कैसे अनियमित जंगल एल्गोरिथम अधिक विस्तार से काम करता है।
निर्णय ट्री का निर्माण
एल्गोरिथम के अगले चरण में बूटस्ट्रैप किए गए डेटासेट से निर्णय ट्री बनाना सम्मिलित है। इसे प्राप्त करने के लिए, प्रक्रिया प्रत्येक जीन/फीचर की जांच करती है और यह निर्धारित करती है कि फीचर की उपस्थिति या अनुपस्थिति के कितने नमूने सकारात्मक या नकारात्मक परिणाम देते हैं। इस जानकारी का उपयोग तब भ्रम मैट्रिक्स की गणना करने के लिए किया जाता है, जो क्लासिफायर के रूप में उपयोग किए जाने पर वास्तविक सकारात्मक, झूठी सकारात्मक, वास्तविक नकारात्मक और सुविधा के झूठे नकारात्मक को सूचीबद्ध करता है। इन सुविधाओं को दोबारा उनके भ्रम मैट्रिक्स के आधार पर विभिन्न निर्णय ट्री सीखने के अनुसार क्रमबद्ध किया जाता है। कुछ सामान्य मेट्रिक्स में सकारात्मक शुद्धता का अनुमान (वास्तविक सकारात्मक से झूठी सकारात्मक घटाकर गणना), अच्छाई का माप और निर्णय ट्रीों में सूचना लाभ सम्मिलित हैं। दोबारा इन सुविधाओं का उपयोग नमूनों को दो सेटों में विभाजित करने के लिए किया जाता है: वे जिनके पास शीर्ष विशेषता है, और जिनके पास नहीं है।
नीचे दिया गया चित्र डेटा को वर्गीकृत करने के लिए उपयोग की जाने वाली गहराई दो के एक निर्णय ट्री को दर्शाता है। उदाहरण के लिए, एक डेटा पॉइंट जो फ़ीचर 1 को प्रदर्शित करता है, लेकिन फ़ीचर 2 को नहीं, उसे नंबर दिया जाएगा। एक और बिंदु जो फ़ीचर 1 को प्रदर्शित नहीं करता है, लेकिन फ़ीचर 3 को प्रदर्शित करता है, उसे हाँ दिया जाएगा।
वांछित गहराई तक पहुंचने तक ट्री के क्रमिक स्तरों के लिए इस प्रक्रिया को पुनरावर्ती रूप से दोहराया जाता है। ट्री के बिल्कुल नीचे, जो नमूने अंतिम विशेषता के लिए सकारात्मक परीक्षण करते हैं, उन्हें प्रायः सकारात्मक के रूप में वर्गीकृत किया जाता है, जबकि जिन लोगों में विशेषता की कमी होती है उन्हें नकारात्मक के रूप में वर्गीकृत किया जाता है।[6] दोबारा इन ट्रीों को नए डेटा को वर्गीकृत करने के लिए भविष्यवाणियों के रूप में उपयोग किया जाता है।
यादृच्छिक वन
एल्गोरिथम के अगले भाग में बूटस्ट्रैप्ड ट्रीों के बीच परिवर्तनशीलता के एक और तत्व को सम्मिलित करना है। प्रत्येक ट्री के अलावा केवल नमूनों के बूटस्ट्रैप किए गए सेट की जांच करते हुए, क्लासिफायर के रूप में रैंकिंग करते समय केवल एक छोटी लेकिन लगातार अनूठी विशेषताओं पर विचार किया जाता है। इसका अर्थ यह है कि प्रत्येक ट्री केवल एक छोटी स्थिर संख्या से संबंधित डेटा के बारे में जानता है, और नमूनों की एक चर संख्या जो मूल डेटासेट से कम या उसके बराबर है। नतीजतन, ट्री अधिक विविध ज्ञान से प्राप्त उत्तरों की एक विस्तृत श्रृंखला वापस करने की अधिक संभावना रखते हैं। इसका परिणाम एक यादृच्छिक वन में होता है, जिसमें यादृच्छिकता के बिना उत्पन्न एकल निर्णय ट्री पर कई लाभ होते हैं। एक यादृच्छिक जंगल में, प्रत्येक ट्री अपनी विशेषताओं के आधार पर नमूने को सकारात्मक के रूप में वर्गीकृत करने या न करने के लिए मतदान करता है। नमूना तब बहुमत वोट के आधार पर वर्गीकृत किया जाता है। इसका एक उदाहरण नीचे दिए गए आरेख में दिया गया है, जहां एक यादृच्छिक वन में चार ट्री म्यूटेशन ए, बी, एफ और जी वाले रोगी को कैंसर है या नहीं, इस पर मतदान करते हैं। क्योंकि चार में से तीन ट्री हाँ कहते हैं, तब रोगी को कैंसर पॉजिटिव के रूप में वर्गीकृत किया जाता है।
उनके गुणों के कारण, यादृच्छिक जंगलों को सबसे सटीक डेटा माइनिंग एल्गोरिदम में से एक माना जाता है, उनके डेटा को ओवरउपयुक्त करने की संभावना कम होती है, और बड़े डेटासेट के लिए भी जल्दी और कुशलता से चलते हैं।[7] प्रतिगमन विश्लेषण के विपरीत वे वर्गीकरण के लिए मुख्य रूप से उपयोगी होते हैं, जो डेटासेट में सांख्यिकीय चर के बीच देखे गए कनेक्शन को आकर्षित करने का प्रयास करता है। यह बैंकिंग, स्वास्थ्य सेवा, शेयर बाजार और ई-कॉमर्स जैसे क्षेत्रों में यादृच्छिक वनों को विशेष रूप से उपयोगी बनाता है जहां पिछले डेटा के आधार पर भविष्य के परिणामों की भविष्यवाणी करने में सक्षम होना महत्वपूर्ण है।[8] उनके अनुप्रयोगों में से एक आनुवंशिक कारकों के आधार पर कैंसर की भविष्यवाणी करने के लिए एक उपयोगी उपकरण के रूप में होगा, जैसा कि उपरोक्त उदाहरण में देखा गया है।
यादृच्छिक वन डिजाइन करते समय विचार करने के लिए कई महत्वपूर्ण कारक हैं। यदि यादृच्छिक जंगलों में ट्री बहुत गहरे हैं, तो अति-विशिष्टता के कारण ओवरफट्टिंग अभी भी हो सकती है। यदि जंगल बहुत बड़ा है, तो एल्गोरिथम बढ़े हुए क्रम के कारण कम कुशल हो सकता है। अनियमित जंगल भी प्रायः तब अच्छा प्रदर्शन नहीं करते हैं जब थोड़ी परिवर्तनशीलता के साथ विरल डेटा दिया जाता है।[8]यद्यपि , उनके पास समान डेटा वर्गीकरण एल्गोरिदम जैसे तंत्रिका नेटवर्क पर अभी भी कई लाभ हैं, क्योंकि वे व्याख्या करने में बहुत आसान हैं और प्रायः प्रशिक्षण के लिए कम डेटा की आवश्यकता होती है।[9] यादृच्छिक वनों के एक अभिन्न अंग के रूप में, बूटस्ट्रैप एकत्रीकरण वर्गीकरण एल्गोरिदम के लिए बहुत महत्वपूर्ण है, और परिवर्तनशीलता का एक महत्वपूर्ण तत्व प्रदान करता है जो नए डेटा का विश्लेषण करते समय बढ़ी हुई सटीकता की अनुमति देता है, जैसा कि नीचे चर्चा की गई है।
अनियमित जंगल में सुधार और बैगिंग
जबकि ऊपर वर्णित यांत्रिकीें यादृच्छिक वनों और बूटस्ट्रैपिंग (अन्यथा बूटस्ट्रैपिंग के रूप में जानी जाती हैं) का उपयोग करती हैं, कुछ यांत्रिकीें हैं जिनका उपयोग उनके निष्पादन और मतदान के समय, उनकी भविष्यवाणी सटीकता और उनके समग्र प्रदर्शन को अपेक्षाकृत अच्छा बनाने के लिए किया जा सकता है। एक कुशल यादृच्छिक वन बनाने के लिए निम्नलिखित महत्वपूर्ण कदम हैं:
- ट्रीों की अधिकतम गहराई निर्दिष्ट करें: अपने यादृच्छिक वन को तब तक प्रचलन में रखने की अनुमति न दे जब तक कि सभी नोड्स शुद्ध न हों, ओवरफट्टिंग की संभावना को और कम करने के लिए इसे एक निश्चित बिंदु पर काट देना अपेक्षाकृत अच्छा है।
- डेटासेट की छँटाई करें: बहुत बड़े डेटासेट का उपयोग करने से ऐसे परिणाम तैयार हो सकते हैं जो एक छोटे सेट की तुलना में प्रदान किए गए डेटा का कम संकेत देते हैं जो अधिक सटीक रूप से दर्शाता है कि किस पर ध्यान केंद्रित किया जा रहा है।
- केवल मूल बैगिंग प्रक्रिया के अतिरिक्त प्रत्येक नोड विभाजन पर डेटा की छंटाई संचालित रखें।
- सटीकता या गति पर निर्णय लें: वांछित परिणामों के आधार पर, जंगल के भीतर ट्रीों की संख्या बढ़ाना या घटाना मदद कर सकता है। ट्रीों की संख्या बढ़ाने से प्रायः अधिक सटीक परिणाम मिलते हैं जबकि ट्रीों की संख्या कम करने से जल्दी परिणाम मिलते हैं।
Pros | Cons |
---|---|
There are overall less requirements involved for normalization and scaling, making the use of random forests more convenient.[10] | The algorithm may change significantly if there is a slight change to the data being bootstrapped and used within the forests.[11] In other words, random forests are incredibly dependent on their data sets, changing these can drastically change the individual trees' structures. |
Easy data preparation. Data is prepared by creating a bootstrap set and a certain number of decision trees to build a random forest that also utilizes feature selection, as mentioned in the Random Forests section. | Random Forests are more complex to implement than lone decision trees or other algorithms. This is because they take extra steps for bagging, as well as the need for recursion in order to produce an entire forest, which complicates implementation. Because of this, it requires much more computational power and computational resources. |
Consisting of multiple decision trees, forests are able to more accurately make predictions than single trees. | Requires much more time to train the data compared to decision trees. Having a large forest can quickly begin to decrease the speed in which one's program operates because it has to traverse much more data even though each tree is using a smaller set of samples and features. |
Works well with non-linear data. As most tree based algorithms use linear splits, using an ensemble of a set of trees works better than using a single tree on data that has nonlinear properties (ie most real world distributions). Working well with non-linear data is a huge advantage because other data mining techniques such as single decision trees do not handle this as well. | Much easier to interpret than a random forest. A single tree can be walked by hand (by a human) leading to a somewhat "explainable" understanding for the analyst of what the tree is actually doing. As the number of trees and schemes grow for ensembling those trees into predictions, this reviewing becomes much more difficult if not impossible. |
There is a lower risk of overfitting and runs efficiently on even large data sets.[12] This is the result of the random forest's use of bagging in conjunction with random feature selection. | Does not predict beyond the range of the training data. This is a con because while bagging is often effective, all of the data is not being considered, therefore it cannot predict an entire dataset. |
The random forest classifier operates with a high accuracy and speed.[13] Random forests are much faster than decision trees because of using a smaller data set. | To recreate specific results you need to keep track of the exact random seed used to generate the bootstrap sets. This may be important when collecting data for research or within a data mining class. Using random seeds is essential to the random forests, but can make it hard to support your statements based on forests if there is a failure to record the seeds. |
Deals with missing data and datasets with many outliers well. They deal with this by using binning, or by grouping values together to avoid values that are terribly far apart. |
एल्गोरिथम (वर्गीकरण)
वर्गीकरण के लिए, एक प्रशिक्षण सेट का उपयोग करें , प्रेरक और बूटस्ट्रैप नमूनों की संख्या इनपुट के रूप में। एक वर्गीकारक उत्पन्न करें आउटपुट के रूप में[14]
- बनाएं नए प्रशिक्षण सेट , से प्रतिस्थापन के साथ
- वर्गीकारक प्रत्येक सेट से बनाया गया है का उपयोग करते हुए सेट का वर्गीकरण निर्धारित करने के लिए
- अंत में क्लासिफायरियर क्लासिफायर के पहले बनाए गए सेट का उपयोग करके उत्पन्न होता है मूल डेटा सेट पर , उप-वर्गीकरणकर्ताओं द्वारा अक्सर वर्गीकरण की भविष्यवाणी की जाती है अंतिम वर्गीकरण है
के लिए = 1 से m {
D' = D से बूटस्ट्रैप नमूना (प्रतिस्थापन के साथ नमूना) Ci = I(D')
} C*(x) = argmax #{i:Ci(x)=y} (अक्सर पूर्वानुमानित लेबल y)
वाई∈वाई
उदाहरण: ओजोन डेटा
बैगिंग के बुनियादी सिद्धांतों को स्पष्ट करने के लिए, नीचे ओजोन और तापमान के बीच संबंधों पर एक विश्लेषण है (पीटर रूसो और लेरॉय से डेटा)[clarification needed] (1986), R (प्रोग्रामिंग लैंग्वेज) में किया गया विश्लेषण)।
स्कैटर प्लॉट के आधार पर, इस डेटा सेट में तापमान और ओजोन के बीच संबंध अरैखिक प्रतीत होता है। गणितीय रूप से इस संबंध का वर्णन करने के लिए, स्थानीय प्रतिगमन स्मूथर्स (बैंडविड्थ 0.5 के साथ) का उपयोग किया जाता है। संपूर्ण डेटा सेट के लिए एक आसान बनाने के अतिरिक्त , 100 बूटस्ट्रैप (सांख्यिकी) नमूने तैयार किए गए थे। प्रत्येक नमूना मूल डेटा के एक यादृच्छिक सबसेट से बना होता है और मास्टर सेट के वितरण और परिवर्तनशीलता की अवस्था रखता है। प्रत्येक बूटस्ट्रैप नमूने के लिए, एक एलओईएसएस स्मूथ उपयुक्त था। इन 100 स्मूथर्स से भविष्यवाणियां तब डेटा की सीमा में की गईं। काली रेखाएँ इन प्रारंभिक भविष्यवाणियों का प्रतिनिधित्व करती हैं। पंक्तियों में उनकी भविष्यवाणियों में सहमति की कमी होती है और वे अपने डेटा बिंदुओं को ओवरउपयुक्त करते हैं: लाइनों के लड़खड़ाते प्रवाह से स्पष्ट।
[[iदाना: ओजोन.पीएनजी|केंद्र मूल डेटा सेट के एक सबसेट के अनुरूप प्रत्येक 100 स्मूथर्स का औसत लेकर, हम एक बैगेड प्रेडिक्टर (लाल रेखा) पर पहुंचते हैं। लाल रेखा का प्रवाह स्थिर है और किसी भी डेटा बिंदु(ओं) के अनुरूप नहीं है।
लाभ और नुकसान
लाभ:
- कई कमजोर शिक्षार्थी समग्र रूप से पूरे सेट में एक ही शिक्षार्थी से अपेक्षाकृत अच्छा प्रदर्शन करते हैं, और कम ओवेरफ़िट होते हैं
- उच्च-विचरण पूर्वाग्रह (सांख्यिकी) में विचरण को हटाता है। (कम-पूर्वाग्रह कमजोर शिक्षार्थी) [15]
- समानांतर कंप्यूटिंग में प्रदर्शन किया जा सकता है, क्योंकि संयोजन से पहले प्रत्येक अलग बूटस्ट्रैप को अपने आप संसाधित किया जा सकता है[16]
नुकसान:
- उच्च पूर्वाग्रह वाले कमजोर शिक्षार्थियों के लिए, बैगिंग भी अपने कुल योग में उच्च पूर्वाग्रह ले जाएगा[15]* एक मॉडल की व्याख्या की हानि।
- डेटा सेट के आधार पर कम्प्यूटेशनल रूप से अधिक मूल्य हो सकता है
इतिहास
बूटस्ट्रैप एग्रीगेटिंग की अवधारणा बूटस्ट्रैपिंग की अवधारणा से ली गई है जिसे ब्रैडली एफ्रॉन द्वारा विकसित किया गया था।[17]
बूटस्ट्रैप एग्रीगेटिंग लियो ब्रिमन द्वारा प्रस्तावित किया गया था जिन्होंने संक्षिप्त शब्द बैगिंग (बूटस्ट्रैप एग्रीगेटिंग) भी गढ़ा था। ब्रिमन ने अव्यवस्थित तरीके से उत्पन्न प्रशिक्षण सेटों के वर्गीकरण के संयोजन से वर्गीकरण में सुधार करने के लिए 1994 में बैगिंग की अवधारणा विकसित की। उन्होंने तर्क दिया, यदि सीखने के सेट को परेशान करने से भविष्यवाणियों में महत्वपूर्ण परिवर्तन हो सकते हैं, तो बैगिंग सटीकता में सुधार कर सकती है।[3]
यह भी देखें
- बूस्टिंग (मेटा-एल्गोरिदम)
- बूटस्ट्रैपिंग (सांख्यिकी)
- क्रॉस-वैलिडेशन (सांख्यिकी)
- आउट-ऑफ-बैग त्रुटि
- अव्यवस्थित जंगल
- अनियमित सबस्पेस विधि (विशेषता बैगिंग)
- कुशल फ्रंटियर को दोबारा से तैयार किया
- भविष्यवाणी विश्लेषण | भविष्य कहनेवाला विश्लेषण: वर्गीकरण और प्रतिगमन ट्री
संदर्भ
- ↑ Aslam, Javed A.; Popa, Raluca A.; and Rivest, Ronald L. (2007); On Estimating the Size and Confidence of a Statistical Audit, Proceedings of the Electronic Voting Technology Workshop (EVT '07), Boston, MA, August 6, 2007. More generally, when drawing with replacement n′ values out of a set of n (different and equally likely), the expected number of unique draws is .
- ↑ 2.0 2.1 Breiman, Leo (1996). "बैगिंग भविष्यवक्ता". Machine Learning. 24 (2): 123–140. CiteSeerX 10.1.1.32.9399. doi:10.1007/BF00058655. S2CID 47328136.
- ↑ 3.0 3.1 Breiman, Leo (September 1994). "बैगिंग प्रिडिक्टर्स" (PDF). Technical Report. Department of Statistics, University of California Berkeley (421). Retrieved 2019-07-28.
- ↑ Sahu, A., Runger, G., Apley, D., Image denoising with a multi-phase kernel principal component approach and an ensemble version, IEEE Applied Imagery Pattern Recognition Workshop, pp.1-7, 2011.
- ↑ Shinde, Amit, Anshuman Sahu, Daniel Apley, and George Runger. "Preimages for Variation Patterns from Kernel PCA and Bagging." IIE Transactions, Vol.46, Iss.5, 2014
- ↑ "Decision tree learning", Wikipedia (in English), 2021-11-29, retrieved 2021-11-29
- ↑ "यादृच्छिक वन - वर्गीकरण विवरण". www.stat.berkeley.edu. Retrieved 2021-12-09.
- ↑ 8.0 8.1 "मशीन लर्निंग में रैंडम फ़ॉरेस्ट का परिचय". Engineering Education (EngEd) Program | Section (in English). Retrieved 2021-12-09.
- ↑ Montantes, James (2020-02-04). "3 Reasons to Use Random Forest Over a Neural Network–Comparing Machine Learning versus Deep…". Medium (in English). Retrieved 2021-12-09.
- ↑ "Random Forest Pros & Cons". HolyPython.com (in English). Retrieved 2021-11-26.
- ↑ K, Dhiraj (2020-11-22). "Random Forest Algorithm Advantages and Disadvantages". Medium (in English). Retrieved 2021-11-26.
- ↑ Team, Towards AI. "Why Choose Random Forest and Not Decision Trees – Towards AI — The World's Leading AI and Technology Publication" (in English). Retrieved 2021-11-26.
- ↑ "Random Forest". Corporate Finance Institute (in English). Retrieved 2021-11-26.
- ↑ Bauer, Eric; Kohavi, Ron (1999). "An Empirical Comparison of Voting Classification Algorithms: Bagging, Boosting, and Variants". Machine Learning. 36: 108–109. doi:10.1023/A:1007515423169. S2CID 1088806.
- ↑ 15.0 15.1 "What is Bagging (Bootstrap Aggregation)?". CFI. Corporate Finance Institute. Retrieved December 5, 2020.
- ↑ Zoghni, Raouf (September 5, 2020). "बैगिंग (बूटस्ट्रैप एग्रीगेटिंग), अवलोकन". The Startup – via Medium.
- ↑ Efron, B. (1979). "Bootstrap methods: Another look at the jackknife". The Annals of Statistics. 7 (1): 1–26. doi:10.1214/aos/1176344552.
अग्रिम पठन
- ब्रिमन, लियो (1996)। "बैगिंग भविष्यवक्ता"। यंत्र अधिगम। 24 (2): 123-140। साइटसीरएक्स 10.1.1.32.9399। डीओआई: 10.1007/बीएफ00058655। एस2सीआईडी 47328136.
- अल्फारो, ई., गेमेज़, एम. और गार्सिया, एन. (2012)। "अदाबाग: AdaBoost.M1, AdaBoost-SAMME और बैगिंग के साथ वर्गीकरण के लिए एक R पैकेज"। Template:जर्नल उद्धृत करें: जर्नल की आवश्यकता का हवाला दें |जर्नल= (सहायता)
- कोत्सियंटिस, सॉटिरिस (2014)। "वर्गीकरण समस्याओं से निपटने के लिए बैगिंग और बूस्टिंग वेरिएंट: एक सर्वेक्षण"। ज्ञान अभियांत्रिकी। समीक्षा। 29 (1): 78-100। डीओआई:10.1017/S0269888913000313. एस2सीआईडी 27301684.
- बोहेमके, ब्राडली; ग्रीनवेल, ब्रैंडन (2019)। "बैगिंग"। आर. चैपमैन एंड हॉल के साथ हैंड्स-ऑन मशीन लर्निंग। पीपी। 191-202। आईएसबीएन 978-1-138-49568-5।