यदि हेसियन अनुकूलन के लिए बहुत अच्छे हैं (उदाहरण के लिए न्यूटन की विधि देखें ), तो वहां क्यों रुकें? चलो तीसरे, चौथे, पांचवें और छठे डेरिवेटिव का उपयोग करें? क्यों नहीं?
यदि हेसियन अनुकूलन के लिए बहुत अच्छे हैं (उदाहरण के लिए न्यूटन की विधि देखें ), तो वहां क्यों रुकें? चलो तीसरे, चौथे, पांचवें और छठे डेरिवेटिव का उपयोग करें? क्यों नहीं?
जवाबों:
मैं इस सवाल की व्याख्या कर रहा हूं कि "न्यूटन का तरीका केवल पहले और दूसरे डेरिवेटिव का उपयोग क्यों करता है, तीसरा या उच्चतर डेरिवेटिव नहीं?"
दरअसल, कई मामलों में, तीसरे व्युत्पन्न में जाने से मदद मिलती है; मैंने पहले कस्टम सामान के साथ किया है। हालांकि, सामान्य तौर पर, उच्चतर डेरिवेटिव्स में जाना कम्प्यूटेशनल जटिलता को जोड़ता है - आपको उन सभी डेरिवेटिव्स को ढूंढना और उनकी गणना करना होगा, और बहुभिन्नरूपी समस्याओं के लिए, पहले डेरिवेटिव की तुलना में बहुत अधिक तीसरे डेरिवेटिव हैं! - कि दूर कदम गिनती में बचत outweighs आप, यदि कोई हो। उदाहरण के लिए, यदि मेरे पास 3-आयामी समस्या है, तो मेरे पास 3 पहला डेरिवेटिव, 6 दूसरा डेरिवेटिव और 10 तीसरा डेरिवेटिव है, इसलिए मुझे जो भी मूल्यांकन करना है, उसकी संख्या दोगुनी से अधिक तीसरे क्रम वाले संस्करण पर जा रही है (9 से) 19), मैंने उन मूल्यांकनों को करने के बाद चरण दिशा / आकार की गणना की बढ़ी हुई जटिलता का उल्लेख नहीं किया है, लेकिन निश्चित रूप से मुझे उन चरणों की संख्या में कटौती नहीं करनी होगी जो मुझे आधे में लेने हैं।
अब, के साथ सामान्य मामले में चर, का संग्रह आंशिक डेरिवेटिव जाएगा संख्या , तो पाँच चर, तीसरे की कुल संख्या के साथ एक समस्या के लिए , चौथा और पांचवा आंशिक व्युत्पन्न 231 के बराबर होगा, पहले और दूसरे आंशिक व्युत्पन्न की संख्या (20) की तुलना में 10 गुना अधिक वृद्धि। आपके पास एक समस्या होगी जो कि उस अतिरिक्त कम्प्यूटेशनल बोझ को पूरा करने के लिए पुनरावृत्तियों की एक बड़ी पर्याप्त कमी को देखने के लिए चर में पांचवें क्रम के बहुपद के बहुत करीब है।एन टी एच
मैं वास्तव में नहीं देखता कि इस प्रश्न का सांख्यिकीय पहलू क्या है, इसलिए मैं अनुकूलन भाग का उत्तर दूंगा।
यहां बहुत सुंदर हर उत्तर सिर्फ पुनरावृत्ति लागत पर ध्यान केंद्रित कर रहा है और पुनरावृत्ति गिनती की अनदेखी कर रहा है । लेकिन दोनों ही मायने रखते हैं। एक विधि जो 1 नैनोसेकंड में पुनरावृत्ति करती है लेकिन पुनरावृत्तियों को अभिसरण में ले जाती है, इससे आपका कोई भला नहीं होगा। और एक विधि जो उड़ती है, वह या तो मदद नहीं करेगी, चाहे वह कितनी भी सस्ती क्यों न हो।
आइए जानें कि क्या चल रहा है।
आंशिक रूप से क्योंकि (और यह 2-क्रम के लिए भी सही है, लेकिन इस पर थोड़ा और अधिक):
दूसरी ओर, वे अधिक आसानी से उड़ाते हैं जब वे इष्टतम से दूर होते हैं!
(बेशक, यह हमेशा सच नहीं होता है; उदाहरण के लिए एक द्विघात न्यूटन की विधि के साथ 1 चरण में अभिसरण होगा। लेकिन वास्तविक दुनिया में मनमाने कार्यों के लिए जिनमें अच्छे गुण नहीं हैं, यह आम तौर पर सच है।)
इसका मतलब है कि जब आप आगे इष्टतम से दूर हैं, तो आप आम तौर पर चाहते विधि: एक कम आदेश (प्रथम क्रम पढ़ें)। केवल जब आप पास होते हैं तो आप विधि के क्रम को बढ़ाना चाहते हैं।
यह देखने के लिए, आपको पहले यह समझना होगा कि "द्विघात अभिसरण" का क्या अर्थ है ।
गणितीय रूप से, द्विघात अभिसरण का अर्थ है कि, अगर पर आपकी त्रुटि , तो निम्नलिखित अंततः कुछ निरंतर लिए सही है :
सादे अंग्रेजी में, इसका मतलब है कि, एक बार जब आप इष्टतम (महत्वपूर्ण!) के पास होते हैं, तो प्रत्येक अतिरिक्त चरण सटीकता के अंकों की संख्या को दोगुना कर देता है ।
क्यूं कर? एक उदाहरण के साथ देखना आसान है: और , आपके पास , , आदि है जो हास्यास्पद रूप से उपवास है । (यह सुपर घातीय है !)
दरअसल, लोग अक्सर ऐसा करते हैं जब दूसरे क्रम का डेरिवेटिव बहुत महंगा हो जाता है। लेकिन रैखिक अभिसरण बहुत धीमा हो सकता है । उदाहरण के लिए यदि आपको मिला है, तो आपको रैखिक साथ 10,000,000 पुनरावृत्तियों की आवश्यकता होगी, , लेकिन द्विघात अभिसरण के साथ केवल 23 पुनरावृत्तियों। तो तुम क्यों एक वहाँ देख सकते हैं कठोर रैखिक और द्विघात अभिसरण के बीच का अंतर। यह दूसरे और तीसरे क्रम के अभिसरण के लिए सही नहीं है, उदाहरण के लिए (अगला पैराग्राफ देखें)।
इस बिंदु पर, यदि आप किसी भी कंप्यूटर विज्ञान को जानते हैं, तो आप समझते हैं कि 2-क्रम अभिसरण के साथ, समस्या पहले से ही हल है । यदि आप यह नहीं देखते हैं, तो यहां क्यों: प्रत्येक दोहरीकरण के बजाय अंकों की संख्या को तीन गुना करने से प्राप्त करने के लिए व्यावहारिक कुछ भी नहीं है - यह आपको क्या खरीदने जा रहा है? सब के बाद, एक कंप्यूटर में, यहां तक कि एक- संख्या में सटीकता के 52 बिट्स होते हैं, जो लगभग 16 दशमलव अंक है।
हो सकता है कि यह आपके द्वारा आवश्यक चरणों की संख्या को 16 से घटाकर 3 कर देगा ... जो बहुत अच्छा लगता है, जब तक आपको यह पता नहीं चलता है कि प्रत्येक पुनरावृत्ति पर तीसरे डेरिवेटिव की गणना करने की कीमत पर आता है , जो कि आयामीता का अभिशाप हैdouble
तुम्हें बहुत मारता है। एक -आयामी समस्या के लिए, आपने सिर्फ एक कारक का भुगतान किया का कारक , जो गूंगा है। और वास्तविक दुनिया में समस्याओं के कम से कम सैकड़ों आयाम हैं (या यहां तक कि हजारों या लाखों भी), केवल नहीं ! तो आप 20 के एक कारक का भुगतान करके शायद 20 का कारक प्राप्त करते हैं, कहते हैं, 20,000 ... शायद ही एक बुद्धिमान व्यापार बंद।
दूसरी छमाही यह है कि जब आप इष्टतम से बहुत दूर होते हैं, तो आप आमतौर पर बदतर व्यवहार करते हैं, जो आमतौर पर आपके द्वारा किए जाने वाले पुनरावृत्तियों की संख्या को प्रतिकूल रूप से प्रभावित करता है।
एक सामान्य सेटिंग में, 2 से उच्च-क्रम के तरीके एक बुरा विचार हैं। बेशक, आप तालिका में अतिरिक्त सहायक मान्यताओं ला सकता है, तो (उदाहरण के लिए शायद अपने डेटा है एक उच्च डिग्री बहुपद जैसे लगते हैं, या आप इष्टतम, आदि के स्थान बाउंडिंग के तरीके है), तो हो सकता है आप पा सकते हैं वे कर रहे हैं कि एक अच्छा विचार- लेकिन यह एक समस्या-विशिष्ट निर्णय होगा, और इसके द्वारा जीने के लिए अंगूठे का एक सामान्य नियम नहीं है।
यहां तक कि हेसियन्स की गणना भी काफी काम की है:
अब देखें कि तीसरा व्युत्पन्न कैसा दिखता है: यह एक तीन आयामी मैट्रिक्स है। यहां बताया गया है कि इसके तत्व कैसे दिखते हैं:
छठे का व्युत्पन्न छह आयामी मैट्रिक्स होगा:
आमतौर पर, व्यापार बंद हेस्सियन से अधिक के बाद जाने के लिए अनुकूल नहीं है। मेरा मतलब है कि उच्च क्रम सन्निकटन बनाम शोर प्रवर्धन का उपयोग करके गति में संभावित लाभ के बीच व्यापार-बंद। आपके पास इनपुट्स में हमेशा शोर रहता है क्योंकि हम सांख्यिकीय अनुप्रयोगों के बारे में बात कर रहे हैं। यह शोर व्युत्पन्न द्वारा प्रवर्धित किया जाएगा।
यदि आप गोल्फ खेलते हैं, तो अनुकूलन में सादृश्य पहले स्विंग को हरा पाने की कोशिश करना है, एक छेद के बारे में ज्यादा चिंता न करना। एक बार, हरे रंग पर, हम एक छेद का लक्ष्य रखेंगे।
आमतौर पर, जब आप इस तरह के एल्गोरिदम की प्रभावशीलता का विश्लेषण करते हैं, तो आपको एक चौथे क्रम के एल्गोरिथ्म के एक चरण जैसे परिणाम मिलेंगे, जो लगभग दूसरे क्रम के एल्गोरिथ्म के दो चरणों के समान प्रभावशीलता है।
इसलिए किस एल्गोरिदम का उपयोग करना है, इसका विकल्प अपेक्षाकृत सरल है: यदि चौथे क्रम के एल्गोरिथ्म का एक चरण दूसरे काम के एल्गोरिथ्म के दो से अधिक चरण या एक से अधिक चरण लेता है, तो आपको इसके बजाय उत्तरार्द्ध का उपयोग करना चाहिए।
इस प्रकार के तरीकों के लिए यह विशिष्ट स्थिति है: शास्त्रीय एल्गोरिथ्म में सामान्य समस्याओं के लिए इष्टतम कार्य-से-प्रभावशीलता अनुपात है। हालांकि कभी-कभी समस्याएं होती हैं जहां उच्च क्रम दृष्टिकोण गणना के लिए असामान्य रूप से आसान होता है और शास्त्रीय रूपांतर को बेहतर बना सकता है, वे अपेक्षाकृत असामान्य हैं।
आप कार्य के लिए एक बहुपद सन्निकटन के क्रम के रूप में डेरिवेटिव के आदेश के बारे में सोच सकते हैं। अधिकांश अनुकूलन दिनचर्या उत्तलता पर निर्भर करती हैं। एक द्विघात बहुपद हर जगह उत्तल / अवतल होगा, जबकि एक तीसरा क्रम या उच्च बहुपद हर जगह उत्तल नहीं होगा। अधिकांश अनुकूलन दिनचर्या इस कारण के लिए द्विघात के साथ उत्तल कार्यों के क्रमिक अनुमानों पर निर्भर करते हैं। एक द्विघात अव्यवस्था जो उत्तल है, एक सकारात्मक निश्चितता की स्थिति की आवश्यकता है ताकि द्विघात उत्तल हो।
मुझे SGD के अभिसरण के लिए 3 आदेश के तरीकों का बचाव करने वाला केवल एक ही व्यक्ति होना चाहिए, लेकिन निश्चित रूप से पूरे स्थान में नहीं है जो गुणांकों की आवश्यकता होगी, लेकिन केवल एक ही दिशा में, जिसे केवल एक अतिरिक्त गुणांक की आवश्यकता है पहले से ही इस दिशा में दूसरा ऑर्डर मॉडल है।
एकल दिशा 3 क्रम मॉडल क्यों फायदेमंद हो सकता है? उदाहरण के लिए क्योंकि इस दिशा में शून्य दूसरी व्युत्पन्न के करीब मूल रूप से दो वैकल्पिक परिदृश्यों का अर्थ है: पठार या विभक्ति बिंदु - केवल पूर्व को बड़े चरण के आकार की आवश्यकता होती है, और 3 व्युत्पन्न उन्हें अलग करने की अनुमति देता है।
मेरा मानना है कि हम हाइब्रिड मल्टी-ऑर्डर विधियों की ओर जाएंगे: निम्न आयामी उप-क्षेत्र में 2 डी पद्धति विधि जैसे कि हाल के ग्रेडिएंट्स के पीसीए से, जो अभी भी मुफ्त 1 ऑर्डर की अनुमति देता है, साथ ही साथ इस सबसेंसेन्ट में ग्रेडिएंट ऑर्थोगोनल के हिस्से के लिए क्रमिक ढाल डिसेंट ... और इसके अतिरिक्त मैं एक सबसे अधिक प्रासंगिक दिशा के लिए उदा 3 जी ऑर्डर मॉडल जोड़ूंगा।