ओवरफिटिंग खराब क्यों है?


27

मैंने इस पर बहुत अध्ययन किया है, और वे कहते हैं कि मशीन लर्निंग में होने वाली क्रियाओं से अधिक बुरा है, फिर भी हमारे न्यूरॉन्स बहुत मजबूत हो जाते हैं और उन सर्वोत्तम क्रियाओं / इंद्रियों को खोजते हैं जिनसे हम बचते हैं या बचते हैं, साथ ही साथ ख़राब होने / खराब होने से बढ़ सकते हैं / बुरे या अच्छे ट्रिगर्स द्वारा अच्छा, जिसका अर्थ है कि क्रियाओं का स्तर होगा और यह सबसे अच्छे (दाएं), सुपर मजबूत आत्मविश्वास वाले कार्यों के साथ समाप्त होता है। यह कैसे विफल होता है? यह सकारात्‍मक और नकारात्‍मक अर्थों का प्रयोग करता है जो 44pos से क्रियाओं को de / re-increment ट्रिगर करता है। से 22neg तक।


4
यह सवाल मशीन लर्निंग, न्यूरल नेटवर्क आदि के लिए बहुत व्यापक है। यह बहुपद फिटिंग के रूप में सरल उदाहरणों पर लागू होता है।
जेरिट


7
@ FriendlyPerson44 आपके प्रश्न को फिर से पढ़ने के बाद मुझे लगता है कि आपके शीर्षक और आपके वास्तविक प्रश्न के बीच एक बड़ा डिस्कनेक्ट है। आप अपने एआई ( जो केवल अस्पष्ट रूप से समझाया गया है ) में खामियों के बारे में पूछ रहे हैं - जबकि लोग जवाब दे रहे हैं कि " बुरा क्यों है? "
डबलडाउन

3
@DoubleDouble मैं सहमत हूं। इसके अलावा, मशीन लर्निंग और न्यूरॉन्स के बीच संबंध संदिग्ध है। मशीन लर्निंग का 'एक्टिंग ब्रेन-लाइक' से कोई लेना-देना नहीं है, न्यूरॉन्स का अनुकरण करना या बुद्धिमत्ता का अनुकरण करना। ऐसा लगता है कि इस बिंदु पर कई अलग-अलग उत्तर हैं जो ओपी की मदद कर सकते हैं।
शेज

2
आपको अपने प्रश्न और शीर्षक को तेज करना चाहिए। हो सकता है: "हमें ओवरफिटिंग के खिलाफ एक आभासी मस्तिष्क की रक्षा क्यों करनी पड़ती है, जबकि मानव मस्तिष्क ओवरफिटिंग के खिलाफ किसी भी प्रतिक्रिया के बिना महान काम करता है?"
फाल्को

जवाबों:


44

सबसे अच्छा स्पष्टीकरण मैंने सुना है यह है:

जब आप मशीन लर्निंग कर रहे होते हैं, तो आप मान लेते हैं कि आप डेटा से सीखने की कोशिश कर रहे हैं जो कुछ संभावित वितरण का अनुसरण करता है।

इसका मतलब है कि किसी भी डेटा सेट में, यादृच्छिकता के कारण, कुछ शोर होगा: डेटा यादृच्छिक रूप से भिन्न होगा।

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

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


1
"शोर से सीखना" मुझे अस्पष्ट लगता है। वास्तव में क्या होता है? क्या आप एक उदाहरण दे सकते हैं?
राफेल

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

2
@ राफेल प्रणाली के रूप में प्रशिक्षण सेट में शोर को देखना शुरू कर देता है। यदि आप वास्तविक डेटा पर नेट चलाते हैं, जहां वह विशिष्ट शोर गायब है, तो आप एक कम संभावना के साथ समाप्त हो जाएंगे क्योंकि वहाँ विशेषताएँ (= शोर जो शामिल था) गायब हैं।
drake7707

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

1
एक सिस्टम पर विचार करें जिसमें एक सिक्का फ्लिप द्वारा जोड़ा गया शोर है। सिर पर, आप मूल्य में 1 जोड़ते हैं, और पूंछों पर आप जोड़ते हैं। परिणाम स्पष्ट करने के लिए, हम दो अंकों का एक बेतुका छोटा डेटा सेट चुनेंगे: (2, 5) और (2.1, 8)। पहला बिंदु के लिए सिक्का फ्लिप भूमि सिर, दूसरे के लिए पूंछ, शोर का परिचय, डेटासेट (3, 5), (2.1, 8) बना रहा है। अब न्यूरल नेट एक डेटासेट से सीख रहा है जो दिखता है कि x और y मानों के बीच महत्वपूर्ण सहसंबंध है, भले ही यह लगभग सभी शोर था। यदि आप वास्तविक डेटा पर इस 'शुद्ध बाहर भेजते हैं, तो इसके बहुत से गलत परिणाम उत्पन्न होते हैं
Cort Ammon - Reinstate Monica

39

ELI5 संस्करण

यह मूल रूप से है कि मैंने इसे अपने 6 साल के लिए कैसे समझाया।

एक बार मेल नाम की एक लड़की थी ( "इसे प्राप्त करें? एमएल?" "पिताजी, आप लंगड़े हैं।" )। और हर दिन मेल एक अलग दोस्त के साथ खेला करता था, और हर दिन वह खेलता था एक धूप, अद्भुत दिन।

मेल सोमवार को जॉर्डन के साथ, मंगलवार को लिली, बुधवार को मिमी, गुरुवार को ओलिव .. और फिर शुक्रवार को मेल ब्रायन के साथ खेला गया, और बारिश हुई। यह एक भयानक आंधी थी!

अधिक दिन, अधिक दोस्त! मेल शनिवार को क्वान के साथ खेला गया, रविवार को ग्रेसन, सोमवार को आसा ... और फिर मंगलवार को मेल ब्रुक के साथ खेला गया और फिर से बारिश हुई, पहले से भी बदतर!

अब मेल की मॉम ने सभी नाटक किए, ताकि रात के खाने के दौरान वह मेल को उन सभी नए प्लेडेट्स के बारे में बताने लगे जो उसने लेटे हुए थे। "बुधवार को लुइस, गुरुवार को रयान, शुक्रवार को जेमिनी, शनिवार को बियांका -"

मेल फुर्र हो गया।

मेल की माँ ने पूछा, "क्या बात है, मेल, तुम्हें बियांका पसंद नहीं है?"

मेल ने कहा, "ओह, यकीन है, वह बहुत अच्छा है, लेकिन हर बार जब मैं एक दोस्त के साथ खेलता हूं, जिसका नाम बी से शुरू होता है, तो बारिश होती है!"


मेल के जवाब में क्या गलत है?

खैर, शनिवार को बारिश नहीं हो सकती है।

खैर, मुझे नहीं पता, मेरा मतलब है, ब्रायना आया और बारिश हुई, ब्रुक आया और बारिश हुई ...

हाँ, मुझे पता है, लेकिन बारिश आपके दोस्तों पर निर्भर नहीं करती है।


10
और उस अन्य प्रश्न के लिए, यह "शोर से सीखने" का मतलब है।
काइल हेल

बारिश की टिप्पणी के लिए - लेकिन हम ऐसा करते हैं, तो हम उस तरह से काम करते रहते हैं और बाद में सीखते हैं।
अनुकूल व्यक्ति 44

13
@ FriendlyPerson44 आप सही हैं, लोग गलतियाँ करते हैं और गलत काम करते हैं। आपका सवाल पूछा गया कि ओवरफिटिंग क्यों बुरी है, लोग ऐसा करते हैं या नहीं।
काइल हेल

1
यह समस्या न केवल खराब तरीके से सीखने वाले रोबोट पर लागू होती है, बल्कि लोगों को सीखने में भी खराब होती है।
टॉम ज़ातो -

मैं काफी अनुसरण नहीं करता हूं: पहली जगह में बारिश का कोई भविष्यवक्ता चर नहीं होना चाहिए, इसका ओवरफिटिंग से क्या लेना-देना है?
मुलाहो

14

एनएन


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

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

लेकिन मेरा एक पेड़ को पेड़ की छवि और ध्वनि "पेड़" को बचाने और दो इंद्रियों को एक साथ जोड़ने से पहचानता है, और जब पेड़ कहा जाता है कि यह मैच में है जो स्मृति में है और मैच लाता है और किसी भी इसे स्मृति के सामने से जोड़ा जाता है और फिर जब अन्य दिखाया जाता है पेड़ों और नए नामों को इन चित्रों और ध्वनियों को पहले सीखा लोगों की तरह कहा जाता है। पेड़ हालांकि यह ट्रिगर नहीं कर रहे हैं, खाद्य ect हैं, यह रंग या पैटर्न को देखने पर कार्रवाई को बचाने के लिए नहीं जा रहा है। मेरा वास्तव में कार्यों को सीखता है।
अनुकूल व्यक्ति ४४

1
@ FriendlyPerson44 क्या है कि overfitting खराब है के साथ क्या करना है?
डबलडबल

9

मोटे तौर पर, ओवर-फिटिंग आम तौर पर तब होता है जब अनुपात

यहाँ छवि विवरण दर्ज करें

बहुत ऊंचा है।

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

उदाहरण:

  • यदि आपका डेटा दो आयामों में है, तो आपके पास प्रशिक्षण सेट में 10000 अंक हैं और मॉडल एक पंक्ति है, आपके अंडर- आउट होने की संभावना है ।
  • यदि आपका डेटा दो आयामों में है, तो आपके पास प्रशिक्षण सेट में 10 अंक हैं और मॉडल 100-डिग्री बहुपद है, आपके ओवर- फिट होने की संभावना है ।

यहाँ छवि विवरण दर्ज करें

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

अनुभवजन्य दृष्टिकोण से, लोग आमतौर पर एक ही भूखंड पर प्रशिक्षण त्रुटि और परीक्षण त्रुटि की साजिश करते हैं और सुनिश्चित करते हैं कि वे परीक्षण त्रुटि की कीमत पर प्रशिक्षण त्रुटि को कम नहीं करते हैं:

यहाँ छवि विवरण दर्ज करें

मैं Coursera 'मशीन लर्निंग कोर्स , सेक्शन "10: मशीन लर्निंग लगाने की सलाह" देखने की सलाह दूंगा


1
मुझे "दिल से सीखना" लाइन पसंद है क्योंकि मनुष्य सक्षम हैं (और करते हैं) कुछ हद तक ऐसा करते हैं। कल्पना करें कि एक अत्यंत कठिन क्विज़ लें जिसमें प्रश्न और उत्तर कभी नहीं बदलते हैं लेकिन आपको गलत होने पर उत्तर बता दिए जाते हैं। समीकरण (2 + 2) को रोकना मुश्किल है, आप समीकरण को पहचानते हैं और '4' कहते हैं - लेकिन तब (2 + 3) साथ आता है, लेकिन आपने जोड़ना नहीं सीखा है, आपने सिर्फ '4' कहना सीख लिया है जब आपके पास '2 + 2' हो
DoubleDouble

अच्छी व्याख्या
निकोस एम।

4

मुझे लगता है कि हमें दो स्थितियों पर विचार करना चाहिए:

परिमित प्रशिक्षण

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

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

लगातार सीखना

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

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

इस मामले में ओवरफिटिंग थोड़ी अलग लेकिन समान समस्या प्रदान करती है: इस मामले के अंतर्गत आने वाली प्रणालियां अक्सर ऐसी प्रणालियां होती हैं जिनसे सीखने के दौरान एक कार्य करने की उम्मीद की जाती है। इस बात पर विचार करें कि एक इंसान सिर्फ कहीं नहीं बैठा है जबकि उससे सीखने के लिए नया डेटा प्रस्तुत किया गया है। एक मानव दुनिया में हर समय साथ रहता है और जीवित रहता है।

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

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


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

3

मान लें कि आप कंप्यूटर को अच्छे और बुरे उत्पादों के बीच निर्धारित करना सिखाते हैं और इसे सीखने के लिए निम्नलिखित डेटासेट देते हैं: आरेख के साथ आरेख।  0 से 50 0. 52 हैं और 74 हैं। शेष मान 51 से 100 तक 1 है

0 का मतलब है कि उत्पाद दोषपूर्ण है, 1 का मतलब है कि यह ठीक है। जैसा कि आप देख सकते हैं, एक्स और वाई अक्ष के बीच एक मजबूत सहसंबंध है। यदि मापा मूल्य नीचे है या 50 के बराबर है, तो यह बहुत संभावना है (~ 98%) कि उत्पाद दोषपूर्ण है और ऊपर यह बहुत पसंद है (~ 98%) यह ठीक है। 52 और 74 आउटलेर हैं (या तो गलत तरीके से मापा जाता है या एक भूमिका निभाने वाले कारकों को मापा नहीं जाता है; शोर के रूप में भी जाना जाता है)। मापा मूल्य मोटाई, तापमान, कठोरता या कुछ और हो सकता है और यह इकाई इस उदाहरण में महत्वपूर्ण नहीं है इसलिए सामान्य एल्गोरिथम होगा

if(I<=50)
    return faulty;
else
    return OK;

यह गर्भपात के 2% का मौका होगा।

एक ओवरफिटिंग एल्गोरिदम होगा:

if(I<50)
    return faulty;
else if(I==52)
    return faulty;
else if(I==74)
    return faulty;
else
    return OK;

इसलिए ओवरफिटिंग एल्गोरिथ्म 52 या 74 को मापने वाले सभी उत्पादों को गलत तरीके से बदल देगा, हालांकि एक उच्च संभावना है कि वे नए डेटासेट / उत्पादन में उपयोग किए जाने पर ठीक हैं। इसमें 3,92% गर्भपात का मौका होगा। एक बाहरी पर्यवेक्षक के लिए यह मिसकैरेज अजीब होगा, लेकिन मूल डेटासेट के बारे में विस्तार से बताया जा सकता है।

मूल डेटासेट के लिए ओवरफीड एल्गोरिथ्म सबसे अच्छा है, नए डेटासेट के लिए जेनेरिक (ओवरफिटेड नहीं) एल्गोरिथम सबसे अधिक संभावना है। अंतिम वाक्य ओवरफिटिंग के मूल अर्थ का वर्णन करता है।


2

मेरे कॉलेज के एआई पाठ्यक्रम में हमारे प्रशिक्षक ने काइल हेल्स के समान नस में एक उदाहरण दिया:

एक लड़की और उसकी माँ एक साथ जंगल में घूम रहे हैं, जब अचानक एक बाघ ने ब्रश से छलांग लगाई और अपनी माँ को निगल लिया। अगले दिन वह अपने पिता के साथ जंगल से गुजर रही है, और फिर से बाघ ब्रश से बाहर कूदता है। उसके पिता उसे चलाने के लिए चिल्लाते हैं, लेकिन वह जवाब देता है "ओह, यह ठीक है पिताजी, बाघ केवल माताओं को खाते हैं।"

लेकिन दूसरी ओर:

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

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



2

एक जो मैंने वास्तव में सामना किया है वह कुछ इस तरह है। सबसे पहले, मैं कुछ मापता हूं जहां मैं आउटपुट अनुपात के इनपुट की उम्मीद मोटे तौर पर रैखिक करता हूं। यहाँ मेरा कच्चा डेटा है:

Input   Expected Result
1.045   0.268333453
2.095   0.435332226
3.14    0.671001483
4.19    0.870664399
5.235   1.073669373
6.285   1.305996464
7.33    1.476337174
8.38    1.741328368
9.425   1.879004941
10.47   2.040661489

और यहाँ एक ग्राफ है:

यहाँ छवि विवरण दर्ज करें

निश्चित रूप से रैखिक डेटा की मेरी अपेक्षा के अनुरूप प्रतीत होता है। समीकरण को सीधा करने के लिए बहुत सीधा होना चाहिए, है ना? तो आप अपने प्रोग्राम को इस डेटा को थोड़ा विश्लेषण करें, और अंत में यह रिपोर्ट करता है कि इसने 99.99% सटीकता के साथ इन सभी डेटा बिंदुओं को हिट करने वाला समीकरण पाया! बहुत बढ़िया! और वह समीकरण है ... 9sin (x) + x / 5। जो इस तरह दिखता है: यहाँ छवि विवरण दर्ज करें

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


मुझे लगता है कि इनपुट डेटा होने के बाद आप ओवरफिटिंग का एक सवाल है जो आप गलत तरीके से करते हैं। यहां कुछ भी नहीं है जो आप कर सकते हैं; इनपुट अपर्याप्त हैं क्योंकि अंडरसम्पलिंग है।
एमरे

1
@Emre: मैं अंडरसम्पलिंग का इरादा नहीं रखता, मैंने इनपुट / आउटपुट को रेखीय बनाने का इरादा किया था, लेकिन ओवर-फिटिंग ने एक समीकरण तैयार किया जो स्पष्ट रूप से गैर-रैखिक था। मैं स्पष्ट करने के लिए संपादित करूंगा।
मूविंग डक

1

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

http://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html

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


4
यदि वह लिंक टूट जाता है, तो आपका जवाब बेकार के बगल में होगा। कृपया कम से कम एक सारांश (अटेंशन के साथ, निश्चित रूप से) दें ताकि जवाब में उस लिंक से स्वतंत्र मूल्य हो।
राफेल

1

मशीन सीखने में कोई अनुभव नहीं है और @ jmite के जवाब से निर्णय लेने से मुझे लगता है कि उनका क्या मतलब है:

प्रदर्शन के लिए लगभग सही आकार का यादृच्छिक ग्राफ

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

आशा है कि मैंने कुछ मदद की है ...


0

वास्तविक जीवन में ओवरफिटिंग:

श्वेत व्यक्ति काले व्यक्ति द्वारा अपराध करने की खबर देखता है। श्वेत व्यक्ति काले व्यक्ति के अपराध करने की एक और खबर देखता है। श्वेत व्यक्ति एक काले व्यक्ति द्वारा अपराध करने की तीसरी खबर देखता है। श्वेत व्यक्ति लाल शर्ट पहनने वाले, संपन्न माता-पिता, और मानसिक बीमारी के इतिहास के बारे में समाचार देखता है। श्वेत व्यक्ति यह निष्कर्ष निकालता है कि सभी काले लोग अपराध करते हैं, और केवल सफेद लोग लाल शर्ट, संपन्न माता-पिता और मानसिक बीमारी के इतिहास वाले अपराध करते हैं।

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


Stereotyping क्या laypersons overfitting कहते हैं।
एमरे

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

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

मॉडरेटर नोट: हटाए गए विषय / आउट-ऑफ-संदर्भ संदर्भ टिप्पणी। सामान्य चर्चा के लिए, कृपया कंप्यूटर विज्ञान चैट पर जाएँ । यदि आपके पास किसी विशेष कार्यक्रम के बारे में कोई प्रश्न है जो उपयोगी रूप से ओवरफिटिंग का उपयोग कर रहा है या नहीं कर सकता है, तो कृपया एक नया प्रश्न पूछें।
गाइल्स का SO- बुराई पर रोक '21

2
@AnnabDatta ओवरफिटिंग प्रशिक्षण डेटा के लिए अत्यधिक जटिल मॉडल से बहुत सटीक रूप से मेल खा रहा है; स्टीरियोटाइपिंग एक अत्यधिक सरलीकृत मॉडल का उपयोग है।
डेविड रिचेर्बी

0

आपके द्वारा परीक्षण किए गए किसी भी डेटा में ऐसे गुण होंगे जो आप इसे सीखना चाहते हैं, और कुछ ऐसे गुण जो अप्रासंगिक हैं जो आप नहीं चाहते हैं कि आप इसे सीखना चाहते हैं।

जॉन की उम्र 11
जैक है, उम्र 19
केट है, उम्र 31 है
लाना की उम्र 39 है

उचित फिटिंग: उम्र लगभग रेखीय होती है, ~ उम्र 20 से
गुजरना ओवरफिट: दो इंसान 10 साल अलग नहीं हो सकते (आंकड़ों में शोर की संपत्ति)
अंडरफिट: सभी मनुष्यों में से 1/4 19 (स्टीरियोटाइपिंग) हैं


स्वागत हे! हमारे पास पहले से ही बहुत सारे अनौपचारिक उदाहरण हैं इसलिए मुझे यकीन नहीं है कि यह बहुत कुछ जोड़ता है। और इस उदाहरण को और अधिक औपचारिक बनाना कठिन लगता है। उदाहरण के लिए, आपके द्वारा उल्लिखित रैखिक कार्य क्या है? फ़ंक्शन का इनपुट व्यक्ति के नाम से प्रतीत होता है, जो संख्या नहीं है। इस बीच, "दो मनुष्य दस साल अलग नहीं हो सकते हैं" और "1/4 मनुष्य 19 हैं" डेटा से सीखे जा रहे कार्यों के उदाहरण नहीं हैं।
डेविड रिचरबी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.