मैं OpenCV letter_recog.cpp उदाहरण का उपयोग यादृच्छिक वृक्षों और अन्य वर्गीकरणों पर करने के लिए कर रहा हूं। इस उदाहरण में छह क्लासिफायर के कार्यान्वयन हैं - यादृच्छिक पेड़, बूस्टिंग, एमएलपी, केएनएन, भोले बे और एसवीएम। 20000 उदाहरणों और 16 विशेषताओं के साथ यूसीआई अक्षर पहचान डेटासेट का उपयोग किया जाता है, जिसे मैं प्रशिक्षण और परीक्षण के लिए आधे में विभाजित करता हूं। मेरे पास एसवीएम के साथ अनुभव है, इसलिए मैंने जल्दी से इसकी मान्यता त्रुटि 3.3% पर सेट की। कुछ प्रयोग के बाद मुझे जो मिला वह था:
यूसीआई पत्र मान्यता:
- RTrees - 5.3%
- बूस्ट - 13%
- एमएलपी - 7.9%
- kNN (k = 3) - 6.5%
- बे - 11.5%
- SVM - 3.3%
पैरामीटर का इस्तेमाल किया:
RTrees - max_num_of_trees_in_the_forrest = 200, max_depth = 20, min_sample_count = 1
बूस्ट - बूस्ट_टाइप = रियल, कमजोर_काउंट = 200, वेट_ट्रीम_रेट = 0.95, मैक्स_डेप = 7
MLP - विधि = BACKPROP, param = 0.001, max_iter = 300 (डिफ़ॉल्ट मान - प्रयोग करने में धीमा)
kNN (k = 3) - k = 3
बे - कोई नहीं
एसवीएम - आरबीएफ कर्नेल, सी = 10, गामा = 0.01
उसके बाद मैंने उसी मापदंडों का इस्तेमाल किया और पहले ग्रेडिएंट फीचर्स (वेक्टर आकार 200 तत्वों) को निकालकर डिजिट और एमएनआईएसटी डेटासेट पर परीक्षण किया:
अंक:
- RTrees - 5.1%
- बूस्ट - 23.4%
- एमएलपी - 4.3%
- kNN (k = 3) - 7.3%
- बे - 17.7%
- एसवीएम - 4.2%
MNIST:
- RTrees - 1.4%
- बूस्ट - मेमोरी से बाहर
- एमएलपी - 1.0%
- kNN (k = 3) - 1.2%
- बे - 34.33%
- एसवीएम - 0.6%
मैं एसवीएम और केएनएन को छोड़कर सभी क्लासीफायर में नया हूं, इन दोनों के लिए मैं कह सकता हूं कि परिणाम ठीक लग रहे हैं। दूसरों के बारे में क्या? मैं यादृच्छिक पेड़ों से अधिक उम्मीद करता हूं, एमएनआईएसटी केएनएन बेहतर सटीकता देता है, किसी भी विचार यह कैसे उच्चतर प्राप्त करने के लिए? बूस्ट और बेयस बहुत कम सटीकता देते हैं। अंत में मैं इन क्लासिफायर का उपयोग कई क्लासिफायर सिस्टम बनाने के लिए करना चाहूंगा। कोई सुझाव?