इन 3 तरीकों में क्या समानताएं और अंतर हैं:
- जीतना,
- बढ़ाने,
- स्टैकिंग?
सबसे अच्छा कौन सा है? और क्यों?
क्या आप मुझे प्रत्येक के लिए एक उदाहरण दे सकते हैं?
इन 3 तरीकों में क्या समानताएं और अंतर हैं:
सबसे अच्छा कौन सा है? और क्यों?
क्या आप मुझे प्रत्येक के लिए एक उदाहरण दे सकते हैं?
जवाबों:
तीनों को तथाकथित "मेटा-एल्गोरिदम" कहा जाता है: कई मशीन लर्निंग तकनीकों को एक भविष्य कहनेवाला मॉडल में संयोजित करने के लिए दृष्टिकोण, ताकि वैरिएशन ( बैगिंग ), पूर्वाग्रह ( बूस्टिंग ) को कम किया जा सके या भविष्य कहनेवाला बल में सुधार हो ( उर्फ पहनावा का ढेर )।
हर एल्गोरिथ्म में दो चरण होते हैं:
मूल डेटा के सबसेट पर सरल एमएल मॉडल के वितरण का उत्पादन।
वितरण को एक "एकत्रित" मॉडल में संयोजित करना।
यहाँ तीनों विधियों का संक्षिप्त विवरण दिया गया है:
जीतना (के लिए खड़ा बी ootstrap Agg regat ing ) का उपयोग कर अपने मूल डाटासेट से प्रशिक्षण के लिए अतिरिक्त डेटा उत्पन्न करके अपने भविष्यवाणी के विचरण को कम करने के लिए एक रास्ता है repetitions के साथ संयोजन का निर्माण करने के multisets आपका मूल डेटा के रूप में ही प्रमुखता / आकार की। अपने प्रशिक्षण सेट के आकार को बढ़ाकर आप मॉडल की पूर्वानुमेय शक्ति में सुधार नहीं कर सकते हैं, लेकिन केवल विचरण को कम कर सकते हैं, पूर्वानुमान को अनुमानित परिणाम तक सीमित कर सकते हैं।
बूस्टिंग एक दो-चरणीय दृष्टिकोण है, जहां एक पहले औसत प्रदर्शन करने वाले मॉडल की एक श्रृंखला का उत्पादन करने के लिए मूल डेटा के सबसेट का उपयोग करता है और फिर एक विशेष लागत फ़ंक्शन (= बहुमत वोट) का उपयोग करके उन्हें एक साथ जोड़कर उनके प्रदर्शन को "बढ़ा देता है"। बैगिंग के विपरीत, शास्त्रीय बढ़ावा देने में सबसेट उप-क्रम यादृच्छिक नहीं है और पिछले मॉडल के प्रदर्शन पर निर्भर करता है: हर नए सबसेट में वे तत्व होते हैं जो पिछले मॉडल द्वारा गलत किए गए थे (होने की संभावना है)।
स्टैकिंग बूस्ट करने के समान है: आप अपने मूल डेटा पर कई मॉडल भी लागू करते हैं। हालांकि, यहाँ अंतर यह है कि आपके वजन समारोह के लिए सिर्फ एक अनुभवजन्य सूत्र नहीं है, बल्कि आप एक मेटा-स्तर का परिचय देते हैं और दूसरे मॉडल / दृष्टिकोण का उपयोग करते हुए इनपुट का अनुमान लगाने के लिए हर मॉडल के आउटपुट के साथ वेट का अनुमान लगाते हैं या दूसरे शब्दों में, यह निर्धारित करने के लिए कि कौन से मॉडल अच्छा प्रदर्शन करते हैं और क्या बुरी तरह से इन इनपुट डेटा को देते हैं।
यहाँ एक तुलना तालिका है:
जैसा कि आप देख रहे हैं, ये सभी कई मॉडलों को बेहतर तरीके से संयोजित करने के लिए अलग-अलग दृष्टिकोण हैं, और यहां एक भी विजेता नहीं है: सब कुछ आपके डोमेन पर निर्भर करता है और आप क्या करने जा रहे हैं। आप अभी भी स्टैकिंग को अधिक अग्रिमों को बढ़ाने के रूप में मान सकते हैं , हालांकि, अपने मेटा-स्तर के लिए एक अच्छा दृष्टिकोण खोजने की कठिनाई व्यवहार में इस दृष्टिकोण को लागू करना मुश्किल बनाती है।
प्रत्येक के लघु उदाहरण:
बैगिंग :
समानांतर पहनावा: प्रत्येक मॉडल स्वतंत्र रूप से बनाया गया है
लक्ष्य विचरण को कम करना है , पूर्वाग्रह को नहीं
उच्च विचरण कम पूर्वाग्रह मॉडल (जटिल मॉडल) के लिए उपयुक्त
वृक्ष आधारित विधि का एक उदाहरण यादृच्छिक वन है , जो पूरी तरह से विकसित पेड़ों को विकसित करता है (ध्यान दें कि आरएफ पेड़ों के बीच सहसंबंध को कम करने के लिए बढ़ी हुई प्रक्रिया को संशोधित करता है)
बूस्टिंग :
अनुक्रमिक कलाकारों की टुकड़ी: नए मॉडल को जोड़ने की कोशिश करते हैं जो पिछले मॉडल की कमी है
पूर्वाग्रह को कम करने का लक्ष्य है , न कि विचरण
कम विचरण उच्च पूर्वाग्रह मॉडल के लिए उपयुक्त है
वृक्ष आधारित विधि का एक उदाहरण ढाल बढ़ाने वाला है
बस यूकियान के उत्तर पर थोड़ा विस्तार करने के लिए। बैगिंग के पीछे का विचार यह है कि जब आप एक गैर-घटक प्रतिगमन विधि (आमतौर पर प्रतिगमन या वर्गीकरण पेड़ों के साथ ओवरवेट करते हैं, लेकिन किसी भी गैर-घटक विधि के बारे में हो सकते हैं), तो आप उच्च विचरण, पूर्वाग्रह (या निम्न) पूर्वाग्रह के पक्षपात वाले हिस्से में जाते हैं। / विचरण व्यापार। इसका कारण यह है कि एक ओवरफिटिंग मॉडल बहुत लचीला है (एक ही आबादी से कई रिम्स पर कम बायस, अगर वे उपलब्ध थे) लेकिन उच्च परिवर्तनशीलता है (यदि मैं एक नमूना एकत्र करता हूं और इसे ओवरफिट करता हूं, और आप एक नमूना एकत्र करते हैं और इसे ओवरफ्लो करते हैं, हमारे) परिणाम अलग-अलग होंगे क्योंकि गैर-पैरामीट्रिक प्रतिगमन डेटा में शोर को ट्रैक करता है)। हम क्या कर सकते है? हम कई रिसैम्पल (बूटस्ट्रैपिंग से) ले सकते हैं, प्रत्येक ओवरफिटिंग, और उन्हें एक साथ औसत कर सकते हैं। यह एक ही पूर्वाग्रह (निम्न) के लिए नेतृत्व करना चाहिए, लेकिन कुछ विचरण को रद्द करें,
धीरे-धीरे अपने दिल को बढ़ाने के साथ काम करता है, जो कि गैर-समरूपता वाले नियमों के साथ काम करता है, जो बहुत सरल हैं और इस प्रकार डेटा में वास्तविक संबंध (यानी पक्षपाती) का वर्णन करने के लिए पर्याप्त लचीले नहीं हैं, लेकिन क्योंकि वे फिटिंग के अधीन हैं, कम विचरण करते हैं (आप चाहेंगे यदि आप नए डेटा सेट एकत्र करते हैं तो समान परिणाम प्राप्त करने के लिए)। आप इसके लिए कैसे सही हैं? मूल रूप से, यदि आप फिट हैं, तो आपके मॉडल के RESIDUALS में अभी भी उपयोगी संरचना (जनसंख्या के बारे में जानकारी) है, इसलिए आप अपने पास मौजूद पेड़ (या जो कुछ भी अपरंपरागत भविष्यवक्ता) को अवशेषों पर बनाए गए पेड़ से जोड़ते हैं। यह मूल पेड़ की तुलना में अधिक लचीला होना चाहिए। आप बार-बार अधिक से अधिक पेड़ उत्पन्न करते हैं, प्रत्येक चरण में k-1 से अवशिष्टों के लिए लगाए गए वृक्ष के आधार पर एक भारित वृक्ष द्वारा संवर्धित होता है। इन पेड़ों में से एक इष्टतम होना चाहिए, तो आप या तो इन सभी पेड़ों को एक साथ जोड़कर या एक का चयन करके समाप्त हो जाते हैं जो सबसे अच्छा लगता है। इस प्रकार ढाल बूस्टिंग अधिक लचीले उम्मीदवार पेड़ों का एक गुच्छा बनाने का एक तरीका है।
सभी गैरपारंपरिक प्रतिगमन या वर्गीकरण दृष्टिकोणों की तरह, कभी-कभी बैगिंग या बूस्टिंग महान काम करता है, कभी-कभी एक या दूसरा दृष्टिकोण औसत दर्जे का होता है, और कभी-कभी एक या दूसरा दृष्टिकोण (या दोनों) दुर्घटनाग्रस्त हो जाएगा और जल जाएगा।
इसके अलावा, इन दोनों तकनीकों को पेड़ों के अलावा अन्य प्रतिगमन दृष्टिकोणों पर भी लागू किया जा सकता है, लेकिन वे आमतौर पर पेड़ों से जुड़े होते हैं, शायद इसलिए कि मापदंडों को सेट करना मुश्किल है ताकि फिटिंग या ओवरफिटिंग से बचा जा सके।
संक्षेप में पुनर्कथन करने के लिए, बैजिंग और बूस्टिंग का आमतौर पर एक एल्गोरिथ्म के अंदर उपयोग किया जाता है, जबकि स्टैकिंग का उपयोग आमतौर पर विभिन्न एल्गोरिदम से कई परिणामों को संक्षेप में करने के लिए किया जाता है।
Random Forest
, जो विचरण को समाप्त करते हैं और इसमें ओवरफ़िटिंग समस्या नहीं होती है।GBM
और XGBoost
, जो विचरण को समाप्त करते हैं, लेकिन ओवरफिटिंग समस्या है।सभी चरणों के लिए एकल शिक्षण एल्गोरिथ्म का उपयोग करना और बढ़ाना दोनों ही है; लेकिन वे प्रशिक्षण नमूनों को संभालने के विभिन्न तरीकों का उपयोग करते हैं। दोनों कलाकारों की टुकड़ी सीखने की विधि है कि एक से अधिक मॉडल से निर्णय को जोड़ती हैं
जीतना :
1. resamples प्रशिक्षण डेटा एम सबसेट (बूटस्ट्रैपिंग) प्राप्त करने के लिए;
2. एम डेटासेट (विभिन्न नमूनों) के आधार पर एम क्लासिफायर (एक ही एल्गोरिदम) को प्रशिक्षित करता है;
3. अंतिम क्लासिफायर मतदान द्वारा एम आउटपुट को जोड़ती है;
नमूने समान रूप से वजन;
समान रूप से वजन का वर्गीकरण;
विचरण को कम करने से त्रुटि कम हो जाती है
बूस्टिंग : यहां एडोबोस्ट एल्गोरिथ्म पर ध्यान केंद्रित किया
गया है। पहले दौर में सभी नमूनों के बराबर वजन के साथ शुरू करें;
2. निम्नलिखित एम -1 राउंड में, नमूनों की वेट बढ़ाई जाती है, जो अंतिम राउंड में मिसकॉलिफाइड होते हैं, अंतिम राउंड में सही ढंग से वर्गीकृत किए गए नमूनों की वेट घटाते हैं।
3. वेटेड वोटिंग का उपयोग करते हुए, अंतिम क्लासिफायरियर पिछले राउंड से कई क्लासिफायर को जोड़ती है, और बड़ा वेट देता है। कम गर्भस्राव वाले सहपाठियों के लिए।
चरण-वार प्रतिध्वनि के नमूने; प्रत्येक राउंड के लिए
वेटिंग (बैगिंग) के बजाय अंतिम राउंड -वेट सैंपल (बूस्टिंग) के परिणामों के आधार पर वेट करें।