संयोजन मशीन सीखने के मॉडल


20

मैं नए तरह के डेटामाइनिंग / मशीन लर्निंग / आदि के लिए नया हूँ। और भविष्यवाणियों में सुधार करने के लिए एक ही मॉडल के कई मॉडल और रन को संयोजित करने के कुछ तरीकों के बारे में पढ़ रहे हैं।

एक दंपति पत्र (जो सिद्धांत और ग्रीक अक्षरों पर अक्सर दिलचस्प और महान होते हैं लेकिन कोड और वास्तविक उदाहरणों पर संक्षिप्त) पढ़ने से मेरी धारणा यह है कि यह इस तरह से जाना चाहिए:

मैं एक मॉडल (ले knn, RF, आदि) और 0 और 1. के बीच classifiers की एक सूची प्राप्त मेरा प्रश्न कैसे classifiers के इन सूचियों में से प्रत्येक के गठबंधन करना है? क्या मैं अपने प्रशिक्षण सेट पर उसी मॉडल को चलाता हूं ताकि अंतिम मॉडल में जाने वाले स्तंभों की संख्या समान हो या कोई अन्य चाल हो?

यह बहुत अच्छा होगा यदि किसी भी सुझाव / उदाहरण में आर कोड शामिल है।

नोट: यह प्रशिक्षण सेट में एक डेटा सेट w / 100k लाइनों और परीक्षण सेट और 70 कॉलम में 70k के लिए है।

जवाबों:


21

यह वास्तव में "3 बी" तकनीकों में से एक को उबालता है: बैगिंग, बूस्टिंग या सम्मिश्रण।

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

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

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


7

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

http://www.cs.cornell.edu/~caruana/ctp/ct.papers/caruana.icml04.icdm06long.pdf

इस पत्र में कोई वास्तविक कोड नहीं है, लेकिन एल्गोरिथ्म स्पष्ट रूप से वर्णित है, इसलिए आपको अपनी पसंद की किसी भी भाषा में इसे कोड करने में कोई समस्या नहीं होनी चाहिए।


2

उपर्युक्त उत्तरों की मदद से थोड़ा तलाश करने के बाद, मुझे एहसास हुआ कि मेरी समस्या क्या थी। मैं उसी मॉडल में अन्य मॉडलों की भविष्यवाणियों का उपयोग करने की कोशिश कर रहा था जैसा कि उन्हें भविष्यवाणी करने के लिए इस्तेमाल किया गया था। दूसरे शब्दों में अगर मैं 5 चर जब मैं भाग गया थाkNN मॉडल मॉडल के पूर्वानुमानों के साथ एक नया चर kNNजोड़ूंगा और यादृच्छिक वन मॉडल चलाने पर 6 चर के साथ एक मॉडल बनाऊंगा। मैंने पाया कि इसके बजाय मॉडल से परिणाम खंडित किया जाना चाहिए और एक अलग मॉडल के रूप में चलना चाहिए। तो मैं विभिन्न मॉडल (से भविष्यवाणियों बना सकते हैं knn, RF, svd, आदि) तो क्या भविष्यवाणी करने के लिए के रूप में चर के रूप में केवल पूर्वानुमानों और वर्गीकरण का उपयोग कर एक अलग संयोजन / सम्मिश्रण / स्टैकिंग मॉडल चलाते हैं।

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

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