ओवरफ़िटिंग: मॉडल की जटिलता

पिछली यूनिट में नीचे दिए गए मॉडल की जानकारी दी गई थी, जो बहुत कुछ गलत कैटगरी में बांटी गई थी टेस्ट सेट में पेड़ों की संख्या:

इमेज 16. वही इमेज जो इमेज 13 में दी गई है. यह एक जटिल आकार है
            कई पेड़ों को गलत कैटगरी में बांटता है.
16वीं इमेज. पिछली इकाई का दुर्व्यवहार करने वाला जटिल मॉडल.

पिछले मॉडल में कई जटिल आकार थे. थोड़ा और आसान होता क्या यह मॉडल नए डेटा को बेहतर तरीके से हैंडल करता है? मान लें कि आप जटिल मॉडल को एक सरल मॉडल है--एक सीधी रेखा.

इमेज 17. एक सीधी रेखा वाला मॉडल, जो बहुत बढ़िया काम करता है
            बीमार पेड़ों को स्वस्थ पेड़ों से अलग करना.
17वीं इमेज. बहुत आसान मॉडल.

आसान मॉडल, नए डेटा के लिए कॉम्प्लेक्स मॉडल को सामान्य मॉडल के मुकाबले बेहतर बनाता है. इसका मतलब है कि इस आसान मॉडल ने कॉम्प्लेक्स मॉडल की तुलना में टेस्ट सेट पर बेहतर अनुमान लगाए.

सरलता लंबे समय से जटिलताओं को तोड़ रही है. असल में, सरलता को प्राथमिकता दी जाती है जो प्राचीन ग्रीस से है. सदियों बाद, विलियम ऑफ़ ऑक्कम नाम के चौदहवीं सदी के एक संतरी ने अपनी प्राथमिकताओं को औपचारिक रूप से इसके सिद्धांत को सरल बनाने के लिए, Occam's रेज़र. यह सिद्धांत कई विज्ञान का एक अहम सिद्धांत है. इनमें ये शामिल हैं मशीन लर्निंग.

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

आप भौतिकी का एक समीकरण बना रहे हैं. इनमें से कौनसा फ़ॉर्मूला Occam के रेज़र के और करीब से अनुरूप है?
तीन वैरिएबल वाला फ़ॉर्मूला.
12 वैरिएबल की तुलना में, तीन वैरिएबल ज़्यादा ऑकैम-फ़्रेंडली हैं.
12 वैरिएबल वाला फ़ॉर्मूला.
12 वैरिएबल बहुत जटिल लगते हैं, है न? भौतिकी के दो सबसे प्रसिद्ध सूत्र (F=ma और E=mc2) हर वैरिएबल में सिर्फ़ तीन वैरिएबल शामिल होते हैं.
आप एक बिलकुल नए मशीन लर्निंग प्रोजेक्ट पर हैं. इसमें में मिलने वाले अनुभव को ध्यान में रखकर बनाया गया है. आपको कितनी सुविधाएं चुननी चाहिए?
ऐसी एक से तीन सुविधाएं चुनें जिनमें अनुमान लगाने की ज़्यादा क्षमता हो.
बेहतर होगा कि आपकी डेटा कलेक्शन पाइपलाइन के लिए, किसी एक या दो सुविधाएं उपलब्ध हैं. इससे आपको यह पुष्टि करने में मदद मिलेगी कि एमएल मॉडल उम्मीद के मुताबिक काम कर रहा है. साथ ही, जब आप कुछ सुविधाओं से बेसलाइन बनाते हैं, आपको लगेगा कि आपकी प्रोग्रेस दिख रही है!
ऐसी चार से छह सुविधाएं चुनें जिनमें अनुमान लगाने की बेहतर क्षमता हो.
हो सकता है कि आप इन सुविधाओं का इस्तेमाल करें, लेकिन बेहतर होगा कि आप कम से कम शब्दों से शुरुआत करें. आम तौर पर, कम सुविधाओं का इस्तेमाल करने पर ग़ैर-ज़रूरी सुविधाएं कम होती हैं Android घड़ी के विजेट.
ज़्यादा से ज़्यादा सुविधाएं चुनें, ताकि आप यह देखना शुरू कर सकें कि सुविधाओं में डेटा का अनुमान लगाने के लिए, सबसे बेहतर सोर्स होता है.
छोटी राशि से शुरू करें. हर नई सुविधा, आपकी ट्रेनिंग को एक नया डाइमेंशन देती है डेटासेट. जब डाइमेंशनिटी बढ़ती है, तो स्पेस का वॉल्यूम इतना तेज़ी से बढ़ जाता है कि उपलब्ध ट्रेनिंग डेटा, बहुत कम हो जाता है. कॉन्टेंट बनाने आपके डेटा को कम करते हैं, तो मॉडल के लिए एक-दूसरे के साथ जुड़ाव को समझना उतना ही मुश्किल होता है के बीच लेबल को शामिल करें. यह घटना को "डाइमेंशनलिटी का अभिशाप" कहा जाता है.

रेगुलराइज़ेशन

मशीन लर्निंग मॉडल को दो विरोधी लक्ष्य एक साथ पूरे करने होंगे:

  • डेटा को सही तरीके से फ़िट करें.
  • डेटा को जितना हो सके उतना आसानी से फ़िट करें.

किसी मॉडल को सरल बनाए रखने का एक तरीका यह है कि जटिल मॉडल को दंड दिया जाए; इसका मतलब है कि मॉडल को ट्रेनिंग के दौरान इस्तेमाल करना आसान बनाने के लिए. पेनलिंग कॉम्प्लेक्स मॉडल, रेगुलराइज़ेशन का एक तरीका है.

नुकसान और जटिलता

अब तक, इस कोर्स का सुझाव है कि ट्रेनिंग के दौरान सिर्फ़ नुकसान को कम से कम करना; इसका मतलब है:

$$\text{minimize(loss)}$$

आपने देखा है कि सिर्फ़ नुकसान को कम करने पर फ़ोकस करने वाले मॉडल, ज़रूरत से ज़्यादा फ़िट होते हैं. एक बेहतर ट्रेनिंग ऑप्टिमाइज़ेशन एल्गोरिदम, नुकसान और जटिलता:

$$\text{minimize(loss + complexity)}$$

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

जटिलता क्या है?

आपने नुकसान का आकलन करने के कुछ अलग-अलग तरीके पहले ही देख लिए हैं. कैसे करते और जटिलताओं को मापा जा सकता है? नीचे दिए गए तरीके से अपना एक्सप्लोरेशन शुरू करें:

कसरत: अपने दिल की सुनें

अब तक, हमें इस बारे में साफ़ तौर पर पता नहीं है कि असल में समस्या किस तरह की है है. आपके हिसाब से इनमें से कौनसे आइडिया सही होंगे जटिलता मेट्रिक को कैसे तय करना है?
जटिलता, मॉडल के वेट का एक फ़ंक्शन है.
हां, यह कुछ मॉडल को मापने का एक तरीका है जटिलता. इस मेट्रिक को L1 रेगुलराइज़ेशन.
कॉम्प्लेक्सिटी का मतलब, मॉडल के वेट के स्क्वेयर फ़ंक्शन से है.
हां, आप कुछ मॉडल माप सकते हैं' आसान बनाई जा सकती हैं. इस मेट्रिक में कॉल किया जाता है L2 रेगुलराइज़ेशन.
जटिलता का मतलब है कि सभी विशेषताओं के पक्षपातपूर्ण हैं मॉडल.
बायस, जटिलता का आकलन नहीं करता.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है