ओवरफ़िटिंग

ओवरफ़िटिंग का मतलब है, मॉडल बनाना जो मिलान करता है (याद रखता है) ट्रेनिंग सेट ध्यान रखें कि मॉडल नए डेटा के लिए सही अनुमान नहीं लगा पाता. ओवरफ़िट मॉडल ऐसे आविष्कार की तरह ही होता है जो लैब में अच्छा परफ़ॉर्म करता है, लेकिन वास्तविक दुनिया में कुछ भी उपयोगी नहीं है.

आकृति 11 में, कल्पना करें कि प्रत्येक ज्यामितीय आकार एक पेड़ की स्थिति को दिखाता है एक वर्गाकार जंगल में. नीले हीरों से पता चलता है कि पेड़-पौधे कौनसे हैं, जबकि नारंगी रंग के गोले, बीमार पेड़ों की जगह पर निशान लगाते हैं.

इमेज 11. इस आकृति में लगभग 60 बिंदु हैं, जिनमें से आधे बिंदु
            स्वस्थ पेड़ और बाकी आधे बीमार पेड़.
            स्वस्थ पेड़ मुख्य रूप से उत्तर-पूर्व चतुर्भुज में पाए जाते हैं, हालांकि कुछ की संख्या
            स्वस्थ पेड़ उत्तर-पश्चिम चतुर्भुजों में घुस जाते हैं. बीमार पेड़
            वे मुख्य रूप से दक्षिण-पूर्व चतुर्भुज में हैं, लेकिन कुछ बीमार पेड़
            अन्य क्वाड्रेंट में फैल सकता है.
11वीं इमेज. ट्रेनिंग सेट: स्क्वेयर जंगल में स्वस्थ और बीमार पेड़ों की जगहें.

 

अलग-अलग करने के लिए, दिमागी तौर पर कोई भी आकार—लाइन, कर्व, अंडाकार...कुछ भी बनाएं—बनाएं बीमार पेड़ों से सुरक्षित रूप से बचे हुए पेड़. इसके बाद, जानकारी देखने के लिए अगली लाइन को बड़ा करें से अलग हो सकता है.

चित्र 12 में दिखाए गए जटिल आकारों को छोड़कर बाकी सभी को सफलतापूर्वक वर्गीकृत किया गया है पेड़. अगर हम आकृतियों को मॉडल के रूप में देखें, तो यह बहुत बढ़िया है मॉडल.

या फिर ऐसा होना चाहिए? एक सही मायनों में एक बेहतरीन मॉडल, नए उदाहरणों को सही कैटगरी में बांटता है. इमेज 13 में दिखाया गया है कि जब वही मॉडल नए प्रॉडक्ट के लिए अनुमान लगाता है, तो क्या होता है टेस्ट सेट के उदाहरण:

इमेज 13. स्वस्थ और बीमार पेड़ों का एक नया बैच
            इमेज 12 में दिखाया गया मॉडल. यह मॉडल
            पेड़.
इमेज 13.टेस्ट सेट: बीमार पेड़ों और स्वस्थ पेड़ों के बीच अंतर करने के लिए एक जटिल मॉडल.

 

इसलिए, इमेज 12 में दिखाए गए कॉम्प्लेक्स मॉडल ने ट्रेनिंग सेट पर अच्छा काम किया लेकिन टेस्ट सेट पर यह काम बहुत बुरा रहा. यह मॉडल का क्लासिक केस है ओवरफ़िट करना.

फ़िटिंग, ओवरफ़िटिंग, और अंडरफ़िटिंग

मॉडल को नए डेटा के लिए अच्छे अनुमान लगाने चाहिए. इसका मतलब है कि आपको ऐसा मॉडल बनाना है जो "फ़िट" हो नया डेटा है.

आपने देखा कि ओवरफ़िट मॉडल, ट्रेनिंग के लिए सबसे सही अनुमान लगाता है सेट है, लेकिन नए डेटा के लिए अनुमान खराब हैं. अगर आप अंडरफ़िट मॉडल ट्रेनिंग डेटा का सही अनुमान भी नहीं लगा पाता. अगर ओवरफ़िट मॉडल ऐसे प्रॉडक्ट जो लैब में अच्छा परफ़ॉर्म करते हैं, लेकिन असल दुनिया में खराब परफ़ॉर्म करते हैं, तो अंडरफ़िट मॉडल उस प्रॉडक्ट की तरह है जो बेहतर परफ़ॉर्म भी नहीं करता को भी बनाए रख सकते हैं.

इमेज 14. कार्टिज़न प्लॉट. X-ऐक्सिस पर 'अनुमान की क्वालिटी' का लेबल लगा है
            ट्रेनिंग सेट पर मौजूद हैं.' Y-ऐक्सिस पर 'परफ़ॉर्मेंस के अनुमान की क्वालिटी' का लेबल लगा है
            पर आधारित होता है.' वक्र शुरुआत की जगह से शुरू होता है और धीरे-धीरे बढ़ता है,
            लेकिन तेज़ी से कम हो जाता है. कर्व का निचला बायां हिस्सा
            (असल दुनिया के डेटा पर सुझावों की खराब क्वालिटी और खराब क्वालिटी के
            सुझाव है) पर 'अंडरफ़िट मॉडल' का लेबल लगा होगा. कॉन्टेंट बनाने
            कर्व का निचला-दायां हिस्सा (यह चालू होने पर अनुमानों की क्वालिटी खराब है)
            असल दुनिया का डेटा, लेकिन ट्रेनिंग सेट पर सुझावों की अच्छी क्वालिटी)
            को 'ओवरफ़िट मॉडल' का लेबल दिया गया है. कर्व का सबसे ऊपरी हिस्सा (अच्छी क्वालिटी)
            और मीडियम क्वालिटी के अनुमान पर, असल दुनिया के डेटा पर
            ट्रेनिंग सेट पर) 'फ़िट मॉडल' का लेबल होता है.
14वीं इमेज. अंडरफ़िट, फ़िट, और ज़्यादा फ़िट होने वाले मॉडल.

 

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

ओवरफ़िटिंग का पता लगाना

यहां दिए गए कर्व की मदद से, ज़रूरत से ज़्यादा फ़िट होने वाली कसरत का पता लगाया जा सकता है:

  • लॉस कर्व
  • सामान्यीकरण कर्व

लॉस कर्व से, मॉडल के लॉस का अनुमान लगाया जाता है बार-बार ट्रेनिंग नहीं दी जा सकती. दो या दो से ज़्यादा लॉस कर्व दिखाने वाले ग्राफ़ को सामान्यीकरण कहा जाता है कर्व. नीचे दिए गए सामान्यीकरण कर्व दो लॉस कर्व दिखाता है:

इमेज 15. ट्रेनिंग सेट करने के लिए, लॉस फ़ंक्शन धीरे-धीरे सेट किया जाता है
            अस्वीकार करता है. पुष्टि करने वाले सेट का लॉस फ़ंक्शन भी अस्वीकार कर दिया जाता है,
            लेकिन फिर, तय बार-बार दोहराए जाने के बाद इसमें बढ़ोतरी होती है.
15वीं इमेज. एक सामान्यीकरण कर्व जो बहुत ज़्यादा फ़िटिंग पर ज़ोर देता है.

 

ध्यान दें कि दो लॉस कर्व पहले समान रूप से व्यवहार करते हैं और फिर विचलन करते हैं. इसका मतलब है कि बार-बार दोहराने के बाद, नुकसान में गिरावट या ट्रेनिंग सेट के लिए स्थिर (अभिरूपित) रहता है, लेकिन बढ़ जाता है का इस्तेमाल करें. यह ओवरफ़िटिंग का सुझाव देता है.

इसके उलट, किसी अच्छी तरह फ़िट होने वाले मॉडल के लिए सामान्यीकरण कर्व दो लॉस कर्व दिखाता है जिनके आकार एक जैसे होते हैं.

ओवरफ़िटिंग की वजह क्या है?

मोटे तौर पर, ओवरफ़िटिंग इनमें से एक या दोनों वजहों से होती है समस्याएं:

  • ट्रेनिंग सेट, असल ज़िंदगी के डेटा को सही तरह से नहीं दिखाता (या पुष्टि करने के लिए सेट या टेस्ट सेट).
  • मॉडल बहुत जटिल है.

सामान्य शर्तें

एक मॉडल, ट्रेनिंग सेट पर ट्रेनिंग लेता है, लेकिन असल में यह देखा जाता है कि मॉडल कितना सही है यह नए उदाहरणों, खास तौर पर असल दुनिया के डेटा पर अनुमान लगाता है. मॉडल डेवलप करते समय, आपका टेस्ट सेट, असल दुनिया के डेटा के लिए प्रॉक्सी के तौर पर काम करता है. आम तौर पर इस्तेमाल किए जाने वाले मॉडल को ट्रेनिंग देने से, डेटासेट की इन शर्तों का पता चलता है:

  • उदाहरण: स्वतंत्र रूप से और एक जैसे तरीके से डिस्ट्रिब्यूट किए गए, जो यह कहने का एक आधुनिक तरीका है कि आपके उदाहरण एक-दूसरे पर असर नहीं डाल सकते.
  • डेटासेट यह है स्टेशनरी, जिसका मतलब है डेटासेट में समय के साथ ज़्यादा बदलाव नहीं होता.
  • डेटासेट पार्टिशन का डिस्ट्रिब्यूशन एक जैसा है. इसका मतलब है कि ट्रेनिंग सेट में मौजूद उदाहरण, आंकड़ों के हिसाब से पुष्टि करने के सेट, टेस्ट सेट, और असल दुनिया के डेटा में उदाहरण के साथ.

नीचे दिए गए अभ्यासों के ज़रिए पिछली स्थितियों के बारे में जानें.

व्यायाम: अपनी समझ को परखें

नीचे दिए गए डेटासेट सेगमेंट पर गौर करें.
एक हॉरिज़ॉन्टल बार, जिसे तीन हिस्सों में बांटा गया है: बार का 70%
                     ट्रेनिंग सेट है, 15% पुष्टि सेट है, और 15%
                     टेस्ट सेट
आपको यह पक्का करने के लिए क्या करना चाहिए कि ट्रेनिंग सेट में मौजूद उदाहरण आंकड़ों का डिस्ट्रिब्यूशन, नीचे दिए गए उदाहरणों से मिलता-जुलता हो और टेस्ट सेट?
डेटासेट के उदाहरणों को, पहले क्रम से बदलने से पहले सेगमेंट में बांटें.
हां. अच्छी तरह से शफ़ल किए गए उदाहरण, सेगमेंट को बेहतर बनाते हैं आंकड़ों के हिसाब से समान हो.
उदाहरणों को सबसे पुराने से सबसे हाल के क्रम में लगाएं.
अगर डेटासेट में दिए गए उदाहरण स्थिर नहीं हैं, तो क्रम से लगाने पर, पार्टिशन कम हो जाते हैं एक जैसा.
कुछ न करें. काफ़ी उदाहरण दिए गए होने पर, औसतों का नियम स्वाभाविक रूप से यह पक्का होता है कि वितरण आंकड़ों के हिसाब से एक जैसा है.
माफ़ करें, ऐसा नहीं है. उदाहरण डेटासेट के कुछ सेक्शन, अन्य सेक्शन में दिए गए सेक्शन.
एक स्ट्रीमिंग सेवा, लोकप्रियता का अनुमान लगाने के लिए एक मॉडल तैयार कर रही है की संभावना बढ़ा रही है. कॉन्टेंट बनाने स्ट्रीमिंग सेवा की योजना, मॉडल को डेटासेट के आधार पर ट्रेनिंग देने की इसमें लाखों उदाहरण शामिल हैं. दस साल. क्या इस मॉडल में कोई समस्या होगी?
शायद। दर्शकों की पिछला व्यवहार जिस तरह से बदल सकता है अनुमान लगाने के लिए.
हां. दर्शकों की पसंद स्थिर नहीं होती है. वे लगातार बदलते रहते हैं.
बिलकुल नहीं. डेटासेट का साइज़ इतना बड़ा है कि सुझाव.
हमें अफ़सोस है कि दर्शकों की स्वाद में कोई बदलाव नहीं होता.
शायद नहीं. दर्शकों की पसंद में उतार-चढ़ाव होता रहता है. दस सालों के डेटा से इस मॉडल को बेहतर अनुमान लगाने में मदद मिलेगी मदद मिलती है.
हालांकि, मनोरंजन के कुछ पहलू कुछ हद तक साइकल वाले होते हैं, लेकिन मनोरंजन के इतिहास से तैयार किया गया मॉडल, असल में अगले कुछ सालों के बारे में अनुमान लगाने में परेशानी हो रही है.
एक मॉडल का लक्ष्य यह अनुमान लगाना है कि लोगों को एक मील चलने में कितना समय लगेगा जो मौसम के डेटा (तापमान, ड्यू पॉइंट, और बारिश या बर्फ़बारी) के आंकड़े एक साल के अंदर मिले, जिनका मौसम अलग-अलग है काफ़ी तेज़ी से बढ़ रहे हैं. क्या इससे मॉडल बनाया और टेस्ट किया जा सकता है हालांकि, मौसम के पूर्वानुमान में नाटकीय रूप से सीज़न?
हां
हां, इस डेटासेट से मॉडल बनाया और टेस्ट किया जा सकता है. आपको बस यह पक्का करना होगा कि डेटा को बराबर बांटा गया है, इसलिए सभी चार मौसमों का डेटा सेगमेंट बनाए जा सकते हैं.
नहीं
यह मानते हुए कि इस डेटासेट में तापमान, ओस के काफ़ी उदाहरण हैं और अवक्षेपण का पता लगाया है, तो उससे एक मॉडल बनाया और उसकी जाँच की जा सकती है यह डेटासेट. आपको बस यह पक्का करना होगा कि डेटा को अलग-अलग सेगमेंट में बांटा गया हो इस प्रकार, सभी चार मौसमों का डेटा समान रूप से वितरित किया जा सकता है. में बांटा जा सकता है.

चैलेंज व्यायाम

आप एक ऐसा मॉडल बना रहे हैं जो राइडर के लिए, वाहन खरीदने की सही तारीख का अनुमान लगाएगा किसी खास रास्ते का ट्रेन टिकट. उदाहरण के लिए, मॉडल आपके समाचार संगठन के लिए, कि उपयोगकर्ता 8 जुलाई को 23 जुलाई को रवाना होने वाली ट्रेन का टिकट खरीदते हैं. ट्रेन कंपनी हर घंटे किराये की जानकारी अपडेट करती है. ऐसा अलग-अलग तरह के अपडेट के हिसाब से किया जाता है कई फ़ैक्टर हैं, लेकिन ये मुख्य रूप से मौजूदा सीटों की संख्या पर निर्भर करते हैं. यानी:

  • अगर बहुत ज़्यादा सीटें उपलब्ध होती हैं, तो आम तौर पर टिकट के शुल्क कम होते हैं.
  • अगर बहुत कम सीटें उपलब्ध होती हैं, तो आम तौर पर टिकट के शुल्क ज़्यादा होते हैं.
आपके मॉडल को कम दिखाया जाता है सत्यापन सेट और परीक्षण सेट में कमी, लेकिन कभी-कभी में असली दुनिया के डेटा पर भयानक पूर्वानुमान लगाए जाते हैं. क्यों?
जवाब देखने के लिए यहां क्लिक करें