मुझे लगता है कि लाइन-सर्च और ट्रस्ट-रीजन के तरीकों में कुछ अंतर हो सकता है कि स्केलिंग को कैसे हैंडल किया जाए, लेकिन जब तक हम स्केलिंग के बारे में जानते हैं, तब तक मैं वास्तव में इसे नहीं देखता। और, स्पष्ट होने के लिए, नोकेडल और राइट बुक में शाइन स्केलिंग के बारे में बात की गई थी। नॉनलाइनियर स्केलिंग को निर्धारित करने के लिए कुछ पेचीदा मामला है।
क्यों देखने के लिए, कहते हैं कि हम कम करना चाहते , लेकिन हम व्युत्क्रमणीय, स्वयं adjoint ऑपरेटर किसी तरह से चर पैमाने पर करने के लिए चाहते हैं एक ∈ एल ( एक्स ) । परिभाषित J : X → R स्केल किए गए उद्देश्य फ़ंक्शन के रूप में। फिर,
जम्मू ( एक्स ) = च ( एक एक्स ) ∇ जम्मू ( एक्स ) = एक ∇ च ( एक एक्स ) ∇ 2 जम्मू ( एक्स )च: एक्स→ आरअ ∈ ल( एक्स))जे: एक्स→ आर
वास्तविक एल्गोरिदम में अंतर क्या स्केलिंग के लिए होता हैएक। न्यूटन की विधि में, हम हल
∇2जम्मू(एक्स)δएक्स=-∇जम्मू(एक्स)
या
एक∇2च(एकएक्स)एकδएक्स=-एक∇च(एकएक्स)
मान लिया जाये कि हेस्सियन nonsingular है, हमारे पास है
ए
जे( x ) =∇ जे( x ) =∇2जे( x ) =च( ए एक्स )अ ∇ च( ए एक्स )A ∇2च( ए एक्स ) ए
ए∇2जे( x ) δएक्स = - ∇ जम्मू( x )
A ∇2च( ए एक्स ) ए δएक्स = - एक ∇ च( ए एक्स )
मूल रूप से, स्केलिंग बाहर रद्द और गायब हो जाता है, इसलिए यह दिशा को प्रभावित नहीं करता। इसीलिए हम कहते हैं कि न्यूटन का तरीका शालीन पैमाने पर है।
A δx = - ∇2च( ए एक्स )- 1∇ च( ए एक्स )
ठीक है, तो अब हम कहते हैं कि हमारे पास हेसियन नहीं है। वास्तव में, दिन के अंत में, न्यास क्षेत्र तरीकों प्रणाली को सुलझाने पर भरोसा करते हैं
हेस्सियन सन्निकटन किसी तरह के लिए एच । ज्यादातर समय, हम Steihaug-Toint truncated-CG का उपयोग करने जा रहे हैं क्योंकि यह अच्छी तरह से काम करता है। यदि हम अपने स्केलिंग वापस प्लग, हमारे पास
एच δ एक्स = - एक ∇ च ( एक एक्स )
हम इस प्रणाली में तटरक्षक फेंक रहे हैं, कि मूल रूप से इसका मतलब है कि हम स्केलिंग से निपटने के लिए एक उपकरण है एक
एचδएक्स = - ∇ जम्मू( x )
एचएचδएक्स = - एक ∇ च( ए एक्स )
एऔर वह हेस्सियन या उसका सन्निकटन
। सैद्धांतिक रूप से, हम विश्वास-क्षेत्र के आकार को बदल सकते हैं, लेकिन वास्तव में इसका मतलब है कि हमारे कदम पहले या बाद में काट रहे हैं। यह कदम को प्रभावित करता है, लेकिन मैंने हमेशा इसे नियंत्रित करने के लिए एक दर्द पाया है।
एच
φ
δएक्स = φ ( - एक ∇ च( ए एक्स ) )
φφφए
∇2जे( x )δx = - ∇जम्मू( x )
ठीक सीजी का उपयोग कर। यह न्यास-क्षेत्र सेटिंग (पृष्ठ 171 में नोकेडल और राइट) या न्यूटन-सीजी में लाइन-सर्च (पी। 169 के लिए नोकेडल और राइट) में स्टेइहैग-टोइन का सटीक उपयोग कर रहा है। वे उसी के करीब काम करते हैं और वे एफिलिन स्केलिंग की परवाह नहीं करते हैं। उन्हें हेसियन के भंडारण की भी आवश्यकता नहीं है, केवल हेसियन-वेक्टर उत्पादों की आवश्यकता है। वास्तव में, इन एल्गोरिदम को अधिकांश समस्याओं के लिए कार्यक्षेत्र होना चाहिए और वे एफाइन स्केलिंग के बारे में परवाह नहीं करते हैं।
जहां तक ट्रस्ट-रीजन प्रॉब्लम के लिए प्रीकॉन्डरिशनर की बात है, तो मुझे नहीं लगता कि एप्रियोरी को बताने का कोई आसान तरीका है, अगर आप समग्र ऑप्टिमाइज़ेशन पुनरावृत्तियों की संख्या में सुधार करने जा रहे हैं या नहीं। वास्तव में, दिन के अंत में, अनुकूलन विधियाँ दो मोड में संचालित होती हैं। मोड एक में, हम न्यूटन के विधि अभिसरण त्रिज्या से बहुत दूर हैं, इसलिए हम वैश्वीकरण करते हैं और केवल पुनरावृत्तियों को यह सुनिश्चित करने के लिए बाध्य करते हैं कि उद्देश्य नीचे चला जाता है। ट्रस्ट-रीजन एक तरीका है। लाइन-सर्च एक और है। मोड दो में, हम न्यूटन के विधि अभिसरण त्रिज्या में हैं, इसलिए हम इसके साथ खिलवाड़ नहीं करने का प्रयास करते हैं और न्यूटन की विधि को काम करने देते हैं। वास्तव में, हम इसे विश्वास-क्षेत्र विधियों जैसी चीजों के अभिसरण प्रमाण में देख सकते हैं। उदाहरण के लिए, थ्योरम 4.9 (नोकेडल और राइट में p.93) देखें। बहुत स्पष्ट रूप से, वे बताते हैं कि ट्रस्ट-क्षेत्र कैसे निष्क्रिय हो जाता है। इस संदर्भ में, पूर्वगामी की उपयोगिता क्या है? निश्चित रूप से, जब हम न्यूटन की विधि अभिसरण त्रिज्या में होते हैं, हम बहुत कम काम करते हैं और सीजी पुनरावृत्तियों की संख्या कम हो जाती है। जब हम इस दायरे से बाहर होते हैं तो क्या होता है? यह निर्भर करता है। यदि हम पूर्ण-न्यूटन कदम की गणना करते हैं, तो लाभ यह है कि हमने कम काम किया। यदि हम छंटनी के कारण हमारे कदम को जल्दी काट देते हैं-सीजी, तो हमारी दिशा क्रायलोवस्पेस में होगी
{ - पी∇ जे( x ) , - ( P)एच) ( पी∇ जे( x ) ) , ... , - ( P)एच)क( पी∇जे( x ) ) }
पीएच{ - ∇ जे( x ) , - ( एच)) ( ∇ जे( x ) ) , … , - ( H))क( ∇ जे( x ) ) } ?
इसका मतलब यह नहीं है कि एक अच्छे पूर्ववर्ती को परिभाषित करने में कोई मूल्य नहीं है। हालांकि, मुझे यकीन नहीं है कि न्यूटन के विधि अभिसरण त्रिज्या से दूर के बिंदुओं के अनुकूलन में सहायता के लिए कोई पूर्वनिर्देशक को कैसे परिभाषित करता है। आमतौर पर, हम हेसियन सन्निकटन के आइगेनवेल्यूज़ को क्लस्टर करने के लिए एक पूर्व-डिज़ाइनर डिज़ाइन करते हैं, जो एक मूर्त, औसत दर्जे का लक्ष्य है।
tldr; व्यावहारिक रूप से, विश्वास-क्षेत्र विधि की तुलना में पुनरावृति उत्पन्न करने के लिए लाइन-खोज विधि के लिए अधिक विविधतापूर्ण तरीके हैं, इसलिए यह संभव है कि एफाइन स्केलिंग को संभालने का एक अद्भुत तरीका है। हालाँकि, बस एक न्यूटन विधि का उपयोग करें और यह कोई फर्क नहीं पड़ता। एक प्रीकॉन्डिशनर न्यूटन के विधि अभिसरण त्रिज्या से दूर एक एल्गोरिदम के प्रदर्शन को प्रभावित करता है, लेकिन यह निर्धारित करना कठिन है कि कैसे, इसलिए हेसियन्स सन्निकटन के आइगेनवेल्यूज़ को क्लस्टर करने के लिए एक प्रीकॉन्डिशनर डिज़ाइन करें।