डीप लर्निंग बनाम ग्रेडिएंट बूस्टिंग: कब क्या उपयोग करना है?


30

मुझे एक बड़े डेटासेट के साथ एक बड़ी डेटा समस्या है (उदाहरण के लिए 50 मिलियन पंक्तियाँ और 200 कॉलम लें)। डेटासेट में लगभग 100 संख्यात्मक कॉलम और 100 श्रेणीबद्ध कॉलम और एक प्रतिक्रिया स्तंभ होता है जो बाइनरी क्लास समस्या का प्रतिनिधित्व करता है। प्रत्येक श्रेणीबद्ध कॉलम की कार्डिनैलिटी 50 से कम है।

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


2
मुझे लगता है कि जब तक आपके पास डेटा गुणों के बारे में कुछ अच्छा अंतर्ज्ञान नहीं होता है, आप दोनों विकल्पों (शायद सिर्फ 500,000 पंक्तियों पर) और क्रॉस-वेलिडेट की खोज करते हैं। लेकिन शायद दृश्य या अन्य विश्लेषण हैं जो आपको उस अंतर्ज्ञान को प्राप्त करने में मदद कर सकते हैं।
नील स्लेटर

1
मैं वास्तव में इस सप्ताह वास्तविक डेटा पर अपने स्वयं के अनुसंधान के लिए एक बड़ा मॉडल तुलना करने की योजना बना रहा हूं। मैं परिणामों को थोड़ा साफ करूँगा और उन्हें यहाँ पोस्ट करूँगा। : इसके अलावा कम से कम एक सीएस छात्र प्रश्न का अध्ययन किया है academia.edu/3526056/...
shadowtalker

1
@NeilSlater Id एक उत्तर को देखना पसंद करती है जो उस अंतर्ज्ञान को
दर्शाता है

1
आपके मूल प्रश्न पर संक्षिप्त टिप्पणी करने के लिए मेरे पास अभी भी पर्याप्त प्रतिष्ठा नहीं है और यह वास्तव में उत्तर नहीं है। किसी भी मामले में, मैं कहना चाहता था कि मुझे लगता है कि यह पत्र इस मुद्दे के लिए बहुत प्रासंगिक है: फर्नांडीज-डेलगाडो, एम।, कर्नडास, ई।, बारो, एस।, और अमोरिम, डी। (2014)। क्या हमें वास्तविक विश्व वर्गीकरण समस्याओं को हल करने के लिए सैकड़ों क्लासिफायर की आवश्यकता है? जर्नल ऑफ मशीन लर्निंग रिसर्च, 15, 31333181। Dl.acm.org/citation.cfm?id=2697065
जोस मारिया

क्या कुछ खोजपूर्ण डेटा विश्लेषण या कुछ अन्य तकनीकें हैं जो मुझे एक विधि को दूसरे पर तय करने में मदद कर सकती हैं? सामान्य मामले में नहीं, 'नो फ्री लंच प्रमेय' यह साबित करता है। लेकिन ऐसे आंकड़े हैं
सिमोन

जवाबों:


32

अपने आप को उन दो दृष्टिकोणों तक सीमित क्यों रखें? क्योंकि वे शांत हैं? मैं हमेशा एक साधारण रेखीय क्लासिफायरियर \ regressor के साथ शुरू करूँगा। तो इस मामले में एक रैखिक एसवीएम या लॉजिस्टिक रिग्रेशन, अधिमानतः एक एल्गोरिथ्म कार्यान्वयन के साथ जो डेटा के आकार के कारण विरलता का लाभ उठा सकता है। उस डेटासेट पर DL एल्गोरिथ्म चलाने के लिए एक लंबा समय लगेगा, और मैं आमतौर पर केवल विशेषज्ञ समस्याओं पर गहन सीखने की कोशिश करूंगा जहां डेटा में कुछ पदानुक्रमित संरचना है, जैसे कि चित्र या पाठ। यह बहुत सी सरल सीखने की समस्याओं के लिए ओवरकिल है, और सीखने के लिए बहुत समय और विशेषज्ञता लेता है और डीएल एल्गोरिदम भी प्रशिक्षण के लिए बहुत धीमा है। इसके अतिरिक्त, सिर्फ इसलिए कि आपके पास 50M पंक्तियाँ हैं, इसका मतलब यह नहीं है कि अच्छे परिणाम प्राप्त करने के लिए आपको संपूर्ण डेटासेट का उपयोग करने की आवश्यकता है। डेटा के आधार पर, आपको कुछ 100,000 पंक्तियों या कुछ मिलियन के नमूने के साथ अच्छे परिणाम मिल सकते हैं। मैं एक छोटे से नमूने और एक रैखिक क्लासिफायरियर के साथ सरल शुरू करूंगा, और परिणाम संतोषजनक नहीं होने पर वहां से अधिक जटिल हो जाएगा। कम से कम इस तरह से आपको एक आधार रेखा मिल जाएगी। हमने अक्सर अधिकांश कार्यों पर अधिक परिष्कृत मॉडल प्रदर्शित करने के लिए सरल रैखिक मॉडल पाए हैं, इसलिए आप हमेशा वहां शुरू करना चाहते हैं।


4
एक साधारण मॉडल और उप-नमूने के साथ शुरू करने के लिए +1
मैट

मैं विरल डेटा के लिए svm का उपयोग करने से सहमत हूं, लेकिन आपको नहीं लगता कि svm इतने विशाल आयामी डेटासेट को प्रशिक्षित करने में बहुत समय लेगा!
११:१५ पर blitu12345

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

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

विशेषज्ञ समस्याओं पर गहन सीखने की कोशिश के लिए +1 जहां डेटा में कुछ पदानुक्रमित संरचना है
eric2323223

4

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

एक बार जब आप लगभग 1:10 वर्ग के असंतुलन से बड़ा हो जाते हैं, तो अधिकांश वर्गीकरण विधियां बस काम करना बंद कर देती हैं। आपको यादृच्छिक वन और शायद तंत्रिका जाल (अभी तक कोशिश नहीं की गई) पर आधारित विधियों के साथ छोड़ दिया जाएगा। मैं १: ५०० से १: १००० की श्रेणी में शेष राशि के साथ काम करता हूं और पाया है कि न तो डाउन-या अपसम्पलिंग काम करता है। सौभाग्य से मेरे डेटासेट में 200 वेरिएबलों द्वारा केवल "6mln" अवलोकन है और मैं उचित समय में पूरे सेट पर बढ़े हुए पेड़ों को चलाने में सक्षम हूं।

तो सीधे अपने प्रश्न का उत्तर दें:

  • आपको उन सवालों का एक समूह तैयार करना चाहिए जिनका आप जवाब देना चाहते हैं और वर्गीकरण के मामले में फिर लक्ष्य चर के वर्ग संतुलन की जाँच करें।

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


1
Class_weight साथ sklearn से SGD वर्गीकारक प्रयास करें = "संतुलित"
डिएगो

4

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


4

@Simon पहले से ही क्या कहा है की तर्ज पर:

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

आपकी समस्या के लिए प्रयास बनाम लाभ ट्रेडऑफ़ गहरी सीखने के पक्ष में नहीं लगता है। डीएल एक ओवरकिल होगा


1

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

मैं जोड़ना चाहता था कि जेनेरेटिव मॉडल भी आज़माए जाएं। नैवे बेस क्लासिफायर सरलतम संभाव्य क्लासिफायरिफायर में से एक है और यह कई जटिल तरीकों जैसे कई कार्यों के लिए वेक्टर मशीनों का समर्थन करता है। आप देख सकते हैं इस एनबी का सरल कार्यान्वयन और एक इस रसद प्रतिगमन को नायब की तुलना के लिए लिंक।

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

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

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