बूस्टिंग: सीखने की दर को नियमितीकरण पैरामीटर क्यों कहा जाता है?


19

सीखने की दर पैरामीटर ( ) ढाल में सिकुड़ती बढ़ाने प्रत्येक नया आधार मॉडल -typically एक उथले tree- कि श्रृंखला में जोड़ा जाता है का योगदान। यह नाटकीय रूप से परीक्षण सेट सटीकता को बढ़ाने के लिए दिखाया गया था, जो कि छोटे कदमों के साथ समझ में आता है, हानि फ़ंक्शन का न्यूनतम अधिक सटीक रूप से प्राप्त किया जा सकता है। ν[0,1]

मुझे नहीं पता है कि सीखने की दर को नियमितीकरण पैरामीटर क्यों माना जाता है ? सांख्यिकीय अधिगम के तत्वों का हवाला देते हुए , धारा १०.१२.१, पृष्ठ ३६४:

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

नियमितीकरण का अर्थ है "overfitting से बचने के लिए जिस तरह से", इसलिए यह स्पष्ट है कि पुनरावृत्तियों की संख्या इस संदर्भ (एक में महत्वपूर्ण है है कि overfitting को बहुत अधिक होता है)। परंतु:

(अधिक संकोचन) के छोटे मूल्यों के परिणामस्वरूप बड़ी संख्या में पुनरावृत्तियों के लिए प्रशिक्षण जोखिम ।ν

बस इसका मतलब है कि कम सीखने की दर के साथ, प्रशिक्षण सेट पर समान सटीकता प्राप्त करने के लिए अधिक पुनरावृत्तियों की आवश्यकता होती है। तो यह ओवरफिटिंग से कैसे संबंधित है?

जवाबों:


23

मान लीजिए कि आप पुनरावृत्तियों की संख्या के माध्यम से उद्देश्य फ़ंक्शन को कम करने की कोशिश कर रहे हैं। और वर्तमान मूल्य । दिए गए डेटा सेट में, कोई "इरेड्यूसबल त्रुटियां" नहीं हैं और आप अपने प्रशिक्षण डेटा के लिए नुकसान को 0.0 से कम कर सकते हैं । अब आपके पास इसे करने के दो तरीके हैं।100.00.0

  • पहला तरीका "बड़ी सीखने की दर" और कुछ पुनरावृत्तियों है। मान लें कि आप प्रत्येक पुनरावृति में हानि कम कर सकते हैं , फिर, 10 पुनरावृत्तियों में, आप 0.0 से हानि को कम कर सकते हैं ।10.0100.0

  • दूसरा तरीका "धीमी सीखने की दर" होगा, लेकिन अधिक पुनरावृत्तियों। मान लें कि आप प्रत्येक पुनरावृत्ति में हानि कम कर सकते हैं और आपको अपने प्रशिक्षण डेटा पर 0.0 हानि होने के लिए 100 पुनरावृत्ति की आवश्यकता है ।1.0100

अब इस बारे में सोचें: क्या दो दृष्टिकोण समान हैं? और यदि अनुकूलन संदर्भ और मशीन सीखने के संदर्भ में बेहतर न हो तो ?

में अनुकूलन साहित्य , दो दृष्टिकोण एक ही हैं। जैसा कि वे दोनों इष्टतम समाधान के लिए अभिसरण करते हैं । दूसरी ओर, मशीन सीखने में , वे समान नहीं हैं। क्योंकि ज्यादातर मामलों में हम सेट किए गए प्रशिक्षण में नुकसान नहीं करते हैं जो ओवर-फिटिंग का कारण होगा।0

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

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

0.15000.0

यही कारण है कि छोटी सीखने की दर "अधिक नियमितताओं" के बराबर है।

यहां प्रयोगात्मक डेटा पर विभिन्न सीखने की दर का उपयोग करने का एक उदाहरण है xgboost। कृपया क्या करता है etaया देखने के लिए दो लिंक follwoing की जाँच करें n_iterations

ट्री बूस्टर के लिए पैरामीटर

XGBoost कंट्रोल ओवरफिटिंग

50

XGBoost मॉडल में सीखने की दर ETA को बदलने का उदाहरण

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


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

धन्यवाद। क्या आप अपने लिंक अपडेट कर सकते हैं? वे मेरे लिए काम नहीं करते हैं
एंटोनी

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

या मुझे कुछ याद आ रहा है :)
उत्सुक

This is why small learning rate is sort of equal to "more regularizations"। इस पत्र के अनुसार, सीखने की दर जितनी अधिक होगी, उतना अधिक नियमितीकरण: सुपर-कन्वर्जेन्स: लर्निंग रेट्स का उपयोग करते हुए न्यूरल नेटवर्क्स का बहुत तेज़ प्रशिक्षण
एंटोनी

2

न्यूटन की विधि के साथ, आप नुकसान की वक्रता से विभाजित नुकसान की ढाल को घटाकर अपने मापदंडों को अपडेट करते हैं। ग्रेडिएंट डिसेंट ऑप्टिमाइज़ेशन में, आप अपने मापदंडों को सीखने की दर के नुकसान के ग्रेडिएंट को घटाकर अपडेट करते हैं। दूसरे शब्दों में, वास्तविक हानि वक्रता के स्थान पर सीखने की दर का पारस्परिक उपयोग किया जाता है।

आइए समस्या के नुकसान को परिभाषित करें कि वह नुकसान जो परिभाषित करता है कि एक अच्छा मॉडल क्या है बनाम एक बुरा। यह सही नुकसान है। आइए अनुकूलित होने वाले नुकसान को परिभाषित करें कि आपके अपडेट नियमों द्वारा वास्तव में क्या कम किया गया है।

परिभाषा के अनुसार, एक नियमितीकरण पैरामीटर किसी भी शब्द है जो अनुकूलित नुकसान में है, लेकिन समस्या हानि नहीं है। चूंकि सीखने की दर अनुकूलित नुकसान में एक अतिरिक्त द्विघात अवधि की तरह काम कर रही है, लेकिन समस्या के नुकसान के साथ इसका कोई लेना-देना नहीं है, यह एक नियमितीकरण पैरामीटर है।

नियमितीकरण के अन्य उदाहरण जो इस परिप्रेक्ष्य को सही ठहराते हैं:

  • वजन में गिरावट, जो अनुकूलित वजन में एक अतिरिक्त अवधि की तरह है जो बड़े वजन को दंडित करता है,
  • ऐसे शब्द जो जटिल मॉडल को दंडित करते हैं, और
  • शर्तें जो सुविधाओं के बीच सहसंबंधों को दंडित करती हैं।

- मुझे नहीं मिलता In other words, the reciprocal of the learning rate is used in place of the real loss curvature। - मैं एक डोमेन विशेषज्ञ नहीं हूं और यह पहली बार है जब मुझे परिभाषा दिखाई दे रही है a regularization parameter is any term that is in the optimized loss, but not the problem loss:। मैं भी नहीं मिलता है। क्या आप कृपया एक प्रासंगिक संदर्भ प्रदान कर सकते हैं? अग्रिम धन्यवाद
एंटोनी

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