क्या AdaBoost कम या ज्यादा होने का खतरा है?


20

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

क्या एक या दूसरे पर विश्वास करने के अच्छे कारण हैं? यदि यह निर्भर करता है, तो यह किस पर निर्भर करता है? क्या कारण हैं कि AdaBoost के ओवरफिट होने का खतरा कम / ज्यादा होता है?


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

जवाबों:


17

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

  • "कमजोर" शिक्षार्थियों की "ताकत": यदि आप बहुत सरल कमजोर शिक्षार्थियों का उपयोग करते हैं, जैसे निर्णय स्टंप (1-स्तरीय निर्णय पेड़), तो एल्गोरिदम बहुत अधिक कम होने का खतरा है। जब भी मैंने अधिक जटिल कमजोर शिक्षार्थियों (जैसे निर्णय पेड़ या यहां तक ​​कि हाइपरप्लेन) का उपयोग करने की कोशिश की है, तो मैंने पाया है कि ओवरफिटिंग बहुत तेजी से होती है

  • डेटा में शोर स्तर: AdaBoost विशेष रूप से शोर डेटासेट पर ओवरफिटिंग होने का खतरा है। इस नियमित रूप से सेटिंग में (RegBoost, AdaBoostReg, LPBoost, QPBoost) बेहतर हैं

  • डेटा की गतिशीलता: हम जानते हैं कि सामान्य तौर पर, हम उच्च आयामी रिक्त स्थान ("आयामीता का अभिशाप") में अधिक ओवरफिटिंग का अनुभव करते हैं, और AdaBoost भी उस संबंध में पीड़ित हो सकते हैं, क्योंकि यह केवल क्लासिक्स का एक रैखिक संयोजन है जो स्वयं पीड़ित हैं समस्या से। क्या यह अन्य वर्ग के रूप में प्रवण के रूप में निर्धारित करने के लिए कठिन है।


9

मैं tdc टिप्पणी में उल्लिखित अधिकांश बिंदुओं से सहमत हूँ। हालाँकि, मुझे कुछ चीजों को जोड़ना और सही करना है।

  • जैसा कि पीटर Bühlmann द्वारा L2Boost में दिखाया गया है, कमजोर शिक्षार्थियों की संख्या (वृद्धि के दौर) के रूप में, पूर्वाग्रह तेजी से परिवर्तित होता है, जबकि विचरण ज्यामितीय रूप से घटते हुए परिमाण द्वारा बढ़ जाता है जिसका अर्थ है: यह अन्य विधियों की तुलना में बहुत धीमा है।
  • ज़च टिप्पणी में यह गलत उल्लेख किया गया था कि यह ओवरफिट के मामले में यादृच्छिक वन से बेहतर है। यह पूरी तरह से गलत है। वास्तव में, सिद्धांत के अनुसार (ब्रेमेन द्वारा मूल यादृच्छिक वन पेपर देखें), रैंडम फ़ॉरेस्ट ओवरफिटिंग के खिलाफ बिल्कुल प्रतिरक्षा है जब तक कि इसके कमजोर क्लासिफायर डेटा के लिए ओवरफिट नहीं करते हैं।
  • Tdc टिप्पणी में उल्लिखित के विपरीत, बूस्टिंग के अधिकांश तरीके लेबलिंग शोर के प्रति अत्यधिक संवेदनशील हैं और लेबलिंग शोर की उपस्थिति में आसानी से ओवरफिट कर सकते हैं।
  • डेटासेट में जहां बेज़ त्रुटि दर 0 से दूर हैं (यानी, सुविधाएँ पर्याप्त नहीं हैं) बूस्ट करने के तरीके आसानी से ओवरफिट कर सकते हैं। क्योंकि वे प्रशिक्षण की त्रुटि को शून्य तक कम करने की कोशिश करते हैं, जबकि वास्तविकता में भी इष्टतम क्लासिफायर, यानी, बेयस क्लासिफायर, 40% त्रुटि दर कह सकता है।
  • अंत में, और इसे किसी भी स्थान पर प्रकाशित नहीं किया गया है (जहां मेरे ज्ञान का सबसे अच्छा) एक प्रकार का ओवरफिटिंग है जिसमें सामान्यीकरण त्रुटि नहीं बढ़ती है क्योंकि बूस्टिंग दौर बढ़ता है लेकिन यह घटता भी नहीं है। इसका अर्थ है कि एल्गोरिथ्म एक स्थानीय ऑप्टिमा में फंस गया है। इस स्थिति में, प्रशिक्षण त्रुटि लगातार कम हो जाती है जबकि परीक्षण त्रुटि लगभग स्थिर रहती है। अब तक, हमने इस घटना को ओवरफिटिंग के संकेत के रूप में कभी नहीं माना लेकिन मेरा मानना ​​है कि यह ओवरफिटिंग का संकेत है और अधिक जटिल कमजोर शिक्षार्थियों का उपयोग करके, (अजीब!) हम वास्तव में इसके खिलाफ जा सकते हैं (यह अंतिम बिंदु सावधानी के साथ माना जाना चाहिए। : डी)

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

@ssdecontrol क्या आपने जो किया उसे साझा कर सकते हैं? मैं बेहतर समझ रखने के लिए परिणामों को पुन: प्रस्तुत करना चाहता हूं
saurabh agarwal

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