मैं अपने तंत्रिका नेटवर्क को प्रशिक्षित करने के लिए आर में नेट नेट फ़ंक्शन का उपयोग कर रहा हूं। मुझे नेट में डीके पैरामीटर नहीं मिल रहा है? क्या इस चरण का आकार ग्रेडियेंट वंश मेसोड या नियमितकरण पैरामीटर में उपयोग किया जा रहा है ताकि ओवरफिटिंग को दूर किया जा सके?आर में नेट फ़ंक्शन में क्षय पैरामीटर का उद्देश्य?
उत्तर
यह ओवर-फिटिंग से बचने के लिए नियमितकरण है।
the documentation (pdf) से: वजन क्षय के लिए
decay:
पैरामीटर। डिफ़ॉल्ट 0.
अधिक जानकारी लेखकों की पुस्तक में उपलब्ध है, Modern Applied Statistics with S. Fourth Edition, पेज 245:
एक तरीका यह सुनिश्चित करना है कि च चिकनी है, उदाहरण के लिए, अनुमान के वर्ग प्रतिबंधित करने के लिए है द्वारा सीमित संख्या में स्पलीन नॉट्स का उपयोग करना। एक और तरीका है नियमितीकरण जिसमें फिट कसौटी च की 'खुरदरापन' पर एक दंड सी के साथ
E + λC(f)
करने के लिए परिवर्तित किया जाता है। वजन क्षय, तंत्रिका नेटवर्क के लिए विशिष्टता, वजन के वर्गों के योग के दंड के रूप में उपयोग करता है। ... वज़न क्षय का उपयोग अनुकूलन प्रक्रिया में मदद करने के लिए और से अधिक से बचने के लिए लगता है। (जोर जोड़ा)
स्रोत कोड को देखकर blahdiblah के जवाब पूरक मुझे लगता है कि पैरामीटर weights
बैक-प्रसार की शिक्षा दर से मेल खाती है (मैनुअल पढ़कर मैं नहीं समझ सकता है कि यह क्या था)। , फ़ाइल nnet.c, लाइन को देखो समारोह अंदर fpass: यहाँ,
TotalError += wx * E(Outputs[i], goal[i - FirstOutput]);
एक बहुत ही सहज ज्ञान युक्त नामकरण में, E
बीपी त्रुटि से मेल खाती है और wx
एक पैरामीटर पारित कर दिया है फ़ंक्शन के लिए, जो अंततः पहचानकर्ता Weights[i]
से मेल खाता है।
इसके अलावा, आप यह सुनिश्चित करें कि पैरामीटर decay
वास्तव में क्या यह लाइनों 317 ~ 319 एक ही फ़ाइल के पर जाकर होने का दावा करता VR_dfunc है, समारोह अंदर हो सकता है:
for (i = 0; i < Nweights; i++)
sum1 += Decay[i] * p[i] * p[i];
*fp = TotalError + sum1;
जहां p
कनेक्शन 'वजन के अनुरूप है, जो वजन-क्षय नियमितकरण की सटीक परिभाषा है।
आपके सहायक उत्तर के लिए धन्यवाद। मैं नेट के व्यवहार की नकल करने के लिए केरास में अनुक्रमिक मॉडल स्थापित करने की कोशिश कर रहा हूं लेकिन वे मेल नहीं खाते हैं। एनएनईटी में "क्षय" तर्क केरास में एल 2 नियमितकरण पैरामीटर के बराबर लगता है, लेकिन nnet.c में से कुछ कोड भ्रमित है। पहला सवाल: "क्षय" क्यों अनुक्रमित है? क्या यह सिर्फ एक निश्चित मूल्य नहीं है जो वर्ग के वजन के योग को गुणा करने के लिए उपयोग किया जाता है? दूसरा प्रश्न: "ढलान" वस्तु क्या है और इसे "क्षय" से गुणा क्यों किया जाता है? तीसरा सवाल: क्या क्षय सभी वजन या इनपुट और छिपी हुई परत के बीच कनेक्शन पर लागू होता है? – Josh
- 1. जावास्क्रिप्ट फ़ंक्शन में "अपरिभाषित" नामक पैरामीटर का उद्देश्य क्या है?
- 2. पैरामीटर पैक विस्तार में सरणी क्षय को रोकने
- 3. अपवाद में फ़ंक्शन पैरामीटर
- 4. सरणी क्षय
- 5. नेट में अलग-अलग स्टोरेज का वास्तविक उद्देश्य क्या है?
- 6. क्लोजर फ़ंक्शन का पैरामीटर पैरामीटर।
- 7. जावास्क्रिप्ट फ़ंक्शन में अनदेखा पैरामीटर का उपयोग करने का उद्देश्य/लाभ क्या है?
- 8. आर स्टैंड में RandomForest पैकेज में RandomForest फ़ंक्शन में पैरामीटर 'classwt' क्या है?
- 9. टीएसक्यूएल में फ़ंक्शन पैरामीटर के सामने 'एन' डालने का उद्देश्य क्या है?
- 10. "char s [static 10]" जैसे फ़ंक्शन के सरणी पैरामीटर में स्थिर कीवर्ड का उद्देश्य क्या है?
- 11. तंत्रिका नेट पैकेज का उपयोग करके एक तंत्रिका नेट प्लॉट को बचाने में समस्याएं - आर
- 12. http अनुरोधों में "& rnd =" पैरामीटर का उद्देश्य क्या है?
- 13. jQuery में अनाम फ़ंक्शन रैपर का उद्देश्य क्या है?
- 14. क्या FoldLeft फ़ंक्शन आर में उपलब्ध है?
- 15. आर में diff() फ़ंक्शन क्या करता है?
- 16. एनएमपीई में एसक्यूएल जॉइन या आर का विलय() फ़ंक्शन?
- 17. उद्देश्य सी डिफ़ॉल्ट पैरामीटर?
- 18. आर एकाधिक पैरामीटर के साथ फ़ंक्शन लागू करें
- 19. फ़ंक्शन पैरामीटर
- 20. फ़ंक्शन बॉडी में इसका उल्लेख किए बिना फ़ंक्शन पैरामीटर का उपयोग कैसे किया जा सकता है?
- 21. getLoaderManager() के args पैरामीटर का उद्देश्य। InitLoader (..., ..., ...)?
- 22. टेम्पलेट पैरामीटर के रूप में स्थिर सदस्य फ़ंक्शन में फ़ंक्शन पॉइंटर का उपयोग कैसे करें?
- 23. CouchDB में 'सीमा' पैरामीटर का उपयोग करके मानचित्र फ़ंक्शन
- 24. विम स्क्रिप्ट में फ़ंक्शन पैरामीटर का डिफ़ॉल्ट मान
- 25. सी # फ़ंक्शन पैरामीटर के रूप में enums?
- 26. फ़ंक्शन में पैरामीटर कैसे असाइन करें?
- 27. जावास्क्रिप्ट में वैकल्पिक फ़ंक्शन पैरामीटर छोड़ना
- 28. फ़ंक्शन पैरामीटर में * और माध्य क्या है
- 29. वीबी फ़ंक्शन में वैकल्पिक पैरामीटर/डिफ़ॉल्ट मान पैरामीटर कैसे जोड़ें?
- 30. एएसपी नेट MVC में एनकोड पैरामीटर URL कैसे
यदि यह सत्य था, तो क्षय = 0 सेटिंग को एक ओवरफिट मॉडल (सर्वोत्तम संभव प्रशिक्षण सेट सटीकता के साथ) के परिणामस्वरूप होना चाहिए। इसके बजाय मेरे मामले में, मुझे एक बहुत ही खराब प्रशिक्षण सेट सटीकता (लगभग 10%) मिली। क्षय देना = 1e-4 -> .8294, क्षय = 2e-4 -> .8832, 5e-3 -> .9924, 1e-2 -> .9954, 1e-1 -> .9966, 1 -> .9644 ।तो मैं ऑप्टिमाइज़ेशन फ़ंक्शन –
की सीखने की दर को कम करने के लिए एक पैरामीटर होना चाहिए यदि आप वास्तव में सुनिश्चित करना चाहते हैं, तो आप [स्रोत पर] देख सकते हैं (http://cran.r-project.org/src/contrib /nnet_7.3-1.tar.gz)। पूरी बात 700 लाइनों से कम है, और समझदारी की ओर एक स्पष्ट आंख के साथ। मैं हाल ही में न्यूरल जाल में आसानी से इसका पालन करने के लिए पर्याप्त नहीं रहा हूं, लेकिन शायद आपको यह आसान लगेगा। – blahdiblah
http://stats.stackexchange.com/questions/29130/difference-between-neural-net-weight-decay-and-learning-rate – Fernando