यादृच्छिक वन में ओवरफिटिंग से कैसे बचें?


11
  1. मैं बेतरतीब जंगल में ओवरफिटिंग से बचना चाहता हूं। इस संबंध में, मैं mtry, nodesize, और maxnodes आदि का उपयोग करने का इरादा रखता हूं, क्या आप कृपया मुझे इन मापदंडों के लिए मान चुनने में मदद कर सकते हैं? मैं आर का उपयोग कर रहा हूं।

  2. इसके अलावा, यदि संभव हो, तो कृपया मुझे बताएं कि मैं यादृच्छिक वन (आर में) के लिए k- गुना क्रॉस सत्यापन का उपयोग कैसे कर सकता हूं।

जवाबों:


7

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

जैसा कि ऊपर उल्लेख किया गया है, क्रॉस क्रॉस सत्यापन चलाने से आप ओवरफिटिंग से बच सकते हैं। सीवी परिणामों के आधार पर अपना सर्वश्रेष्ठ मॉडल चुनना एक ऐसे मॉडल को जन्म देगा जो ओवरफिट नहीं हुआ है, जो जरूरी नहीं कि बैग की त्रुटि के कारण ऐसा हो। R में CV चलाने का सबसे आसान तरीका caretपैकेज के साथ है । एक सरल उदाहरण नीचे दिया गया है:

> library(caret)
> 
> data(iris)
> 
> tr <- trainControl(method = "cv", number = 5)
> 
> train(Species ~ .,data=iris,method="rf",trControl= tr)
Random Forest 

150 samples
  4 predictor
  3 classes: 'setosa', 'versicolor', 'virginica' 

No pre-processing
Resampling: Cross-Validated (5 fold) 

Summary of sample sizes: 120, 120, 120, 120, 120 

Resampling results across tuning parameters:

  mtry  Accuracy  Kappa  Accuracy SD  Kappa SD  
  2     0.96      0.94   0.04346135   0.06519202
  3     0.96      0.94   0.04346135   0.06519202
  4     0.96      0.94   0.04346135   0.06519202

Accuracy was used to select the optimal model using  the largest value.
The final value used for the model was mtry = 2. 

उत्तर और सलाह के लिए आपका बहुत-बहुत धन्यवाद। बस यह जानना चाहते हैं कि यादृच्छिक चयन के लिए महत्वपूर्ण चर का चयन करने की तुलना में सुविधा चयन के लिए कैरेट पैकेज का उपयोग करना कितना अलग है?
अरुण

यह पोस्ट करने के लिए एक अलग प्रश्न की तरह लगता है - अंतर बहुत अधिक है कि आप अपनी पसंद के किसी भी एल्गोरिथ्म का उपयोग करके पुनरावर्ती सुविधा चयन जैसी चीजें चलाते हैं।
डेविड

@ डेविड आपका क्या मतलब है "जो जरूरी नहीं है कि बैग की त्रुटि के कारण कुछ ऐसा ही हो"? क्या आपका मतलब है कि बैग के अनुमान से बाहर निकलने से बचने का एक अच्छा तरीका नहीं है?
पियरे

5

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

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


4

यहाँ पर एक अच्छा लिंक है कि इस पर stackexchange /stats/111968/random-forest-how-to-handle-overfitting है , हालांकि मेरा सामान्य अनुभव अधिक गहराई से मॉडल है जितना अधिक यह झुकता है ओवरफिट करना।


यह एक एकल ट्री क्लासिफायर के साथ समझ में आता है। हालांकि, मैंने इन मंचों पर पढ़ा है कि यादृच्छिक जंगलों को ओवर-फिटिंग से संरक्षित किया जाता है और पेड़ों को पूरी तरह से उगाया जाना चाहिए (अर्थात वर्गीकरण के लिए नोड्स = 1)।
सीनोसैपियन

0

मैं हमेशा घटता हूं, mtryजब तक ट्रेन के डेटासेट में त्रुटि नहीं बढ़ जाती है, तब तक मैं कम और कम गहराई और गहराई लेता हूं जब तक कि ट्रेन में त्रुटि और अंतर घटने के बीच रुक नहीं जाता

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