निर्णय पेड़ बनाम तंत्रिका नेटवर्क


20

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

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

प्रत्येक संरचना के पेशेवरों और विपक्ष कौन से हैं और इस समस्या के लिए कौन सी संरचना सबसे अच्छी होगी?

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

जवाबों:


24

इन दोनों के बीच कई अंतर हैं, लेकिन व्यावहारिक रूप से, विचार करने के लिए तीन मुख्य चीजें हैं: गति, व्याख्या और सटीकता।

निर्णय के पेड़

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

तंत्रिका जाल

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

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

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


आपको इसके बारे में थोड़ा पता लगता है, क्या आपके पास बायेसियन नेटवर्क या अन्य मशीन लर्निंग के तरीकों का कोई अनुभव है जो इस समस्या में मदद कर सकता है?
टोपो

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