वहाँ इस modellng दृष्टिकोण में overfitting है


11

मुझे हाल ही में बताया गया था कि मैंने जिस प्रक्रिया का पालन किया था (एक एमएस थीसिस के घटक) को ओवर-फिटिंग के रूप में देखा जा सकता है। मैं इस बारे में बेहतर जानकारी प्राप्त करना चाह रहा हूं और यह देखना चाहता हूं कि क्या अन्य सहमत हैं।

कागज के इस हिस्से का उद्देश्य है

  • डेटा सेट पर रैंडम फ़ॉरेस्ट के विरुद्ध ग्रेडिएंट बूस्टेड रिग्रेशन ट्रीज़ के प्रदर्शन की तुलना करें।

  • चुने गए अंतिम मॉडल के प्रदर्शन को देखें (या तो जीबीएम या आरएफ)।

gbmऔर randomForestआर में संकुल के साथ इस्तेमाल किया जा रहा है,
caret

इसके बाद की प्रक्रिया इस प्रकार थी:

  • डेटा की प्रारंभिक पूर्व-प्रसंस्करण (उदाहरण के लिए "मिसिंग" नामक एक अलग श्रेणी के साथ नाममात्र भविष्यवाणियों के लापता मूल्यों को प्लग करना)। किसी भी पूर्व-प्रसंस्करण (जो बहुत न्यूनतम था) के संबंध में लक्ष्य चर को नहीं देखा गया था।
  • प्रत्येक एल्गोरिथ्म के मेटा-मापदंडों (जैसे GBM के लिए पुनरावृत्तियों की संख्या) के लिए मानों की एक ग्रिड बनाएँ।
  • डेटा सेट (65% प्रशिक्षण और 35% परीक्षण) के 25 यादृच्छिक विभाजन बनाएं।

GBM के लिए निम्नलिखित 25 बार दोहराएं (प्रत्येक बार यादृच्छिक ट्रेन / परीक्षण विभाजन में से किसी एक का उपयोग करके। प्रत्येक बार, जो प्रशिक्षण और परीक्षण सेट निश्चित रूप से परिवर्तन के "वर्तमान" हैं - यह बार-बार छुट्टी-समूह-आउट क्रॉस सत्यापन है):

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

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

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

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

क्या यहां ओवर-फिटिंग है? चूंकि GBM बनाम RF का चयन करने के लिए 25 रन का उपयोग किया गया था, इसका मतलब यह है कि प्रक्रिया से प्राप्त प्रदर्शन उपायों का उपयोग पूर्ण मॉडल के लिए प्रदर्शन अनुमान के रूप में नहीं किया जा सकता है?

EDIT वेन की टिप्पणी के जवाब में, यहां बताया गया है कि प्रत्येक 25 रन के दौरान क्या किया गया था:

  1. Ith प्रशिक्षण सेट (i = 1, .., 25) के लिए नमूना किया गया डेटा 5 समान आकार के समूहों में टूट गया था। एक मॉडल 5 समूहों में से 4 का उपयोग करके फिट था, GBM पैरामीटर (उदाहरण के लिए पुनरावृत्तियों की संख्या) सेट करना, jth (j = 1, .., 18) ग्रिड में मानों के बराबर।
  2. इस मॉडल का उपयोग करके 5 वें समूह पर प्रदर्शन की गणना की गई थी।
  3. चरण 1 और 2 को 4 बार दोहराया गया (k = 5 के साथ नियमित रूप से पुराने के-गुना सीवी)। प्रदर्शन को 5 उप-रन से औसत किया गया था और इसने GBM के अपेक्षित प्रदर्शन को कुछ निश्चित मानों के साथ बना दिया।
  4. ग्रिड में 17 अन्य "पंक्तियों" के लिए चरण 1 -3 को दोहराया गया था।

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

एक बार यह पूरी प्रक्रिया 25 बार करने के बाद, GBM के लिए प्रदर्शन के 25 उपाय उपलब्ध थे। फिर उन्हें ठीक उसी तरह से आरएफ के लिए इकट्ठा किया गया।

GBM की तुलना और चयन करने के बाद, मैंने उन 25 प्रदर्शन उपायों को देखा और इस डेटा पर GBM मॉडल के लिए एक विश्वास अंतराल निर्धारित करने के लिए माध्य और Stnd Error लिया।


मैं आपके पहले बुलेट पॉइंट के लिए "25 बार निम्नलिखित को दोहराएं ..." अनुभाग में अधिक विवरण देखना चाहता हूं। कौन सा डेटा 5 गुना है और मेटा-मापदंडों के प्रत्येक सेट के लिए डेटा का उपयोग कैसे किया जाता है?
वेन

@ कृपया, मेरा संपादन देखें।
B_Miner

जवाबों:


5

केवल GBM बनाम RF का चयन करने के बजाय कल्पना करें, आप 100 अलग GBM क्लासिफायर के बीच चयन कर रहे थे (मान लें कि GBM प्रशिक्षण किसी प्रकार के यादृच्छिकता का उपयोग करता है, और आप उन्हें यादृच्छिक बीज 1 से 100 तक असाइन करते हैं)। फिर आप उन 100 जीबीएम में से एक को सर्वश्रेष्ठ जीबीएम के रूप में चुनेंगे। लेकिन यह लगभग निश्चित रूप से मामला है कि आपके द्वारा चुने गए 100 मॉडल में से एक अपने 99 भाई-बहनों को हराकर भाग्यशाली हो गया है, और इसलिए आपका प्रदर्शन अनुमान आशावादी होगा।

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


यदि एक बार GBM को अंतिम मॉडल के रूप में चुना गया था (और दिखावा करते हैं कि मैंने शुरुआत में ही एक एकल परीक्षण सेट निकाला था), मैं सभी प्रशिक्षण डेटा लेता हूं और इसके साथ एक GBM फिट करता हूं (फिर से एल्गोरिदम के मापदंडों का चयन करने के लिए CV का उपयोग करके) तो मैं इस परीक्षण सेट स्कोर। क्या आप वास्तव में यह सोचेंगे कि 25 री-सैंपलों में से जो एक टेस्ट सेट था, उसमें से त्रुटि माप बेहतर था। यह वह हिस्सा है जिसके साथ मैं संघर्ष करता हूं। क्या यह है कि आप मॉडल चयन (RFM या GBM बनाम 100 अन्य विकल्पों पर GBM) के लिए समान डेटा का उपयोग नहीं कर सकते हैं और इसके परिणामस्वरूप हुए त्रुटि माप का उपयोग कर सकते हैं?
B_Miner

मुझे निश्चित रूप से प्रदर्शन का आकलन करने के लिए प्रशिक्षण डेटा का उपयोग नहीं करने का विचार है, लेकिन यह मामला अलग और वैध लग रहा था ....
B_Miner

@B_Miner मुझे लगता है कि यह एक बहुत ही मामूली उल्लंघन है, लेकिन मैं आपकी थीसिस कमेटी में नहीं हूं: P
rrenaud

जैसे ही जलसेक मौजूद होता है, क्या आप इसे "मॉडल चयन के लिए समान डेटा (RFM या GBM बनाम 100 अन्य विकल्पों पर GBM) का उपयोग करके और उसके परिणामस्वरूप उत्पन्न त्रुटि माप का उपयोग करने के लिए कहेंगे?"
B_Miner

3

ऐसा लगता है कि आपने दो तकनीकों का मिश्रण करने की कोशिश की है, जिनमें से प्रत्येक वैध है, लेकिन जिस तरह से आपने ऐसा महसूस किया है कि आप मामलों के साथ डेटा लीक के साथ समाप्त हो जाएंगे।

निचले स्तर पर, आप सही ढंग से सीवी का उपयोग कर रहे हैं। जो सुझाव देगा कि शीर्ष स्तर भी एक सीवी होना चाहिए, जिसके परिणामस्वरूप एक नेस्टेड सीवी होता है, लेकिन आपका शीर्ष स्तर सीवी नहीं है।

शीर्ष स्तर पर, ऐसा लगता है कि आप बूटस्ट्रैप सत्यापन करना चाहते थे, जिस स्थिति में एक डबल-बूटस्ट्रैप शीर्ष और निचले स्तरों के लिए काम करेगा, लेकिन आपका शीर्ष स्तर उचित बूटस्ट्रैप नहीं है।

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


आपको शीर्ष स्तर से क्या मतलब है - बार-बार छुट्टी देने वाले समूह के 25 पुनरावृत्तियों?
B_Miner

मैंने डॉ। हैरेल की टिप्पणियों को पढ़ा। मुझे लगता है कि उस सलाह और डेटा खनन (बड़े डेटा) में से कुछ के बीच एक डिस्कनेक्ट है। 25 पुनरावृत्तियों, जिन्हें मैंने 4 दिन पूरे कर लिए थे और जो नकारात्मक मामलों की काफी हद तक जांच कर रहे थे।
B_Miner
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.