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


20

मैंने ओवरफिटिंग और अंडरफिटिंग के बारे में कुछ शोध किया है, और मैंने समझा है कि वे वास्तव में क्या हैं, लेकिन मैं इसके कारणों का पता नहीं लगा सकता।

ओवरफिटिंग और अंडरफिटिंग के मुख्य कारण क्या हैं?

हम एक मॉडल को प्रशिक्षित करने में इन दो समस्याओं का सामना क्यों करते हैं?


जवाबों:


30

मैं सबसे सरल तरीके से जवाब देने की कोशिश करूंगा। उन समस्याओं में से प्रत्येक का अपना मुख्य मूल है:

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

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

इसके लिए अंतर्निहित कारण प्रशिक्षण डेटा में बहुत अधिक भरोसा कर रहा है (और उदाहरण में, मॉडल का कहना है कि जैसा कि 2.04 ऊंचाई वाला कोई पुरुष नहीं है, तो यह केवल महिलाओं के लिए संभव है)।

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

इस मामले में, मॉडल ने डेटा पर पर्याप्त भरोसा नहीं किया और यह मान लिया कि विचलन सभी शोर हैं (और उदाहरण में, मॉडल मानता है कि लड़के बस मौजूद नहीं हैं)।

लब्बोलुआब यह है कि हम इन समस्याओं का सामना करते हैं क्योंकि:

  • हमारे पास पूरी जानकारी नहीं है।
  • हम नहीं जानते कि डेटा कितना शोर है (हम नहीं जानते कि हमें इस पर कितना भरोसा करना चाहिए)।
  • हमें पहले से पता नहीं है कि अंतर्निहित फ़ंक्शन हमारे डेटा को उत्पन्न करता है, और इस प्रकार इष्टतम मॉडल जटिलता।

2
सीवी में आपका स्वागत है। अच्छा जवाब है, जो मुझे मेरा जवाब देना चाहता है ...
Haitao Du

1
मुझे लगता है कि "ड्राइंग बाउंड्रीज़" और "सर्कल" के बारे में यह हिस्सा थोड़ा भ्रमित करने वाला है ...
इग्निमोड4444

मैं केवल यह तर्क दूंगा कि पुरुषों और महिलाओं के बीच की ऊंचाई का अनुमान लगाने का उदाहरण ओवरफिटिंग के बजाय अंडरफिटिंग के अंतर्गत आता है।
डिगियो

6

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

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

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


5

शायद आपके शोध के दौरान आप निम्नलिखित समीकरण में आए:

Error = IrreducibleError + Bias² + Variance

हम एक मॉडल को प्रशिक्षित करने में इन दो समस्याओं का सामना क्यों करते हैं?

सीखने की समस्या ही मूल रूप से पूर्वाग्रह और विचरण के बीच का व्यापार है ।

ओवरफिटिंग और अंडरफिटिंग के मुख्य कारण क्या हैं?

लघु: शोर।

लंबी: इर्रिडिएबल एरर : डेटा में माप त्रुटियों / उतार-चढ़ाव के साथ-साथ लक्ष्य फ़ंक्शन का वह भाग जो मॉडल द्वारा प्रस्तुत नहीं किया जा सकता है। लक्ष्य चर का पुन: प्रयास या परिकल्पना स्थान को बदलना (अर्थात एक अलग मॉडल का चयन करना) इस घटक को बदलता है।

संपादित करें (अन्य उत्तरों से लिंक करने के लिए): जटिलता के रूप में मॉडल का प्रदर्शन विविध है:

।

जहां errorD पूरे वितरण पर त्रुटि है डी (परीक्षण सेट के साथ अनुमान व्यवहार में)।


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

4

लगभग सभी सांख्यिकीय समस्याओं को निम्न रूप में बताया जा सकता है:

  1. (y,x)f^y^=f^(x)

  2. f^ff

y=f(x)+ε

f^y^yf^εff

f^f~f

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


2

ओवरफिटिंग और अंडरफिटिंग के मुख्य कारण क्या हैं?

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

हम एक मॉडल को प्रशिक्षित करने में इन दो समस्याओं का सामना क्यों करते हैं?

डेटा के लिए "बस सही" मॉडल और मापदंडों को चुनना मुश्किल है।


0

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

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

इन दोनों से कोई कैसे बच सकता है? सूचना समर्थित मॉडल (डेटा से नहीं बल्कि समस्या के पूर्व ज्ञान से प्राप्त) और सार्थक अनिश्चितता।


0

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

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

दूसरी तरफ अंडरफिटिंग है, एक काफी सरल घटना। इसका मतलब दो बहुत बुनियादी बातों से हो सकता है: ए) हमारे पास मॉडल के लिए पर्याप्त डेटा नहीं है कि वह जनसंख्या पैटर्न सीखें या बी) हमारा मॉडल इसे प्रतिबिंबित करने के लिए पर्याप्त शक्तिशाली नहीं है।

y=ax+ϵϵ

y=x2+ϵ


0

संक्षिप्त जवाब:

जब आप एक छोटा प्रशिक्षण सेट करते हैं तो ओवरफिटिंग का मुख्य कारण एक जटिल मॉडल का उपयोग होता है।

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


ओवरफिटिंग का मुख्य कारण?

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

-दीप लर्निंग बुक, गुडफेलो एट अल।

मशीन लर्निंग का लक्ष्य प्रशिक्षण सेट पर एक मॉडल को इस उम्मीद में प्रशिक्षित करना है कि यह परीक्षण डेटा पर भी प्रदर्शन करेगा। लेकिन क्या प्रशिक्षण सेट पर अच्छा प्रदर्शन हमेशा परीक्षण सेट पर अच्छे प्रदर्शन के लिए अनुवाद करता है? यह नहीं होगा, क्योंकि आपका प्रशिक्षण डेटा सीमित है । यदि आपके पास सीमित डेटा है, तो आपके मॉडल को कुछ ऐसे पैटर्न मिल सकते हैं जो उस सीमित प्रशिक्षण सेट के लिए काम करते हैं, लेकिन वे पैटर्न अन्य मामलों (यानी परीक्षण सेट) के लिए सामान्य नहीं होते हैं । इसे या तो हल किया जा सकता है:

A- प्रशिक्षण सेट में मनमानी पैटर्न होने की संभावना को कम करने के लिए मॉडल को एक बड़ा प्रशिक्षण सेट प्रदान करना।

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

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

अंडरफिटिंग का मुख्य कारण?

  • अंडरफ़िटिंग तब होती है जब मॉडल प्रशिक्षण सेट पर पर्याप्त रूप से कम त्रुटि मान प्राप्त करने में सक्षम नहीं होता है।

  • कम क्षमता वाले मॉडल प्रशिक्षण सेट को फिट करने के लिए संघर्ष कर सकते हैं।

-दीप लर्निंग बुक, गुडफेलो एट अल।

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


0

एक उदाहरण पर विचार करें जहां हमारे पास एक परिकल्पना / मॉडल समीकरण है,

y=q*X+c,

जहाँ X = सुविधा सूची, y = लेबल और q और c ऐसे गुणांक हैं जिन्हें हमें प्रशिक्षित करना है।

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

एक और जटिल परिकल्पना उदाहरण पर विचार करें,

y=q*X+r*sqr(X)+s*cube(X)+c, where q,r,s and c are the coefficients.

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

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


आप अपने उत्तर में गणित प्रारूपण का उपयोग कर सकते हैं। अधिक जानकारी: math.meta.stackexchange.com/questions/5020/…
कहना है कि मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.