Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

एन्सेम्बल क्लासिफायर बनाने के तरीके क्या हैं?


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

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

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

क्लास लेबल्स में हेरफेर करके - इस विधि का उपयोग तब किया जा सकता है जब कई क्लासेस पर्याप्त रूप से बड़े हों। प्रशिक्षण डेटा को क्लास लेबल्स को दो डिसजॉइंट सबसेट्स में बेतरतीब ढंग से विभाजित करके एक बाइनरी क्लास समस्या में बदल दिया जाता है, जैसे A0 और A1।

प्रशिक्षण इंस्टेंसेस जिनके क्लास लेबल सबसेट A0 पर लागू होते हैं, उन्हें क्लास 0 के रूप में परिभाषित किया जाता है, जबकि जो सबसेट A1 पर लागू होते हैं उन्हें क्लास 1 के रूप में परिभाषित किया जाता है। रीलेबल्ड इंस्टेंसेस का उपयोग बेस क्लासिफायर को प्रशिक्षित करने के लिए किया जाता है। क्लास-रीलेबलिंग और मॉडल-बिल्डिंग चरणों को कई बार दोहराकर, बेस क्लासिफायर्स का एक एन्सेम्बल प्राप्त किया जाता है।

जब एक टेस्ट इंस्टेंस प्रस्तुत किया जाता है, तो प्रत्येक बेस क्लासिफायर $C_i$ अपने क्लास लेबल का अनुमान लगा सकता है। यदि टेस्ट इंस्टेंसेस को क्लास 0 के रूप में अनुमानित किया जाता है, तो इसलिए उन सभी क्लासेस को वोट मिलेगा जो A0 पर लागू होते हैं।

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

पहली तीन विधियां सामान्य तकनीकें हैं जो कुछ क्लासिफायर्स के लिए प्रासंगिक हैं, जबकि चौथी विधि उपयोग किए गए क्लासिफायर के प्रकार पर आधारित है। बेस क्लासिफायर्स विधियों को क्रमिक रूप से (एक के बाद एक) या समानांतर में (सभी एक साथ) बनाया जा सकता है।

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


  1. - C# में क्लास मेथड्स और क्लास मेंबर्स के बीच अंतर

    क्लास का एक मेंबर फंक्शन यानी मेथड एक फंक्शन है जिसकी परिभाषा या प्रोटोटाइप क्लास डेफिनिशन के भीतर होती है, किसी अन्य वेरिएबल के समान। यह उस क्लास के किसी भी ऑब्जेक्ट पर ऑपरेट करता है जिसका यह मेंबर है, और उस ऑब्जेक्ट के लिए क्लास के सभी मेंबर्स तक इसकी पहुंच होती है। निम्नलिखित एक उदाहरण है - publi

  1. - जावा 9 में Optional क्लास में कौन से नए मेथड जोड़े गए हैं?

    एक Optional क्लास एक कंटेनर प्रदान करता है जिसमें नॉन-नल मान हो भी सकता है और नहीं भी। यह Optional क्लास जावा 8 में पेश की गई थी ताकि कोड में उन स्थानों की संख्या कम की जा सके जहां NullPointerException उत्पन्न हो सकता है। जावा 9 ने Optional क्लास में तीन नए मेथड जोड़े: or(), ifPresentOrElse() और str

  1. - पायथन क्लास के लिए गेटर/सेटर मेथड्स क्या हैं?

    गेटर और सेटर का उपयोग कई ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं में डेटा एनकैप्सुलेशन के सिद्धांत को सुनिश्चित करने के लिए किया जाता है। इन्हें म्यूटेटर मेथड्स के रूप में भी जाना जाता है। डेटा एनकैप्सुलेशन को उन मेथड्स के साथ डेटा के बंडलिंग के रूप में देखा जाता है जो उस डेटा पर काम करते हैं। ये मेथड