यादृच्छिक जंगलों के लिए रिपोर्ट करने के लिए प्रशिक्षण त्रुटि का क्या उपाय है?


16

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

मेरी प्रशिक्षण त्रुटि 0% के करीब है जब मैं इसे भविष्यवाणियों का उपयोग करके गणना करता हूं जो मुझे कमांड के साथ मिलता है:

predict(model, data=X_train)

X_trainप्रशिक्षण डेटा कहां है।

संबंधित प्रश्न के उत्तर में , मैंने पढ़ा कि बेतरतीब जंगलों के लिए प्रशिक्षण त्रुटि मीट्रिक के रूप में आउट-ऑफ-बैग (OOB) प्रशिक्षण त्रुटि का उपयोग करना चाहिए । यह मात्रा आज्ञा के साथ प्राप्त भविष्यवाणियों से गणना की जाती है:

predict(model)

इस मामले में, ओओबी प्रशिक्षण त्रुटि औसत 10-सीवी परीक्षण त्रुटि के करीब है, जो 11% है।

मैं सोच रहा हूँ:

  1. क्या यह आमतौर पर यादृच्छिक जंगलों के लिए प्रशिक्षण त्रुटि माप के रूप में ओओबी प्रशिक्षण त्रुटि की रिपोर्ट करना स्वीकार किया जाता है?

  2. क्या यह सच है कि प्रशिक्षण त्रुटि का पारंपरिक उपाय कृत्रिम रूप से कम है?

  3. यदि प्रशिक्षण त्रुटि का पारंपरिक उपाय कृत्रिम रूप से कम है, तो आरएफ की ओवरफिटिंग होने पर मैं किन दो उपायों की जांच कर सकता हूं?

जवाबों:


11

@ सोरेन एच। वेलिंग के उत्तर में जोड़ने के लिए।

1. क्या यह आम तौर पर यादृच्छिक जंगलों के लिए प्रशिक्षण त्रुटि माप के रूप में ओओबी प्रशिक्षण त्रुटि की रिपोर्ट करने के लिए स्वीकार किया जाता है?

प्रशिक्षित मॉडल पर OOB त्रुटि प्रशिक्षण त्रुटि के समान नहीं है। हालांकि, यह भविष्य कहनेवाला सटीकता की माप के रूप में कार्य कर सकता है।

2. क्या यह सच है कि प्रशिक्षण त्रुटि का पारंपरिक उपाय कृत्रिम रूप से कम है?

यह सच है अगर हम डिफ़ॉल्ट सेटिंग्स का उपयोग करके एक वर्गीकरण समस्या चला रहे हैं। एंडी लियाव द्वारा एक फोरम पोस्ट में सटीक प्रक्रिया का वर्णन किया गया है , जो randomForestनिम्नानुसार आर में पैकेज बनाए रखता है:

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

nodesize > 1sampsize < 0.5N(एक्समैं,yमैं)

3. यदि प्रशिक्षण त्रुटि का पारंपरिक माप कृत्रिम रूप से कम है, तो आरएफ की ओवरफिटिंग होने पर मैं किन दो उपायों की जांच कर सकता हूं?

यदि हम RF के साथ चलाते हैं nodesize = 1और sampsize > 0.5, तो RF की प्रशिक्षण त्रुटि हमेशा 0. के पास होगी। इस मामले में, यह बताने का एकमात्र तरीका है कि क्या मॉडल ओवरफिटिंग है, कुछ डेटा को एक स्वतंत्र सत्यापन सेट के रूप में रखना है। फिर हम 10-CV परीक्षण त्रुटि (या OOB परीक्षण त्रुटि) की तुलना स्वतंत्र सत्यापन सेट पर त्रुटि से कर सकते हैं। यदि 10-सीवी परीक्षण त्रुटि स्वतंत्र सत्यापन सेट पर त्रुटि की तुलना में बहुत कम है, तो मॉडल ओवरफिटिंग हो सकता है।


2

[संपादित 21.7.15 8:31 AM CEST]

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

predict(model, data=X_train)

कोडिंग की यह रेखा एक कुत्ते की तरह है [~ 66%] अपनी पूंछ। किसी भी प्रशिक्षण नमूने की भविष्यवाणी स्वयं प्रशिक्षण नमूने की श्रेणी है। यदि प्रति नोड 5 या उससे कम नमूने हैं या यदि नोड शुद्ध है तो प्रतिगमन आरएफ के लिए। यहां भविष्यवाणी त्रुटि छोटी होगी, लेकिन 0% नहीं।

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

सीवी पर वापस: आउट-ऑफ-बैग अक्सर एक स्वीकृत प्रकार का सीवी होता है। मैं व्यक्तिगत रूप से कहूंगा कि OOB-CV 5-गुना-CV के समान परिणाम प्रदान करता है, लेकिन यह एक बहुत छोटा उपद्रव है। यदि तुलना करने के लिए आइए आरएफ को एसवीएम से कहें, तो ओओबी-सीवी उपयोगी नहीं है क्योंकि हम एसवीएम को बैग करने से बचेंगे। इसके बजाय, SVM और RF दोनों को समान क्रॉस-वैरिफिकेशन स्कीम में एम्बेड किया जाएगा, जैसे प्रत्येक दोहराने के लिए मिलान विभाजन के साथ 10-गुना 10-दोहराएं। इंजीनियरिंग के किसी भी कदम को अक्सर क्रॉस-वैलिड करने की आवश्यकता होगी। यदि चीजों को साफ रखने के लिए संपूर्ण डेटा पाइप-लाइन को सीवी में एम्बेड किया जा सकता है।

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

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


इसके लिए शुक्रिया। दो प्रश्न: (१) किसी भी प्रशिक्षण नमूने की भविष्यवाणी प्रशिक्षण नमूने के वर्ग से ही कैसे की जाती है? ऐसे पेड़ होने चाहिए जो प्रशिक्षण के नमूने का उपयोग नहीं करते हैं जो कि बहुसंख्यक वोट प्रक्रिया संख्या में उपयोग किए जाते हैं? (२) इसलिए यदि आप एक आरएफ माप ओवरफिट कर रहे हैं तो आप कैसे आंकेंगे?
बेरक यू।

(1) हाँ, मैं वहाँ थोड़ा तेज़ था, मैंने जवाब संपादित किया। कोई भी नमूना ~ 66% पेड़ों में इनबैग होगा। यदि प्रशिक्षण के दौरान एक पेड़ में एक नमूना इनबग था, तो यह अगले 66% में भविष्यवाणी के दौरान उसी नोड में समाप्त हो जाएगा, और यह हर बार बहुमत वोट जीतने के लिए पर्याप्त है। ट्रेन के नमूनों के 30% उदाहरण के लिए नमूना कम करके इसकी पुष्टि करें, और 0% वर्गीकरण त्रुटि से वृद्धि को नोटिस करें। (२) मुझे लगता है कि मैंने इसका उत्तर दिया। आरएफ प्रति ओवरफिट नहीं करता है, लेकिन आप उदाहरण के लिए ट्यूनिंग के दौरान एक संदर्भ बना सकते हैं जहां आपको ओवर-आशावादी ओओबी-सीवी परिणाम मिलेगा। सुनिश्चित करने के लिए एक नई सीवी में अपनी पूरी प्रक्रिया को एम्बेड करें।
सोरेन हवेलुंड वेलिंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.