ओवरफिटिंग: कोई चांदी की गोली?


21

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

मेरा प्रश्न है: ऊपर दिए गए कथन में कितनी सच्चाई है?

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


क्या आप एमएल विशेष रूप से या बहुभिन्नरूपी मॉडल के बारे में पूछ रहे हैं?
13:16

ML में सब कुछ @rumtscho।
अमेलियो वाज़केज़-रीना

1
धन्यवाद @CagdasOzgenc: "खोज स्थान (माना जाने वाला मॉडल) जितना बड़ा होगा, परिणाम उतना ही खराब होगा" । निश्चित नहीं है कि आप किस स्तर के अमूर्त "खोज स्थान" का उल्लेख यहां कर रहे हैं, लेकिन "पर्याप्त प्रयास करके" मैं निश्चित रूप से अधिक से अधिक मॉडलों के माध्यम से खोज कर रहा हूं, और इस प्रकार "मेटा-मॉडल" की जटिलता / खोज-स्थान में वृद्धि हो रही है (यदि आप चाहें) कि हम फिट होने की कोशिश कर रहे हैं।
अमेलियो वाज़केज़-रीना

जवाबों:


8

एक पूरा जवाब नहीं, लेकिन एक बात जो लोग इस चर्चा में नजरअंदाज करते हैं, वह है क्रॉस-वैलिडेशन (उदाहरण के लिए) का क्या मतलब है, आप इसका उपयोग क्यों करते हैं, और यह क्या कवर करता है?

जो समस्या मुझे बहुत कठिन लगती है, वह यह है कि सीवी जो लोग कर रहे हैं, वह अक्सर एक मॉडल के भीतर होता है। folds=मॉडल फिटिंग प्रक्रिया का एक तर्क सेट करके करना आसान है । लेकिन जब आप कई मॉडल में जाते हैं, और कई मॉडल बनाने के लिए कई प्रक्रियाएँ भी करते हैं, तो आप एक और परत या दो जोड़ते हैं, जिसे आपने CV में लपेटा नहीं है।

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


1
+1। सीवी की एकल (या बहुत कम) परतों के साथ मॉडल चयन करना जो ग्रिड खोज (मॉडल चयन) चलाते हैं, निश्चित रूप से ओवरफिटिंग के लिए नेतृत्व कर सकते हैं (रुचि रखने वाले किसी भी व्यक्ति के लिए, मैं यह और इस तरह के स्रोतों की सलाह देता हूं )। मैंने "टारगेट शफलिंग" के बारे में पढ़ा था (अन्य पाठकों के लिए, मैं इस एक्सपोज़र की सलाह देता हूं ), लेकिन इसका इस्तेमाल कभी खुद नहीं किया; मुझे आश्चर्य है कि क्या इसका दुरुपयोग भी किया जा सकता है, (जैसे कई परीक्षण अंततः झूठी सकारात्मकता की ओर ले जाते हैं, और इस प्रकार फिर से "पर्याप्त" (?)) की खोज करते हैं।
अमेलियो वाज़केज़-रीना

7

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

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

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


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

दूसरे शब्दों में, किसी भी मॉडल के पास लाखों टिप्पणियों को "याद" करने की स्वतंत्रता की पर्याप्त डिग्री नहीं है।
रिकार्डो क्रूज

5

इतना पैमाने पर निर्भर करता है। मेरी इच्छा है कि मैं @RyanZotti जैसे 2,000-3,000 से अधिक मामलों को आमतौर पर गिन सकता हूं; मैं शायद ही कभी 1/10 वीं है। "बिग डेटा" मशीन लर्निंग लोक और बायोमेडिसिन जैसे क्षेत्रों में काम करने वालों के बीच परिप्रेक्ष्य में एक बड़ा अंतर है, जो इस साइट पर आपको मिलने वाले कुछ अलग-अलग दृष्टिकोणों के लिए जिम्मेदार हो सकता है।

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

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

पर्याप्त रूप से बड़े डेटा सेट के साथ आप कभी भी ओवरफिटिंग के करीब नहीं आ सकते हैं। यदि आपके पास 20,000 मामले हैं और प्रति मॉडल 100 मापदंडों के साथ 20 अलग-अलग मॉडल हैं, तो आप दंड के बिना भी परेशानी में नहीं पड़ सकते हैं क्योंकि आपके पास अभी भी प्रभावी पैरामीटर प्रति 10 मामले हैं। केवल 200 मामलों के साथ उस मॉडलिंग रणनीति की कोशिश न करें।

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

इसलिए, यहाँ बहुत सारे मुद्दों के साथ, एकमात्र उचित उत्तर है: "यह निर्भर करता है।" इस मामले में, यह मामलों की संख्या और जांच किए गए मापदंडों की प्रभावी संख्या के बीच संबंध पर निर्भर करता है, साथ में कितना दंड लागू किया जा रहा है।


2

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

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

उसी समय, आप परीक्षण डेटा पर सबसे जटिल मॉडल (बिना किसी नियमितीकरण के) की कोशिश कर सकते हैं, और यह नियमितीकरण के साथ कुछ की तुलना में ठीक और बेहतर भी लगता है।

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

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


1

मैं @ ryan-zotti से सहमत हूं कि बहुत मुश्किल से खोज करने से जरूरी नहीं कि ओवरफिटिंग हो जाए - या कम से कम इतनी राशि तो नहीं कि हम इसे ओवरफिटिंग कहें। मुझे इस पर अपनी बात कहने की कोशिश करें:

एक बार बॉक्स ने कहा:

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

(संपूर्ण होने के लिए सभी डेटा की आवश्यकता होगी, जो बदले में पहली जगह में एक मॉडल की आवश्यकता को समाप्त कर देगा)।

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

यह तय करने के लिए मॉडल त्रुटि को मापने के लिए एक उचित सेटअप के लिए उबलता है कि क्या यह है कि हम क्या करना चाहते हैं। तो हम जो कर सकते हैं, वह न्यूनतम शोर और प्रतिनिधि + पर्याप्त नमूनों के साथ डेटा प्राप्त करने की कोशिश करके प्रक्रिया को उतना ही मजबूत बना सकता है, जितना संभव हो, सर्वोत्तम मूल्यांकन, और यह सब उचित तरीके से करने के लिए (जैसे कुछ) नमूने, कई सुविधाएँकम जटिल मॉडल; अभी तक स्वीकार्य प्रदर्शन आदि के साथ कम से कम जटिल मॉडल का चयन करें)।

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


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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.