ढाल वंशानुक्रम


9

मैं एमएल (मशीन लर्निंग) एल्गोरिदम में ढाल वंश अनुकूलन को समझने की कोशिश कर रहा हूं। मैं समझता हूं कि एक लागत समारोह है- जहां उद्देश्य त्रुटि को कम करना है । ऐसे परिदृश्य में जहां को न्यूनतम त्रुटि देने के लिए अनुकूलित किया जा रहा है, और आंशिक डेरिवेटिव का उपयोग किया जा रहा है, क्या यह प्रत्येक चरण में और दोनों को या क्या यह एक संयोजन है (जैसे, कुछ पुनरावृत्तियों में केवल को बदल दिया जाता है जब त्रुटि को कम नहीं कर रहा है, तो व्युत्पन्न शुरू होता है )? आवेदन एक रेखीय प्रतिगमन मॉडल, एक लॉजिस्टिक प्रतिगमन मॉडल, या एल्गोरिदम को बढ़ावा देने वाला हो सकता है।y^-yw1,w2w1w2w1w1w2

जवाबों:


10

प्रत्येक चरण में ग्रेडिएंट वंश सभी मापदंडों को अपडेट करता है। आप इसे अद्यतन नियम में देख सकते हैं:

w(टी+1)=w(टी)-η(w(टी))

नुकसान समारोह की ढाल के बाद से वेक्टर-मान आयाम मिलान के साथ है , सभी मापदंडों प्रत्येक यात्रा पर अपडेट किया जाता है।(w)w

सीखने की दर एक सकारात्मक संख्या है जो ग्रेडिएंट को फिर से मापती है। बहुत बड़ा कदम उठाने से आप नुकसान की सतह पर अपने नुकसान के कार्य में कोई सुधार नहीं कर सकते हैं; बहुत छोटा कदम का मतलब यह हो सकता है कि इष्टतम रूप से धीमी गति से प्रगति हो।η

यद्यपि आप क्रमिक वंश का उपयोग करके रैखिक प्रतिगमन मापदंडों का अनुमान लगा सकते हैं, यह एक अच्छा विचार नहीं है।

इसी तरह, लॉजिस्टिक रिग्रेशन गुणांक का अनुमान लगाने के लिए बेहतर तरीके हैं।


इसलिए एल्गोरिथम स्थानीय मिनीमा तक पहुंचने के लिए आंशिक व्युत्पन्न से दिशा के आधार पर वृद्धि w1, कमी जैसे विभिन्न संयोजनों की कोशिश कर सकता है w2और केवल इस बात की पुष्टि करने के लिए कि एल्गोरिथ्म हमेशा वैश्विक मिनीमा को नहीं देगा?
3:89 पर Pb89

और आंशिक व्युत्पन्न भी मदद की व्याख्या करने के है कितना वृद्धि या कमी करने के लिए किया जा सकता है w1और w2या उस दर / संकोचन सीखने जबकि आंशिक व्युत्पन्न केवल मूल के दिशा प्रदान करके किया जाता है?
Pb89

ढाल एक वेक्टर है, इसलिए यह एक दिशा और परिमाण देता है । एक वेक्टर को मनमाने ढंग से एक स्केलर द्वारा पुनर्विकसित किया जा सकता है और इसकी दिशा समान होगी, लेकिन पुनर्विक्रेता इसकी परिमाण को बदल देगा।
साइकोरैक्स का कहना है कि मोनिका

यदि ग्रेडिएंट द्वारा परिमाण भी दिया जाता है तो सिकुड़न या सीखने की दर की क्या भूमिका है?
3:89 पर Pb89

सीखने की दर ढाल को बचाता है। मान लीजिए कि का बड़ा मानदंड (लंबाई) है। एक बड़ा कदम उठाते हुए आप नुकसान की सतह के एक सुदूर भाग (एक पर्वत से दूसरे पर्वत पर कूदते हुए) में जाएंगे। ग्रेडिएंट वंश का मूल औचित्य यह है कि यह के आसपास के क्षेत्र में एक रैखिक सन्निकटन है । यह अनुमान हमेशा अक्षम होता है, लेकिन यह शायद इससे भी बदतर है कि आप आगे बढ़ते हैं - इसलिए, आप छोटे कदम उठाना चाहते हैं, इसलिए आप कुछ छोटे उपयोग करते हैं , जहां 'छोटा' पूरी तरह से समस्या-विशिष्ट है। (एक्स)w(टी)η
साइकोरैक्स का कहना है कि मोनिका

7

जब अनुकूलन आंशिक डेरिवेटिव के माध्यम से होता है, तो प्रत्येक बारी में यह w1 और w2 दोनों को बदल देता है या क्या यह कुछ पुनरावृत्तियों में संयोजन है जैसे केवल w1 को बदल दिया जाता है और जब w1 त्रुटि को कम नहीं करता है, तो व्युत्पन्न w2 से शुरू होता है - को स्थानीय मिनिमा तक पहुँचें?

प्रत्येक पुनरावृत्ति में, एल्गोरिथ्म ग्रेडिएंट वेक्टर के आधार पर एक ही समय में सभी भार को बदल देगा। वास्तव में, ढाल एक वेक्टर है। ग्रेडिएंट की लंबाई मॉडल में वजन की संख्या के समान है।

दूसरी ओर, एक समय में एक पैरामीटर को बदलना मौजूद था और इसे समन्वित सभ्य एल्गोरिथ्म कहा जाता है , जो एक प्रकार का ग्रेडिएंट फ्री ऑप्टिमाइज़ेशन एल्गोरिदम है । व्यवहार में, यह और साथ ही ढाल आधारित एल्गोरिथ्म भी काम नहीं कर सकता है।

यहाँ ढाल मुक्त एल्गोरिथ्म पर एक दिलचस्प जवाब है

क्या बैकप्रॉपैगैशन के बिना तंत्रिका नेटवर्क को प्रशिक्षित करना संभव है?


1

ग्रेडिएंट डिसेंट का उद्देश्य लागत फ़ंक्शन को कम करना है। यह न्यूनतमकरण आपके मामले w1 और w2 के लिए वजन को समायोजित करके प्राप्त किया जाता है। सामान्य तौर पर हो सकता है n इस तरह के वजन।

ग्रेडिएंट वंश निम्न तरीके से किया जाता है:

  1. वजन को बेतरतीब ढंग से आरंभ करें।
  2. आरंभिक भार के साथ लागत समारोह और ढाल की गणना करें।
  3. अपडेट वीगेट्स: ऐसा हो सकता है कि ग्रेडिएंट कुछ वेट के लिए ओ हो, उस स्थिति में उन वेट को अपडेट करने के बाद कोई बदलाव नहीं दिखता है। उदाहरण के लिए: मान लीजिए कि ढाल है [1,0] W2 अपरिवर्तित रहेगा।
  4. अद्यतन वजन के साथ लागत फ़ंक्शन की जांच करें, अगर वेतन वृद्धि स्वीकार्य है तो पुनरावृत्तियों को जारी रखें।

वजन को अद्यतन करते समय कौन सा वजन (W1 या W2) बदलता है यह पूरी तरह से ढाल द्वारा तय किया जाता है। सभी वज़न अपडेट हो जाते हैं (कुछ वज़न ढाल के आधार पर बदल नहीं सकते हैं)।


"यदि वेतन वृद्धि स्वीकार्य है तो पुनरावृत्तियों को जारी रखना जारी रखें", क्या कोई डिफ़ॉल्ट मान है जो अजगर ( sklearn) या आर पैकेज जैसे पैकेज में लागू होता है caret? यह केवल एक मैन्युअल रूप से निर्मित ढाल वंश समारोह में निर्दिष्ट उपयोगकर्ता हो सकता है?
Pb89

1

धीरे-धीरे सभ्य दोनों को लागू किया जाता है w1और w2प्रत्येक पुनरावृत्ति के लिए। प्रत्येक पुनरावृत्ति के दौरान, ग्रेडिएंट के अनुसार अद्यतन किए गए पैरामीटर। वे संभवतः अलग-अलग आंशिक व्युत्पन्न होंगे।

चेक यहाँ

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