मुझे हाल ही में बताया गया था कि मैंने जिस प्रक्रिया का पालन किया था (एक एमएस थीसिस के घटक) को ओवर-फिटिंग के रूप में देखा जा सकता है। मैं इस बारे में बेहतर जानकारी प्राप्त करना चाह रहा हूं और यह देखना चाहता हूं कि क्या अन्य सहमत हैं।
कागज के इस हिस्से का उद्देश्य है
डेटा सेट पर रैंडम फ़ॉरेस्ट के विरुद्ध ग्रेडिएंट बूस्टेड रिग्रेशन ट्रीज़ के प्रदर्शन की तुलना करें।
चुने गए अंतिम मॉडल के प्रदर्शन को देखें (या तो जीबीएम या आरएफ)।
gbm
और randomForest
आर में संकुल के साथ इस्तेमाल किया जा रहा है,
caret
।
इसके बाद की प्रक्रिया इस प्रकार थी:
- डेटा की प्रारंभिक पूर्व-प्रसंस्करण (उदाहरण के लिए "मिसिंग" नामक एक अलग श्रेणी के साथ नाममात्र भविष्यवाणियों के लापता मूल्यों को प्लग करना)। किसी भी पूर्व-प्रसंस्करण (जो बहुत न्यूनतम था) के संबंध में लक्ष्य चर को नहीं देखा गया था।
- प्रत्येक एल्गोरिथ्म के मेटा-मापदंडों (जैसे GBM के लिए पुनरावृत्तियों की संख्या) के लिए मानों की एक ग्रिड बनाएँ।
- डेटा सेट (65% प्रशिक्षण और 35% परीक्षण) के 25 यादृच्छिक विभाजन बनाएं।
GBM के लिए निम्नलिखित 25 बार दोहराएं (प्रत्येक बार यादृच्छिक ट्रेन / परीक्षण विभाजन में से किसी एक का उपयोग करके। प्रत्येक बार, जो प्रशिक्षण और परीक्षण सेट निश्चित रूप से परिवर्तन के "वर्तमान" हैं - यह बार-बार छुट्टी-समूह-आउट क्रॉस सत्यापन है):
- ग्रिड खोज पर एल्गोरिथ्म के "इष्टतम" पैरामीटर सेटिंग्स को खोजने के लिए 5-गुना क्रॉस सत्यापन का उपयोग करें। मौजूदा रन में पहले से इस्तेमाल किए गए रन से कुछ भी नहीं।
- एक बार निर्धारित होने के बाद, एक मॉडल को "वर्तमान" प्रशिक्षण सेट पर फिट करें और "वर्तमान" परीक्षण सेट की भविष्यवाणी करें। इस रन के प्रदर्शन को अलग रखें।
एक बार 25 प्रदर्शन के उपाय (वास्तव में एक डोमेन विशिष्ट उपाय, लेकिन इसे सटीकता के रूप में सोचें) इस तरह से प्राप्त किया जाता है, ठीक उसी प्रक्रिया का पालन करें, जिसमें ट्रेन और परीक्षण के सटीक समान स्वतंत्र नमूनों का उपयोग करके आरएफ के लिए (एक ही प्रक्रिया, बस अलग से) ग्रिड की खोज)।
अब, मेरे पास जीबीएम और आरएफ के लिए "वर्तमान" परीक्षण सेटों से प्रदर्शन के 25 उपाय हैं। मैं उनकी तुलना विलकॉक्सन हस्ताक्षरित रैंक टेस्ट और एक क्रमपरिवर्तन परीक्षण का उपयोग करके करता हूं। मैंने GBM को श्रेष्ठ पाया। मैंने यह भी दावा किया कि GBM के लिए इन 25 रनों से प्रदर्शन माप का वितरण अंतिम GBM क्लासिफायर का अपेक्षित प्रदर्शन है।
मैंने जो नहीं किया, वह शुरुआत से ही एक यादृच्छिक परीक्षण सेट को बाहर निकालना था और सभी प्रशिक्षण डेटा से निर्मित अंतिम जीबीएम मॉडल की तुलना में इसे अलग करना था। मैं तर्क देता हूं कि मैंने जो किया वह वास्तव में बहुत बेहतर था क्योंकि मैंने 25 बार बनाम प्रक्रिया को केवल एक बार में विभाजित डेटा / ट्यून मॉडल / टेस्ट को दोहराया।
क्या यहां ओवर-फिटिंग है? चूंकि GBM बनाम RF का चयन करने के लिए 25 रन का उपयोग किया गया था, इसका मतलब यह है कि प्रक्रिया से प्राप्त प्रदर्शन उपायों का उपयोग पूर्ण मॉडल के लिए प्रदर्शन अनुमान के रूप में नहीं किया जा सकता है?
EDIT वेन की टिप्पणी के जवाब में, यहां बताया गया है कि प्रत्येक 25 रन के दौरान क्या किया गया था:
- Ith प्रशिक्षण सेट (i = 1, .., 25) के लिए नमूना किया गया डेटा 5 समान आकार के समूहों में टूट गया था। एक मॉडल 5 समूहों में से 4 का उपयोग करके फिट था, GBM पैरामीटर (उदाहरण के लिए पुनरावृत्तियों की संख्या) सेट करना, jth (j = 1, .., 18) ग्रिड में मानों के बराबर।
- इस मॉडल का उपयोग करके 5 वें समूह पर प्रदर्शन की गणना की गई थी।
- चरण 1 और 2 को 4 बार दोहराया गया (k = 5 के साथ नियमित रूप से पुराने के-गुना सीवी)। प्रदर्शन को 5 उप-रन से औसत किया गया था और इसने GBM के अपेक्षित प्रदर्शन को कुछ निश्चित मानों के साथ बना दिया।
- ग्रिड में 17 अन्य "पंक्तियों" के लिए चरण 1 -3 को दोहराया गया था।
एक बार पूरा होने के बाद, उपरोक्त अभ्यास से सर्वश्रेष्ठ पैरामीटर मान निर्धारित किए गए थे और एक जीबीएम इन पैरामीटर मूल्यों और पूर्ण आईआईटी प्रशिक्षण सेट का उपयोग करके फिट था। इसके प्रदर्शन का अनुमान ith परीक्षण सेट पर लगाया गया था।
एक बार यह पूरी प्रक्रिया 25 बार करने के बाद, GBM के लिए प्रदर्शन के 25 उपाय उपलब्ध थे। फिर उन्हें ठीक उसी तरह से आरएफ के लिए इकट्ठा किया गया।
GBM की तुलना और चयन करने के बाद, मैंने उन 25 प्रदर्शन उपायों को देखा और इस डेटा पर GBM मॉडल के लिए एक विश्वास अंतराल निर्धारित करने के लिए माध्य और Stnd Error लिया।