अर्ध-न्यूटन विधि: Difference between revisions
No edit summary |
No edit summary |
||
| Line 78: | Line 78: | ||
अर्ध-न्यूटन विधियों का कार्यान्वयन कई प्रोग्रामिंग भाषाओं में उपलब्ध है। | अर्ध-न्यूटन विधियों का कार्यान्वयन कई प्रोग्रामिंग भाषाओं में उपलब्ध है। | ||
उल्लेखनीय | उल्लेखनीय खुला स्त्रोत कार्यान्वयन में शामिल हैं: | ||
*[[जीएनयू ऑक्टेव]] अपने में बीएफजीएस के रूप का उपयोग करता है <code>fsolve</code> समारोह, [[विश्वास क्षेत्र]] विस्तार के साथ। | *[[जीएनयू ऑक्टेव]] अपने में बीएफजीएस के रूप का उपयोग करता है <code>fsolve</code> समारोह, [[विश्वास क्षेत्र]] विस्तार के साथ। | ||
Revision as of 14:12, 16 February 2023
अर्ध-न्यूटन विधि के विकल्प के रूप में अर्ध-न्यूटन विधियां शून्य या स्थानीय, अधिकतम और न्यूनतम कार्यों को खोजने के लिए उपयोग की जाने वाली विधियाँ हैं। यदि जैकबियन मैट्रिक्स या हेसियन मैट्रिक्स अनुपलब्ध है, जो प्रत्येक पुनरावृत्ति पर गणना करने के लिए बहुत बहुमूल्य है तो उनका उपयोग किया जा सकता है। अनुकूलन में पूर्ण न्यूटन विधि के लिए जैकबियन की आवश्यकता होती है जिससे कि शून्य की खोज की जा सके और एक्स्ट्रेमा को खोजने के लिए हेसियन की आवश्यकता होती है।
शून्य के लिए खोजें: मूल अनुसंधान
किसी फलन का शून्य ज्ञात करने की न्यूटन विधि एकाधिक चर के द्वारा दिया जाता है , जहाँ जैकबियन मैट्रिक्स का व्युत्क्रम तत्व आव्यूह है, का के लिए मूल्यांकन किया गया .
वास्तव में कोई भी विधि जो सटीक जैकोबियन को बदल देती है सन्निकटन के साथ अर्ध-न्यूटन विधि है।[1] उदाहरण के लिए, राग विधि जहाँ द्वारा प्रतिस्थापित किया जाता है सभी पुनरावृत्तियों के लिए) साधारण उदाहरण है। एक्स्ट्रेमा के लिए खोजें नीचे दी गई विधियाँ अर्ध-न्यूटन विधियों के छेदक विधियों के महत्वपूर्ण उपवर्ग को संदर्भित करती हैं।[2]शून्य को खोजने के लिए और एक्स्ट्रेमा को खोजने के लिए विकसित विधियों का उपयोग करना सदैव अच्छा विचार नहीं होता है, क्योंकि एक्स्ट्रेमा को खोजने के लिए उपयोग की जाने वाली अधिकांश विधियों के लिए आवश्यक है कि उपयोग किया जाने वाला मैट्रिक्स सममित हो। जबकि यह एक्स्ट्रेमा की खोज के संदर्भ में है, यह शून्य की खोज करते समय संभवतः ही कभी पकड़ में आता है। ब्रॉयडेन की विधि | ब्रोयडेन की अच्छी और खराब दो विधियाँ हैं जिनका उपयोग सामान्यतः एक्स्ट्रेमा खोजने के लिए किया जाता है जिसे शून्य खोजने के लिए भी लागू किया जा सकता है। जिन अन्य विधियों का उपयोग किया जा सकता है, वे हैं स्तंभ-अद्यतन विधि, व्युत्क्रम स्तंभ-अद्यतन विधि, अर्ध-न्यूटन न्यूनतम वर्ग विधि और अर्ध-न्यूटन व्युत्क्रम न्यूनतम वर्ग विधि।
जल्दी ही में अर्ध-न्यूटन विधियों को समीकरणों के कई युग्मित प्रणालियों के समाधान खोजने के लिए लागू किया गया है, उदाहरण के लिए द्रव-संरचना अन्योन्यक्रिया समस्याएं या भौतिकी में अंतःक्रियात्मक समस्याएं है। वे प्रत्येक घटक प्रणाली को अलग-अलग जो वैश्विक प्रणाली की तुलना में सरल है चक्रीय, पुनरावृत्त प्रकार में हल करके समाधान खोजने की अनुमति देते हैं जब तक कि वैश्विक प्रणाली का समाधान नहीं मिल जाता।[2][3]
एक्सट्रीमा के लिए खोजें: अनुकूलन
न्यूनतम या अधिकतम स्केलर-मूल्यवान फ़ंक्शन की खोज उस फ़ंक्शन के ढाल के शून्य की खोज के अतिरिक्त और कुछ नहीं है। इसलिए, किसी फ़ंक्शन के एक्स्ट्रेमा को खोजने के लिए अर्ध-न्यूटन विधियों को आसानी से लागू किया जा सकता है। दूसरे शब्दों में, यदि की प्रवणता है , फिर वेक्टर-मूल्यवान फ़ंक्शन के शून्यों की खोज करना स्केलर-वैल्यू फ़ंक्शन के एक्स्ट्रेमा की खोज के अनुरूप है के जैकोबियन अब का हेसियन बन जाता है . मुख्य अंतर यह है कि हेसियन मैट्रिक्स मिश्रित यौगिक और हेसियन की समरूपता जेकोबियन के विपरीत जब शून्य खोजते हैं। अनुकूलन में उपयोग की जाने वाली अधिकांश अर्ध-न्यूटन विधियाँ इस गुण का लाभ उठाती हैं।
अनुकूलन (गणित) में, अर्ध-न्यूटन विधियाँ चर-दशांश विधियों का विशेष स्थिति फ़ंक्शन गणित के स्थानीय मैक्सिमा और मिनिमा को खोजने के लिए कलन विधि हैं। अर्ध-न्यूटन विधियाँ अनुकूलन में न्यूटन विधि पर आधारित हैं। किसी फ़ंक्शन के स्थिर बिंदु को खोजने के लिए न्यूटन विधि , जहाँ प्रवणता 0 है। न्यूटन विधि मानती है कि फ़ंक्शन को अनुकूलतम के आसपास के क्षेत्र में द्विघात फ़ंक्शन के रूप में स्थानीय रूप से अनुमानित किया जा सकता है और स्थिर बिंदु खोजने के लिए पहले और दूसरे यौगिक का उपयोग करता है। उच्च आयामों में न्यूटन विधि फ़ंक्शन के दूसरे यौगिक के ढाल और हेस्सियन मैट्रिक्स का उपयोग कम करने के लिए करती है।
अर्ध-न्यूटन विधियों में हेस्सियन मैट्रिक्स की गणना करने की आवश्यकता नहीं है। हेस्सियन को इसके अतिरिक्त क्रमिक प्रवणता वैक्टर का विश्लेषण करके अद्यतन किया जाता है। अर्ध-न्यूटन विधियां बहुआयामी समस्याओं के लिए पहले व्युत्पन्न की जड़ को खोजने के लिए छेदक विधि का सामान्यीकरण हैं। कई आयामों में छेदक समीकरण अधीन -निर्धारित प्रणाली है। अधीन -निर्धारित और अर्ध-न्यूटन विधियों में भिन्नता है कि वे समाधान को कैसे बाधित करते हैं सामान्यतः हेसियन के वर्तमान अनुमान में साधारण निम्न-रैंक अद्यतन जोड़कर।
पहला अर्ध-न्यूटन कलन विधि विलियम सी. डेविडॉन द्वारा प्रस्तावित किया गया था, जो अग्रोने राष्ट्रीय प्रयोगशाला में कार्यरत भौतिक विज्ञानी थे। उन्होंने 1959 में पहला अर्ध-न्यूटन कलन विधि विकसित किया। DFP अद्यतन सूत्र, जिसे बाद में 1963 में फ्लेचर और पॉवेल द्वारा लोकप्रिय बनाया गया था, किन्तु आज संभवतः ही कभी इसका उपयोग किया जाता है। सबसे साधारण अर्ध-न्यूटन कलन विधि वर्तमान में SR1 सूत्र सममित रैंक-वन के लिए, BHHH विधि, व्यापक BFGS विधि 1970 में ब्रॉयडेन, फ्लेचर, गोल्डफार्ब और शन्नो द्वारा स्वतंत्र रूप से सुझाया गया, और इसकी कम-मेमोरी हैं विस्तार एल-बीएफजीएस। ब्रॉयडेन की कक्षा DFP और बीएफजीएस विधियों का रैखिक संयोजन है।
SR1 सूत्र सकारात्मक-निश्चित मैट्रिक्स को बनाए रखने के लिए अद्यतन मैट्रिक्स की गारंटी नहीं देता है। सकारात्मक-निश्चितता और अनिश्चित समस्याओं के लिए उपयोग किया जा सकता है। ब्रॉयडेन की विधि को अद्यतन मैट्रिक्स को सममित होने की आवश्यकता नहीं होती है। जैकबियन मैट्रिक्स और निर्धारक हेस्सियन के अतिरिक्त को अद्यतन करके समीकरणों की सामान्य प्रणाली ढाल के अतिरिक्त की मूल को खोजने के लिए उपयोग किया जाता है।
अनुकूलन में न्यूटन विधि पर अर्ध-न्यूटन विधियों के मुख्य लाभों में से न्यूटन की विधि यह है कि हेस्सियन मैट्रिक्स ,अर्ध-न्यूटन विधियों के स्थितियों में इसका सन्निकटन उलटने की जरूरत नहीं है। न्यूटन विधि और इसके यौगिक जैसे आंतरिक बिंदु विधियों के लिए हेस्सियन को उल्टा करने की आवश्यकता होती है, जिसे सामान्यतः रैखिक समीकरणों की प्रणाली को हल करके कार्यान्वित किया जाता है और अधिकांशतः बहुत बहुमूल्य होता है। इसके विपरीत अर्ध-न्यूटन विधियाँ सामान्यतः अनुमान उत्पन्न करती हैं।
अनुकूलन में न्यूटन विधि के रूप में न्यूटन विधि , फ़ंक्शन का न्यूनतम पता लगाने के लिए दूसरे क्रम के सन्निकटन का उपयोग करता है . टेलर श्रृंखला चारों ओर पुनरावृति है
जहाँ () ढाल है, और हेस्सियन मैट्रिक्स के लिए सन्निकटन।[4] इस सन्निकटन का ढाल के संबंध में है,
और इस ढाल को शून्य पर चयन करना जो अनुकूलन का लक्ष्य है न्यूटन चरण प्रदान करता है,
हेसियन सन्निकटन संतुष्ट करने के लिए चुना गया है,
जिसे छेदक समीकरण प्रवणता की टेलर श्रृंखला कहा जाता है। एक से अधिक आयामों में अनिर्धारित प्रणाली है। आयाम के लिए हल करना और अद्यतन मूल्य के साथ न्यूटन के कदम को लागू करना छेदक विधि के बराबर है। विभिन्न अर्ध-न्यूटन विधियाँ छेदक समीकरण आयाम में सभी प्रकार समतुल्य हैं आयाम के समाधान की अपनी पसंद में भिन्न हैं। अधिकांश विधियाँ किन्तु अपवादों के साथ, जैसे कि ब्रॉयडेन की विधि सममित समाधान की खोज करती हैं (); इसके अतिरिक्त, नीचे सूचीबद्ध प्रकार को अद्यतन पाकर प्रेरित किया जा सकता है यह जितना संभव हो उतना समीप है कुछ सामान्य (गणित) में; वह है, , जहाँ कुछ सकारात्मक-निश्चित आव्यूह है जो आदर्श को परिभाषित करता है। अनुमानित प्रारंभिक मूल्य तेजी से अभिसरण प्राप्त करने के लिए अधिकांशतः पर्याप्त होता है, चूंकि चुनने के लिए कोई सामान्य रणनीति नहीं होती है .[5] ध्यान दें कि सकारात्मक-निश्चित होना चाहिए। अनभिज्ञ वर्तमान सन्निकट हेस्सियन मैट्रिक्स का उपयोग करके गणना किए गए न्यूटन के कदम को लागू करते हुए अद्यतन किया गया है :
- , साथ वोल्फ की अवस्था को पूरा करने के लिए चुना गया,
- ;
- प्रवणता की गणना नए बिंदु पर की जाती है , और
अनुमानित हेसियन को अद्यतन करने के लिए प्रयोग किया जाता है , या सीधे इसका उलटा शर्मन-मॉरिसन सूत्र का उपयोग करना।
- BFGS और DFP अद्यतनों की प्रमुख विशेषता यह है कि यदि सकारात्मक-निश्चित है, और फिर वोल्फ की अवस्था को पूरा करने के लिए चुना जाता है सकारात्मक-निश्चित भी है।
सबसे लोकप्रिय अद्यतन सूत्र हैं:
अन्य विधियाँ पियर्सन की विधि, मैककॉर्मिक की विधि, पॉवेल सममित ब्रॉयडेन (PSB) विधि और ग्रीनस्टेड की विधि हैं।[2]
मैट्रिक्स व्युत्क्रम से संबंध
कब सकारात्मक-निश्चित हेस्सियन के साथ उत्तल द्विघात फलन है , कोई मेट्रिसेस की अपेक्षा करेगा व्युत्क्रम हेसियन में अभिसरण करने के लिए अर्ध-न्यूटन विधि द्वारा उत्पन्न . यह वास्तव में कम से कम परिवर्तन अद्यतनों के आधार पर अर्ध-न्यूटन विधियों के वर्ग का स्थिति है।[6]
उल्लेखनीय कार्यान्वयन
अर्ध-न्यूटन विधियों का कार्यान्वयन कई प्रोग्रामिंग भाषाओं में उपलब्ध है।
उल्लेखनीय खुला स्त्रोत कार्यान्वयन में शामिल हैं:
- जीएनयू ऑक्टेव अपने में बीएफजीएस के रूप का उपयोग करता है
fsolveसमारोह, विश्वास क्षेत्र विस्तार के साथ। - जीएनयू वैज्ञानिक पुस्तकालय ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो (बीएफजीएस) कलन विधि को लागू करती है।
- ALGLIB C++ और C# में (L)BFGS लागू करता है
- आर (प्रोग्रामिंग भाषा) की
optimसामान्य-उद्देश्य ऑप्टिमाइज़र रूटीन BFGS विधि का उपयोग करके उपयोग करता हैmethod="BFGS".[7] - Scipy.optimize में fmin_bfgs है। पायथन (प्रोग्रामिंग भाषा) के लिए SciPy विस्तार में,
scipy.optimize.minimizeफ़ंक्शन में अन्य विधियों के साथ-साथ BFGS कार्यान्वयन भी शामिल है।[8]
उल्लेखनीय मालिकाना कार्यान्वयन में शामिल हैं:
- गणित में अर्ध-न्यूटन सॉल्वर शामिल हैं।[9]
- एनएजी न्यूमेरिकल लाइब्रेरी में कई रूटीन होते हैं[10] किसी फ़ंक्शन को न्यूनतम या अधिकतम करने के लिए[11] जो अर्ध-न्यूटन कलन विधि का उपयोग करते हैं।
- MATLAB के अनुकूलन टूलबॉक्स में,
fminuncफ़ंक्शन उपयोग करता है (अन्य विधियों के बीच) बीएफजीएस अर्ध-न्यूटन विधि।[12] अनुकूलन टूलबॉक्स के कई विवश तरीके BFGS और प्रकार L-BFGS का उपयोग करते हैं।[13]<
यह भी देखें
- बीएफजीएस विधि
- सीमित-मेमोरी BFGS|L-BFGS
- ऑर्थेंट-वार सीमित-स्मृति अर्ध-न्यूटन|OWL-QN
- ब्रॉयडेन की विधि
- DFP अद्यतन करने का फ़ॉर्मूला
- न्यूटन विधि
- अनुकूलन में न्यूटन विधि
- SR1 फ़ॉर्मूला
संदर्भ
- ↑ Broyden, C. G. (1972). "Quasi-Newton Methods". In Murray, W. (ed.). Numerical Methods for Unconstrained Optimization. London: Academic Press. pp. 87–106. ISBN 0-12-512250-0.
- ↑ 2.0 2.1 2.2 Haelterman, Rob (2009). "Analytical study of the Least Squares Quasi-Newton method for interaction problems". PhD Thesis, Ghent University. Retrieved 2014-08-14.
- ↑ Rob Haelterman, Dirk Van Eester, Daan Verleyen (2015). "Accelerating the solution of a physics model inside a tokamak using the (Inverse) Column Updating Method". Journal of Computational and Applied Mathematics. 279: 133–144. doi:10.1016/j.cam.2014.11.005.
{{cite journal}}: CS1 maint: uses authors parameter (link) - ↑ "Introduction to Taylor's theorem for multivariable functions - Math Insight". mathinsight.org. Retrieved November 11, 2021.
- ↑ Nocedal, Jorge; Wright, Stephen J. (2006). Numerical Optimization. New York: Springer. pp. 142. ISBN 0-387-98793-2.
- ↑ Robert Mansel Gower; Peter Richtarik (2015). "Randomized Quasi-Newton Updates are Linearly Convergent Matrix Inversion Algorithms". arXiv:1602.01768 [math.NA].
- ↑ "optim function - RDocumentation". www.rdocumentation.org (in English). Retrieved 2022-02-21.
- ↑ "Scipy.optimize.minimize — SciPy v1.7.1 Manual".
- ↑ "Unconstrained Optimization: Methods for Local Minimization—Wolfram Language Documentation". reference.wolfram.com. Retrieved 2022-02-21.
- ↑ The Numerical Algorithms Group. "Keyword Index: Quasi-Newton". NAG Library Manual, Mark 23. Retrieved 2012-02-09.
- ↑ The Numerical Algorithms Group. "E04 – Minimizing or Maximizing a Function" (PDF). NAG Library Manual, Mark 23. Retrieved 2012-02-09.
- ↑ "Find minimum of unconstrained multivariable function - MATLAB fminunc".
- ↑ "Constrained Nonlinear Optimization Algorithms - MATLAB & Simulink". www.mathworks.com. Retrieved 2022-02-21.
अग्रिम पठन
- Bonnans, J. F.; Gilbert, J. Ch.; Lemaréchal, C.; Sagastizábal, C. A. (2006). Numerical Optimization : Theoretical and Numerical Aspects (Second ed.). Springer. ISBN 3-540-35445-X.
- Fletcher, Roger (1987), Practical methods of optimization (2nd ed.), New York: John Wiley & Sons, ISBN 978-0-471-91547-8.
- Nocedal, Jorge; Wright, Stephen J. (1999). "Quasi-Newton Methods". Numerical Optimization. New York: Springer. pp. 192–221. ISBN 0-387-98793-2.
- Press, W. H.; Teukolsky, S. A.; Vetterling, W. T.; Flannery, B. P. (2007). "Section 10.9. Quasi-Newton or Variable Metric Methods in Multidimensions". Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8.
- Scales, L. E. (1985). Introduction to Non-Linear Optimization. New York: MacMillan. pp. 84–106. ISBN 0-333-32552-4.
| group5 = Metaheuristics | abbr5 = heuristic | list5 =
| below =
}} | group5 =Metaheuuristic |abbr5 = heuristic | list5 =*विकासवादी एल्गोरिथ्म
| below =* सॉफ्टवेयर
}}