ढाल वंश की आवश्यकता क्यों है?


10

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

इसके बजाय ढाल मूल प्रदर्शन क्यों किया जाता है?


2
किसी फ़ंक्शन के लिए एक व्युत्पत्ति को 0 पर कैसे सेट किया जाता है? एल्गोरिदम के साथ, जैसे ढाल वंश।
क्लिफ एबी

3
आप ग्रेडिएंट डिसेंट के बारे में सोच सकते हैं क्योंकि आपके द्वारा बताए गए समीकरणों को हल करने के लिए उपयोग की जाने वाली विधि । यदि आप इस विश्वास के अधीन हैं कि आप इस तरह के समीकरणों को चतुर बीजीय हेरफेर के साथ हल कर सकते हैं, तो मैं आपको लॉजिस्टिक रिग्रेशन के लिए ऐसा करने का प्रयास करने के लिए आमंत्रित करता हूं।
मैथ्यू डॉरी


1
इसके अलावा देखें stackoverflow.com/questions/26804656/…
Glen_b -Reinstate Monica

आप सब कुछ विश्लेषणात्मक रूप से हल नहीं कर सकते। यहां तक ​​कि अगर आप कर सकते हैं, अगर वहाँ कहते थे, शून्य की बेशुमार संख्या, तो आपको सभी महत्वपूर्ण बिंदुओं की जांच करने में लंबा समय लगेगा।
पिनोचियो

जवाबों:


8

यहां तक ​​कि, के मामले में, रैखिक मॉडल, जहां आपके पास एक विश्लेषणात्मक समाधान है, फिर भी ऐसे पुनरावृत्त सॉल्वर का उपयोग करना सबसे अच्छा हो सकता है।

उदाहरण के रूप में, यदि हम रैखिक प्रतिगमन पर विचार करते हैं, तो स्पष्ट समाधान के लिए एक मैट्रिक्स को सम्मिलित करने की आवश्यकता होती है जिसमें जटिलता । यह बड़े डेटा के संदर्भ में निषेधात्मक हो जाता है।O(N3)

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

जैसा कि पहले ही बताया गया है, तंत्रिका नेटवर्क की तरह अभी भी प्रासंगिक गैर-उत्तल समस्याएं हैं, जहां ढाल के तरीके (बैकप्रॉपैजेशन) एक कुशल सॉल्वर प्रदान करते हैं। फिर से यह गहरी सीखने के मामले के लिए विशेष रूप से प्रासंगिक है।


2
मैट्रिक्स में इन्वर्ट करना थोड़ा सा स्ट्रोमैन है क्योंकि आंशिक धुरी के साथ क्यूआर अपघटन अधिक सटीक और तेज है, लेकिन हाँ, क्यूआर अभी भी । मैं मानता हूं कि पर्याप्त रूप से बड़ी प्रणालियों (जैसे। 10,000 चर) के लिए जो एक समस्या बन सकती है। आधुनिक, उच्च तकनीक का दृष्टिकोण पुनरावृत्त क्रायलोव उप-विधियों (उदाहरण के लिए, ढाल, GMRES) के साथ समाधान का अनुमान लगाने के लिए है। O(n3)
मैथ्यू गन

1
एक बिंदु कुछ लोगों को भ्रम हो सकता है कि रैखिक प्रणाली को अनुकूलन समस्या का समाधान कैसे किया जाता है? पाठ्यक्रम का उत्तर यह है कि एक रैखिक प्रणाली को हल करने को एक द्विघात उद्देश्य को कम करने के रूप में फिर से शुरू किया जा सकता है। रैखिक प्रणालियों को हल करने के लिए कुछ पुनरावृत्त तरीके इस परिप्रेक्ष्य से समझने में आसान हैं कि वे पुनरावृत्त फैशन में एक द्विघात उद्देश्य को कम कर रहे हैं। (उदा। क्रायलोव उप-विधि विधि संयुग्म ढाल का चरण दिशा ढाल पर आधारित है ... यह
मैथ्यू गुन

12

धीरे-धीरे वंश की आवश्यकता नहीं है। यह धीरे-धीरे निकलता है वंश अक्सर एक बहुत ही अयोग्य अनुकूलन एल्गोरिथ्म है! पुनरावृत्ति विधियों के लिए, यह संभव है कि जहां ढाल सबसे अधिक है, वहां से आगे बढ़ने के लिए एक बेहतर दिशा मिल जाए।

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

  • द्विघात अनुकूलन समस्या के लिए, पहली आदेश स्थिति रैखिक समीकरणों की एक प्रणाली है, और हम लगभग सीधे समाधान पर जा सकते हैं क्योंकि रैखिक प्रणालियों को कुशलता से हल किया जा सकता है! हम करते हैं (QR अपघटन, नीचे चेतावनी के साथ जैसे।) पहले के आदेश की स्थिति का उपयोग करें और प्रणाली का समाधान।
  • आम तौर पर हालांकि, पहले क्रम की स्थिति समीकरणों के एक गैर-रेखीय प्रणाली को परिभाषित करती है और एक गैर-रेखीय प्रणाली को हल करना काफी मुश्किल हो सकता है! वास्तव में, जिस तरह से आप अक्सर गैर-रेखीय समीकरणों की एक प्रणाली को संख्यात्मक रूप से हल करते हैं, क्या आप इसे अनुकूलन समस्या के रूप में सुधार कर रहे हैं ...
  • के लिए बहुत बड़ी रैखिक प्रणालियों, QR अपघटन और आंशिक पिवट के साथ सीधे सिस्टम को हल अव्यवहार्य हो जाता है। लोग क्या करते है?! Iterative विधियाँ! (उदाहरण। पुनरावृति क्रायलोव उप-विधि के तरीके ...)

7

पथरी 101 में हमने "विश्लेषणात्मक विधि" का उपयोग करके किसी फ़ंक्शन को अनुकूलित करने के तरीके के बारे में सीखा: हमें केवल लागत फ़ंक्शन के व्युत्पन्न प्राप्त करने और व्युत्पन्न को 0 पर सेट करने की आवश्यकता है, फिर समीकरण को हल करें। यह वास्तव में एक खिलौना समस्या है और वास्तविक दुनिया में लगभग कभी नहीं होगी।

वास्तविक दुनिया में, कई लागत कार्यों में हर जगह व्युत्पन्न नहीं होते हैं (आगे, लागत फ़ंक्शन असतत हो सकता है और बिल्कुल भी व्युत्पन्न नहीं होता है)। इसके अलावा, यहां तक ​​कि आप व्युत्पन्न की गणना कर सकते हैं, आप केवल समीकरण को विश्लेषणात्मक रूप से हल नहीं कर सकते हैं (उदाहरण के लिए, को हल करने के तरीके के बारे में सोचें विश्लेषणात्मक रूप से; मैं आपको बता सकता हूं संख्यात्मक उत्तर , लेकिन विश्लेषणात्मक समाधान नहीं जानते हैं)। हमें कुछ संख्यात्मक तरीकों का उपयोग करना चाहिए (जांच करें कि यहां बहुपद मामलों पर एबेल रफिन प्रमेय क्यों है )।x7+x352+ex+log(x+x2)+1/x=0x=1.4786

Iterative तरीके उपयोग करने के लिए महान हैं, और समझने के लिए बहुत सहज हैं। मान लें कि आप किसी समीकरण को हल करने के बजाय एक फ़ंक्शन को ऑप्टिमाइज़ करना चाहते हैं और उत्तर प्राप्त करना चाहते हैं, तो आप पर्याप्त पुनरावृति के बाद पुनरावृत्तियों / चरणों की संख्या से अपने उत्तर को बेहतर बनाने का प्रयास करते हैं, आपको उत्तर "सही उत्तर" के करीब मिलेगा। मान लें कि यदि आप को कम करने के लिए कलन का उपयोग करते हैं , तो आप सीधे प्राप्त करते हैं, लेकिन संख्यात्मक विधियों का उपयोग करके, आप प्राप्त कर सकते हैं ।f(x)=x2x=0x=1.1234×1020

अब, यह समझना महत्वपूर्ण है कि ये पुनरावृत्तियां कैसे काम करती हैं। मुख्य अवधारणा यह जान रही है कि बेहतर समाधान प्राप्त करने के लिए अपने इनपुट मापदंडों को कैसे अपडेट किया जाए। मान लीजिए कि आप को छोटा करना चाहते हैं(ध्यान दें कि यह लागत फ़ंक्शन हर जगह भिन्न नहीं है, लेकिन "अधिकांश स्थानों पर" अलग-अलग है, यह हमारे लिए काफी अच्छा है, क्योंकि हम जानते हैं कि "अधिकांश स्थानों" को कैसे अपडेट किया जाए।), वर्तमान में आप । और लागत , अब आप उद्देश्य फ़ंक्शन को छोटा करने के लिए अपडेट करना चाहते हैं। आप वह कैसे करेंगें? आप कह सकते हैं कि मैं दोनों को कम करना चाहता , लेकिन क्यों? वास्तव में आप उपयोग कर रहे हैंf(x1,x2)=x12+x22+|x1+x2|(1,1)4.0(x1,x2)x1 x2ग्रेडिएंट की अवधारणा " की छोटी राशि को बदलना , पर क्या होगा "। xy। में , व्युत्पन्न है , तो नकारात्मक ढाल बार एक सीखने दर कहते हैं , है , तो हम से हमारे समाधान अद्यतन करने के लिए जिनकी लागत बेहतर है।(1,1)(3,3)α=0.001(0.003,0.003)1,1(0.997,0.997)


अधिक जानकारी इस संबंधित पोस्ट
हायतौ डू

4

आपके द्वारा उल्लिखित दृष्टिकोण का उपयोग केवल रेखीय प्रतिगमन के मामले में उदाहरण के लिए रैखिक समीकरणों के एक सेट को हल करने के लिए किया जा सकता है, लेकिन गैर रेखीय समीकरणों के एक समूह को हल करने के लिए कहें, सिग्मॉइड एक्टिविटीज के साथ तंत्रिका नेटवर्क जैसे मामलों में, ग्रेडिएंट डिसेंट्रस दृष्टिकोण है करने के लिए जाना। इस प्रकार ग्रेडिएंट डिसेंट एक अधिक सामान्य दृष्टिकोण है।

यहां तक ​​कि रैखिक समीकरणों के लिए, रैखिक समीकरणों के सेट द्वारा दिए गए मैट्रिसेस का आकार मैं बहुत बड़ा है, और स्मृति की आवश्यकता को बाधित करने के लिए कठिन हो सकता है।

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