मशीन लर्निंग में ओवरफिटिंग क्या है और इससे कैसे बचें?



इस लेख में मशीन लर्निंग में ओवरफिटिंग को शामिल किया गया है और मशीन सीखने के मॉडल में ओवरफिटिंग से बचने के लिए कुछ तकनीकों का पता लगाया जाता है।

मशीन लर्निंग मॉडल का निर्माण केवल डेटा खिलाने के बारे में नहीं है, इसमें कई कमियां हैं जो किसी भी मॉडल की सटीकता को प्रभावित करती हैं। में ओवरफिटिंग मशीन लर्निंग में एक ऐसी कमी है जो सटीकता और साथ ही मॉडल के प्रदर्शन में बाधा डालती है। इस लेख में निम्नलिखित विषय शामिल हैं:

मशीन सीखने में ओवरफिटिंग क्या है?

एक सांख्यिकीय मॉडल को ओवरफिट कहा जाता है जब हम इसे आवश्यकता से अधिक डेटा खिलाते हैं। इसे भरोसेमंद बनाने के लिए, ओवरसाइज़्ड परिधान में फिट होने की कोशिश करें।





जब कोई मॉडल वास्तव में जरूरत से ज्यादा डेटा फिट करता है, तो वह डेटा में शोर डेटा और गलत मूल्यों को पकड़ना शुरू कर देता है। नतीजतन, मॉडल की दक्षता और सटीकता कम हो जाती है। आइए हम यह समझने के लिए कि यह वास्तव में कैसे होता है, ओवरफिटिंग के कुछ उदाहरणों पर एक नज़र डालते हैं।



ओवरफिटिंग के उदाहरण

उदाहरण 1

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



ऊपर की छवि में देखी गई रेखा एक नए डेटा बिंदु के लिए बहुत ही कुशल परिणाम दे सकती है। ओवरफिटिंग के मामले में, जब हम डेटा सेट पर प्रशिक्षण एल्गोरिथ्म चलाते हैं, तो हम लागत को पुनरावृत्ति की प्रत्येक संख्या के साथ कम करने की अनुमति देते हैं।

यह चल रहा है बहुत समय के लिए कम लागत का मतलब होगा लेकिन यह डेटा सेट से शोर डेटा को भी फिट करेगा। परिणाम नीचे दिए गए ग्राफ़ की तरह दिखाई देगा।

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

अब एक समस्या कथन की सहायता से एक अधिक वर्णनात्मक उदाहरण पर विचार करते हैं।

शुरुआती के लिए सबसे अच्छा जावा विचारधारा

उदाहरण 2

समस्या का विवरण: आइए हम विचार करें कि हम भविष्यवाणी करना चाहते हैं कि क्या कोई फुटबॉल खिलाड़ी टियर 2 लीग में अपने वर्तमान प्रदर्शन के आधार पर टियर 1 फुटबॉल क्लब में स्लॉट उतारेगा।

अब कल्पना कीजिए, हम परिणामों के साथ 10,000 ऐसे खिलाड़ियों के साथ मॉडल को प्रशिक्षित और फिट करते हैं। जब हम मूल डेटा सेट पर परिणाम की भविष्यवाणी करने की कोशिश करते हैं, तो हम कहते हैं कि हमें 99% सटीकता मिली है। लेकिन एक अलग डेटा सेट पर सटीकता लगभग 50 प्रतिशत है। इसका मतलब यह है कि मॉडल हमारे प्रशिक्षण डेटा और अनदेखी डेटा से अच्छी तरह से सामान्यीकृत नहीं है।

यह ओवरफिटिंग जैसा दिखता है। यह मशीन लर्निंग और यहां तक ​​कि डेटा विज्ञान में एक बहुत ही आम समस्या है। अब हम सिग्नल और शोर को समझते हैं।

सिग्नल बनाम शोर

भविष्य कहनेवाला मॉडलिंग में, संकेत वास्तविक अंतर्निहित पैटर्न को संदर्भित करता है जो मॉडल को डेटा सीखने में मदद करता है। दूसरी ओर, शोर डेटा सेट में अप्रासंगिक और यादृच्छिक डेटा है। शोर और संकेत की अवधारणा को समझने के लिए, आइए हम एक वास्तविक जीवन का उदाहरण लें।

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

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

अंडरफ़िटिंग क्या है?

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

अब जब हम समझ गए हैं कि मशीन लर्निंग में क्या कम और ओवरफिटिंग है, तो आइए हम यह समझने की कोशिश करें कि हम मशीन लर्निंग में ओवरफिटिंग का पता कैसे लगा सकते हैं।

ओवरफिटिंग का पता कैसे लगाएं?

ओवरफिटिंग के साथ मुख्य चुनौती नए डेटा के साथ हमारे मॉडल के प्रदर्शन की सटीकता का अनुमान लगाना है। जब तक हम वास्तव में इसका परीक्षण नहीं करेंगे तब तक हम सटीकता का अनुमान नहीं लगा पाएंगे।

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

इसे एक उदाहरण से समझते हैं, कल्पना करें कि हमें प्रशिक्षण सेट पर 90+ प्रतिशत सटीकता और परीक्षण सेट पर 50 प्रतिशत सटीकता प्राप्त होती है। फिर, स्वचालित रूप से यह मॉडल के लिए एक लाल झंडा होगा।

ओवरफिटिंग का पता लगाने का दूसरा तरीका एक सरलीकृत मॉडल के साथ शुरू करना है जो एक बेंचमार्क के रूप में काम करेगा।

इस दृष्टिकोण के साथ, यदि आप अधिक जटिल एल्गोरिदम की कोशिश करते हैं, तो आप यह समझने में सक्षम होंगे कि क्या अतिरिक्त जटिलता मॉडल के लिए भी सार्थक है या नहीं। इसे के रूप में भी जाना जाता है व्यापम का उस्तरा परीक्षण , यह मूल रूप से दो मॉडलों के मामले में तुलनीय प्रदर्शन के मामले में सरलीकृत मॉडल का चयन करता है। हालांकि ओवरफिटिंग का पता लगाना एक अच्छा अभ्यास है,लेकिन ओवरफिटिंग को रोकने के लिए कई तकनीकें भी हैं। आइए हम एक नजर डालते हैं कि हम मशीन लर्निंग में ओवरफिटिंग को कैसे रोक सकते हैं।

मशीन सीखने में ओवरफिटिंग से कैसे बचें?

पूरी तरह से नीचे सूचीबद्ध मशीन लर्निंग में ओवरफिटिंग से बचने के लिए कई तकनीकें हैं।

  1. पार सत्यापन

  2. अधिक डेटा के साथ प्रशिक्षण

  3. सुविधाएँ निकालना

  4. जल्दी रोकना

  5. नियमितीकरण

    जावा में एक पैकेज बनाएँ
  6. कोडांतरण

1. क्रॉस-वैलिडेशन

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

एक मानक k- गुना सत्यापन में, डेटा को k-subsets में विभाजित किया जाता है जिसे सिलवटों के रूप में भी जाना जाता है। इसके बाद, एल्गोरिथ्म को k-1 सिलवटों पर पुनरावृत्त रूप से प्रशिक्षित किया जाता है, जबकि बचे हुए सिलवटों को परीक्षण सेट के रूप में उपयोग किया जाता है, जिसे होल्डआउट गुना भी कहा जाता है।

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

2. अधिक डेटा के साथ प्रशिक्षण

यह तकनीक हर बार काम नहीं कर सकती है, जैसा कि हमने ऊपर दिए गए उदाहरण में भी चर्चा की है, जहां महत्वपूर्ण मात्रा में जनसंख्या के साथ प्रशिक्षण मॉडल की मदद करता है। यह मूल रूप से सिग्नल की बेहतर पहचान करने में मॉडल की मदद करता है।

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

3. सुविधाएँ निकालना

हालांकि कुछ एल्गोरिदम में सुविधाओं का एक स्वचालित चयन होता है। उन लोगों की एक महत्वपूर्ण संख्या के लिए जिनके पास अंतर्निहित सुविधा चयन नहीं है, हम सामान्यीकरण में सुधार करने के लिए इनपुट सुविधाओं से मैन्युअल रूप से कुछ अप्रासंगिक सुविधाओं को हटा सकते हैं।

इसका एक तरीका यह है कि किसी निष्कर्ष को मॉडल में फिट करने के तरीके के बारे में निष्कर्ष निकाला जाए। यह कोड लाइन-दर-लाइन डिबगिंग के समान है।

यदि कोई विशेषता मॉडल में प्रासंगिकता की व्याख्या करने में असमर्थ है, तो हम केवल उन विशेषताओं की पहचान कर सकते हैं। हम एक अच्छे प्रारंभिक बिंदु के लिए कुछ सुविधा चयन उत्तराधिकार का भी उपयोग कर सकते हैं।

4. जल्दी रोकना

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

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

5. नियमितीकरण

मूल रूप से इसका मतलब है, कृत्रिम रूप से अपने मॉडल को व्यापक श्रेणी की तकनीकों का उपयोग करके सरल बनाना। यह पूरी तरह से सीखने वाले के प्रकार पर निर्भर करता है जिसका हम उपयोग कर रहे हैं। उदाहरण के लिए, हम एक prune कर सकते हैं , एक ड्रॉपआउट का उपयोग करें तंत्रिका नेटवर्क या प्रतिगमन में लागत फ़ंक्शन के लिए एक दंड पैरामीटर जोड़ें।

अक्सर, नियमितीकरण एक हाइपरपैरमीटर भी होता है। इसका मतलब है कि इसे क्रॉस-वैरिफिकेशन के माध्यम से भी ट्यून किया जा सकता है।

6. गुलाम

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

  • मॉडल से अधिक मौका कम करने के प्रयासों को बदलना

  • सरल मॉडलों के पूर्वानुमान संबंधी लचीलेपन को बेहतर बनाने के प्रयासों को बढ़ावा देना

भले ही वे दोनों पहनावा तरीके हैं, लेकिन दृष्टिकोण पूरी तरह से विपरीत दिशाओं से शुरू होता है। बैगिंग जटिल बेस मॉडल का उपयोग करता है और सरल बेस मॉडल का उपयोग करते हुए अपनी भविष्यवाणियों को चिकना करने की कोशिश करता है और इसकी समग्र जटिलता को बढ़ावा देने की कोशिश करता है।

फ़िट की अच्छाई क्या है?

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

व्यापार और पूर्वाग्रह के बीच विराम

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

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

बायस

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

आइए हम फिटिंग की कल्पना करते हैं रेखीय प्रतिगमन गैर-रेखीय डेटा वाले मॉडल के लिए। कोई फर्क नहीं पड़ता कि मॉडल कितनी कुशलता से टिप्पणियों को सीखता है, यह वक्रों को कुशलता से मॉडल नहीं करेगा। इसे अंडरफिटिंग के नाम से जाना जाता है।

विचरण करनेवाला

यह प्रशिक्षण डेटा में विशिष्ट सेटों के प्रति मॉडल की संवेदनशीलता को संदर्भित करता है। एक उच्च विचरण एल्गोरिथ्म एक विचित्र मॉडल का उत्पादन करेगा जो प्रशिक्षण सेट से काफी अलग है।

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

बायस-वेरिएंस ट्रेड-ऑफ

एक मशीन लर्निंग एल्गोरिदम को मॉडल के प्रशिक्षण के लिए एक बार की विधि के रूप में नहीं माना जा सकता है, इसके बजाय, यह एक दोहराव प्रक्रिया है।

सरल और कठोर संरचना के साथ कम विचरण-उच्च पूर्वाग्रह एल्गोरिदम कम जटिल हैं।

  • वे उन मॉडलों को प्रशिक्षित करेंगे जो लगातार हैं, लेकिन औसत रूप से गलत हैं।

  • इनमें रेखीय या पैरामीट्रिक एल्गोरिदम शामिल हैं, जैसे प्रतिगमन, , आदि।

उच्च विचरण-कम पूर्वाग्रह एल्गोरिदम एक लचीली संरचना के साथ अधिक जटिल होते हैं।

  • वे उन मॉडलों को प्रशिक्षित करेंगे जो असंगत हैं लेकिन औसतन सटीक हैं।

  • इनमें गैर-रेखीय या गैर-पैरामीट्रिक एल्गोरिदम जैसे शामिल हैं , , आदि।

यह हमें इस लेख के अंत में लाता है जहां हमने मशीन लर्निंग में ओवरफिटिंग और इससे बचने के लिए विभिन्न तकनीकों के बारे में सीखा है। मुझे आशा है कि आप इस ट्यूटोरियल में आपके साथ साझा किए गए सभी के साथ स्पष्ट हैं।

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

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

जावा में पूजो क्या है

यदि आपको कोई प्रश्न आता है, तो 'ओवरफिटिंग इन मशीन लर्निंग' के टिप्पणी अनुभाग में अपने सभी प्रश्न पूछने के लिए स्वतंत्र महसूस करें और हमारी टीम जवाब देने में प्रसन्न होगी।