प्रतिगमन में ओवरफिटिंग से बचें: नियमितीकरण के विकल्प


19

प्रतिगमन में नियमितीकरण (लीनियर, लॉजिस्टिक ...) ओवर-फिटिंग को कम करने का सबसे लोकप्रिय तरीका है।

जब लक्ष्य भविष्यवाणी सटीकता (व्याख्या नहीं) है, तो क्या नियमितीकरण के लिए कोई अच्छा विकल्प हैं, विशेष रूप से बड़े डेटा-सेट (मील / अरबों टिप्पणियों और लाखों विशेषताओं) के लिए उपयुक्त हैं?


3
"बिग डेटासेट" का अर्थ बहुत सारी टिप्पणियों, बहुत सारे चर या दोनों हो सकता है, और इसका उत्तर टिप्पणियों और चर की संख्या पर निर्भर हो सकता है।
पेरे

मानक नियमितीकरण का उपयोग क्यों नहीं किया जाता है? तंत्रिका नेटवर्क के लिए, ड्रॉपआउट है
seanv507

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

1
यह ब्याज की हो सकती है: आंकड़े.stackexchange.com/a/161592/40604
दान

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

जवाबों:


11

दो महत्वपूर्ण बिंदु जो सीधे आपके प्रश्न से संबंधित नहीं हैं:

  • सबसे पहले, यहां तक ​​कि लक्ष्य व्याख्या के बजाय सटीकता है, नियमितीकरण अभी भी कई मामलों में आवश्यक है, क्योंकि, यह वास्तविक परीक्षण / उत्पादन डेटा सेट पर "उच्च सटीकता" सुनिश्चित करेगा, न कि मॉडलिंग के लिए उपयोग किए जाने वाले डेटा।

  • दूसरा, यदि अरब पंक्तियाँ और मिलियन कॉलम हैं, तो संभव है कि किसी नियमितीकरण की आवश्यकता न हो। ऐसा इसलिए है क्योंकि डेटा बहुत बड़ा है, और कई कम्प्यूटेशनल मॉडल में "सीमित शक्ति" है, अर्थात, इसे ओवरफिट करना लगभग असंभव है। यही कारण है कि कुछ गहरे तंत्रिका नेटवर्क में अरबों पैरामीटर हैं।


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

  • सरल मॉडल का उपयोग करें (उदाहरण के लिए, तंत्रिका नेटवर्क में छिपी इकाई की संख्या को कम करें। एसवीएम में निचले क्रम के बहुपद कर्नेल का उपयोग करें। गाऊसी के मिश्रण में गाऊसी की संख्या कम करें।)

  • अनुकूलन में जल्दी बंद करो। (उदाहरण के लिए, तंत्रिका नेटवर्क प्रशिक्षण में युग को कम करें, अनुकूलन में पुनरावृत्तियों की संख्या कम करें (सीजी, बीएफजीएस, आदि)

  • कई मॉडलों पर औसत (उदाहरण के लिए, यादृच्छिक वन आदि)


बहुत बहुत धन्यवाद। दूसरा विकल्प (जल्दी बंद करो) वह है जो हम वर्तमान में SGD के साथ प्रयास कर रहे हैं। यह अच्छी तरह से काम करता है। हम जल्द ही इसकी तुलना नियमितीकरण से करना चाहते हैं। क्या आप इस विधि का उल्लेख करने वाले किसी लेख से अवगत हैं?
बेनोइट सांचेज़

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

क्योंकि आपने ग्रेडिएंट्स का अनुसरण किया, आपने सही न्यूनतम पथ का अनुसरण किया, इसलिए आप लगभग समय के रिज समाधान के आसपास समाप्त हो जाएंगे। मुझे यकीन नहीं है कि आप इस विचार की ट्रेन को कितना कठोर बना सकते हैं, लेकिन एक रिश्ता हो सकता है।
मैथ्यू

@BenoitSanchez यह पेपर प्रासंगिक हो सकता है। लेखकों ने एक अलग समस्या (eigenvector संगणना में ओवरफिटिंग) से निपटने के लिए, लेकिन ओवरफिटिंग से निपटने के लिए रणनीति एक ही है (यानी गणना को कम करके नियमितिकरण निहित है)। रणनीति एक सस्ती समस्या को हल करना है जो एक अनुमानित समाधान पैदा करता है (जो - मुझे लगता है - अनुकूलन में जल्दी रोक के रूप में ही है)।
बर्क यू।

@BenoitSanchez मैं यह सलाह देता हूं। लोरेंजो के व्याख्यान यूट्यूबर
डेविड कोज़ाक

14

नियमितीकरण के दो विकल्प:

  1. कई, कई अवलोकन हैं
  2. एक सरल मॉडल का उपयोग करें

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

टिप्पणियों की निश्चित संख्या के साथ, आप एक सरल मॉडल का विकल्प भी चुन सकते हैं। आपको शायद एक अवरोधन, ढलान और एक साधारण रेखीय प्रतिगमन में त्रुटि विचलन का अनुमान लगाने के लिए नियमितीकरण की आवश्यकता नहीं है।


3

ओवरफिटिंग से बचने के लिए कुछ अतिरिक्त संभावनाएं

  • आयाम में कमी

    ml<<m

  • सुविधा चयन (आयामीता में कमी)

    आप निम्न आयामी सुविधा स्थान प्राप्त करने के लिए सुविधा चयन का एक राउंड (जैसे कि LASSO का उपयोग) कर सकते हैं। LASSO का उपयोग करके फीचर चयन की तरह कुछ उपयोगी हो सकता है अगर कुछ बड़े लेकिन अज्ञात उपसमुच्चय अप्रासंगिक हैं।

  • रैंडम फ़ॉरेस्ट जैसे ओवरफ़िटिंग के लिए कम एल्गोरिदम का उपयोग करें। (सेटिंग्स, सुविधाओं की संख्या आदि के आधार पर ..., ये साधारण से कम वर्गों की तुलना में अधिक कम्प्यूटेशनल रूप से महंगे हो सकते हैं।)

    अन्य जवाबों में से कुछ ने तकनीकों / एल्गोरिदम को बढ़ावा देने और प्राप्त करने के लाभों का भी उल्लेख किया है।

  • बायेसियन तरीके

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


2

यदि आप एक सॉल्वर के साथ एक मॉडल का उपयोग कर रहे हैं, जहां आप पुनरावृत्तियों / युगों की संख्या को परिभाषित कर सकते हैं, तो आप सत्यापन त्रुटि को ट्रैक कर सकते हैं और प्रारंभिक रोक लगा सकते हैं: एल्गोरिथ्म को रोकें, जब सत्यापन त्रुटि बढ़नी शुरू हो जाती है।


1
यह प्रश्न स्पष्ट प्रतिगमन (रैखिक, लॉजिस्टिक) मॉडल के बारे में पूछता है।
मैथ्यू

2
तकनीकी रूप से बोलने वाले लीनियर और लॉजिस्टिक रिग्रेशन बहुत ही सरल तंत्रिका नेटवर्क हैं।
एंड्री लुक्यानेंको

2
मुझे नहीं लगता कि यह मेरा विश्वास बदलता है कि यह पूछे गए सवाल का जवाब नहीं देता है। यदि आपने इसे यह कहने के लिए फिर से लिखा है "यदि आप कुछ प्रकार के ढाल वंश के साथ प्रतिगमन को फिट करते हैं, और शुरुआती रोक लागू करते हैं" तो बेहतर होगा।
मैथ्यू पारा

यहां तक ​​कि स्केलेरोन में कई मॉडल हैं जो पैरामीटर को पुनरावृत्तियों की संख्या को सीमित करने का समर्थन करते हैं। इसका उपयोग सटीकता को ट्रैक करने के लिए किया जा सकता है। लेकिन मुझे लगता है कि आप सही हैं कि शब्द सही नहीं है।
एंड्री लुक्यानेंको

1

दो विचार:

  1. मैं बेन ओगोरक द्वारा प्रस्तावित "एक सरल मॉडल का उपयोग करें" रणनीति को दूसरा कहता हूं

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

    n/d

  2. यदि आप अपने मॉडल के लिए अतिरिक्त बाधाओं को निर्दिष्ट कर सकते हैं (जैसे एकरूपता की कमी, साइड जानकारी), तो यह भी परिकल्पना स्थान को कम करके सामान्यीकरण में मदद कर सकता है (उदाहरण के लिए यह पेपर देखें )।

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

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