क्या यादृच्छिक वन MNIST पर 2.8% परीक्षण त्रुटि से बेहतर कर सकते हैं?


10

मुझे MNIST, CIFAR, STL-10, आदि के लिए रैंडम फ़ॉरेस्ट्स के आवेदन पर कोई साहित्य नहीं मिला है, इसलिए मैंने सोचा कि मैं उन्हें क्रमपरिवर्तन-अपरिवर्तनीय MNIST के साथ स्वयं प्रयास करूँगा।

में आर , मैंने कोशिश की:

randomForest(train$x, factor(train$y), test$x, factor(test$y), ntree=500)

यह 2 घंटे तक चला और 2.8% परीक्षण त्रुटि हुई।

मैंने भी , साथ सीखने की कोशिश की

RandomForestClassifier(n_estimators=2000,
                       max_features="auto", 
                       max_depth=None)

70 मिनट के बाद, मुझे 2.9% परीक्षण त्रुटि मिली, लेकिन n_estimators = 200 के बजाय, मुझे सिर्फ 7 मिनट के बाद 2.8% परीक्षण त्रुटि मिली।

OpenCV के साथ , मैंने कोशिश की

rf.train(images.reshape(-1, 28**2), 
         cv2.CV_ROW_SAMPLE, 
         labels.astype('int'))

यह 6.5 मिनट के लिए चला, और rfभविष्यवाणी के लिए उपयोग करने पर 15% की त्रुटि हुई। मैं नहीं जानता कि कितने पेड़ इसे प्रशिक्षित करते हैं, क्योंकि रैंडम फ़ॉरेस्ट के लिए उनका पायथन बंधन paramsतर्क की अनदेखी करता है, कम से कम 2.3.1 संस्करण में। मैं यह भी पता नहीं लगा सका कि ओपनसीवी को कैसे स्पष्ट किया जाए कि मैं प्रतिगमन के बजाय एक वर्गीकरण समस्या को हल करना चाहता हूं - मुझे मेरा संदेह है, क्योंकि इसके astype('int')साथ प्रतिस्थापित करने astype('float32')से समान परिणाम मिलता है।

में तंत्रिका नेटवर्क , के लिए क्रमचय-अपरिवर्तनीय MNIST बेंचमार्क, कला के राज्य 0.8% परीक्षण त्रुटि है, हालांकि प्रशिक्षण शायद एक CPU पर अधिक से अधिक 2 घंटे ले जाएगा।

क्या यादृच्छिक वन का उपयोग करके MNIST पर 2.8% परीक्षण त्रुटि की तुलना में बहुत बेहतर करना संभव है? मुझे लगा कि आम सहमति यह थी कि रैंडम वन आमतौर पर कम से कम कर्नेल एसवीएम के रूप में अच्छे होते हैं, जो मुझे लगता है कि 1.4% परीक्षण त्रुटि हो सकती है।


5
याद रखें कि एक यादृच्छिक वन एक समय में 1 चर (यानी पिक्सेल) का निर्णय ले रहा है। तो यह इमेज प्रोसेसिंग के लिए बहुत अच्छा नहीं है -raw अधिक सार्थक निर्णय चर
seanv507

वास्तव में seanv507 ने क्या कहा। OpenCV में सुविधा निष्कर्षण के लिए बहुत सारे कार्य हैं जो यादृच्छिक वन के साथ काम करने के लिए काफी उपयोगी व्याख्यात्मक चर का पता लगा सकते हैं।
जेकुआहुआ

3
मुझे लगा कि आम सहमति यह थी कि रैंडम वन आमतौर पर कम से कम कर्नेल एसवीएम के रूप में अच्छे होते हैं । ऐसी कोई आम सहमति नहीं है।
मार्क क्लेन

जवाबों:


15

क्या यादृच्छिक वन का उपयोग करके MNIST पर 2.8% परीक्षण त्रुटि की तुलना में बहुत बेहतर करना संभव है?

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

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

मुझे लगा कि आम सहमति यह थी कि रैंडम वन आमतौर पर कम से कम कर्नेल एसवीएम के रूप में अच्छे होते हैं

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

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