ब्रॉयडेन-फ्लेचर-गोल्डफर्ब-शन्नो एल्गोरिथम: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{short description|Optimization method}} | {{short description|Optimization method}} | ||
{{Redirect|BFGS|कैनेडियन हार्डकोर पंक बैंड|बंचोफकिंगोफ्स}} | {{Redirect|BFGS|कैनेडियन हार्डकोर पंक बैंड|बंचोफकिंगोफ्स}} | ||
[[संख्यात्मक विश्लेषण]] [[अनुकूलन (गणित)|(गणित)]] में, ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो (BFGS) एल्गोरिथ्म अप्रतिबंधित गैर-रैखिक अनुकूलन समस्याओं को हल करने के लिए पुनरावृत्त विधि है।<ref>{{Citation | last1=Fletcher | first1=Roger | title=Practical Methods of Optimization | publisher=[[John Wiley & Sons]] | location=New York | edition=2nd | isbn=978-0-471-91547-8 | year=1987 | url-access=registration | url=https://archive.org/details/practicalmethods0000flet }}</ref> संबंधित डेविडन-फ्लैचर-पोवेल पद्धति की तरह, BFGS वक्रता सूचना के साथ प्रवणता को पूर्वानुकूलित करके अवरोही दिशा निर्धारित करता है। यह हानि फलन के [[हेसियन मैट्रिक्स]] के सन्निकटन में धीरे-धीरे सुधार करके ऐसा करता है, सामान्यीकृत पद्धति के माध्यम से केवल प्रवणता मूल्यांकन (या अनुमानित प्रवणता मूल्यांकन) से प्राप्त होता है।<ref>{{citation |first1=J. E. Jr. |last1=Dennis |author-link=John E. Dennis |first2=Robert B. |last2=Schnabel |author-link2=Robert B. Schnabel |title=Numerical Methods for Unconstrained Optimization and Nonlinear Equations |chapter=Secant Methods for Unconstrained Minimization |location=Englewood Cliffs, NJ |publisher=Prentice-Hall |year=1983 |isbn=0-13-627216-9 |pages=194–215 |chapter-url=https://www.google.com/books/edition/Numerical_Methods_for_Unconstrained_Opti/ksvJTtJCx9cC?hl=en&gbpv=1&pg=PA194 }}</ref> | |||
[[संख्यात्मक विश्लेषण]] [[अनुकूलन (गणित)|(गणित)]] में, ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो (BFGS) एल्गोरिथ्म अप्रतिबंधित गैर-रैखिक अनुकूलन समस्याओं को हल करने के लिए पुनरावृत्त विधि है।<ref>{{Citation | last1=Fletcher | first1=Roger | title=Practical Methods of Optimization | publisher=[[John Wiley & Sons]] | location=New York | edition=2nd | isbn=978-0-471-91547-8 | year=1987 | url-access=registration | url=https://archive.org/details/practicalmethods0000flet }}</ref> संबंधित डेविडन-फ्लैचर-पोवेल पद्धति की तरह, BFGS वक्रता सूचना के साथ प्रवणता को पूर्वानुकूलित करके अवरोही दिशा निर्धारित करता है। यह हानि फलन के [[हेसियन मैट्रिक्स]] के सन्निकटन में धीरे-धीरे सुधार करके ऐसा करता है, सामान्यीकृत पद्धति के माध्यम से केवल प्रवणता मूल्यांकन (या अनुमानित प्रवणता मूल्यांकन) से प्राप्त होता है। | |||
चूंकि | चूंकि BFGS वक्रता मैट्रिक्स के अद्यतन के लिए मैट्रिक्स व्युत्क्रम की आवश्यकता नहीं है, गणितीय कार्यों की इसकी कम्प्यूटेशनल जटिलता केवल <math>\mathcal{O}(n^{2})</math>, की तुलना में <math>\mathcal{O}(n^{3})</math> न्यूटन की विधि अनुकूलन है। इसके अलावा सामान्य उपयोग में [[एल-बीएफजीएस|L-BFGS]] है, जो कि BFGS का सीमित-स्मृति संस्करण है जो विशेष रूप से बहुत बड़ी संख्या में चर (जैसे,> 1000) के साथ समस्याओं के अनुकूल है। BFGS-B संस्करण सरल बॉक्स बाधाओं को नियंत्रण करता है।<ref>{{Citation|url=http://www.ece.northwestern.edu/~nocedal/PSfiles/limited.ps.gz |pages= 1190–1208|doi=10.1137/0916069|title= A Limited Memory Algorithm for Bound Constrained Optimization|journal= SIAM Journal on Scientific Computing|volume= 16|issue= 5|year= 1995|last1= Byrd|first1= Richard H.|last2= Lu|first2= Peihuang|last3= Nocedal|first3= Jorge|last4= Zhu|first4= Ciyou |citeseerx= 10.1.1.645.5814}}</ref> | ||
एल्गोरिथ्म का नाम [[चार्ल्स जॉर्ज ब्रॉयडेन]], [[रोजर फ्लेचर (गणितज्ञ)]], [[डोनाल्ड गोल्डफर्ब]] और [[डेविड शन्नो]] के नाम पर रखा गया है।<ref>{{Citation| last=Broyden | first=C. G. | author-link=Charles George Broyden | year=1970 | title=The convergence of a class of double-rank minimization algorithms | journal=Journal of the Institute of Mathematics and Its Applications | volume=6 | pages=76–90 | doi=10.1093/imamat/6.1.76}}</ref><ref>{{Citation | last1=Fletcher|first1= R.|title= A New Approach to Variable Metric Algorithms|journal=Computer Journal |year=1970|volume=13|pages=317–322 | doi=10.1093/comjnl/13.3.317 | issue=3|doi-access=free}}</ref><ref>{{Citation|author-link=Donald Goldfarb|last=Goldfarb|first= D.|title=A Family of Variable Metric Updates Derived by Variational Means|journal=Mathematics of Computation|year=1970|volume=24|pages=23–26|doi=10.1090/S0025-5718-1970-0258249-6|issue=109|doi-access=free}}</ref><ref>{{Citation | last1=Shanno|first1= David F.|title=Conditioning of quasi-Newton methods for function minimization|date=July 1970|journal=Mathematics of Computation|volume=24|pages= 647–656|mr=274029|doi=10.1090/S0025-5718-1970-0274029-X | issue=111 |doi-access=free}}</ref> | एल्गोरिथ्म का नाम [[चार्ल्स जॉर्ज ब्रॉयडेन]], [[रोजर फ्लेचर (गणितज्ञ)]], [[डोनाल्ड गोल्डफर्ब]] और [[डेविड शन्नो]] के नाम पर रखा गया है।<ref>{{Citation| last=Broyden | first=C. G. | author-link=Charles George Broyden | year=1970 | title=The convergence of a class of double-rank minimization algorithms | journal=Journal of the Institute of Mathematics and Its Applications | volume=6 | pages=76–90 | doi=10.1093/imamat/6.1.76}}</ref><ref>{{Citation | last1=Fletcher|first1= R.|title= A New Approach to Variable Metric Algorithms|journal=Computer Journal |year=1970|volume=13|pages=317–322 | doi=10.1093/comjnl/13.3.317 | issue=3|doi-access=free}}</ref><ref>{{Citation|author-link=Donald Goldfarb|last=Goldfarb|first= D.|title=A Family of Variable Metric Updates Derived by Variational Means|journal=Mathematics of Computation|year=1970|volume=24|pages=23–26|doi=10.1090/S0025-5718-1970-0258249-6|issue=109|doi-access=free}}</ref><ref>{{Citation | last1=Shanno|first1= David F.|title=Conditioning of quasi-Newton methods for function minimization|date=July 1970|journal=Mathematics of Computation|volume=24|pages= 647–656|mr=274029|doi=10.1090/S0025-5718-1970-0274029-X | issue=111 |doi-access=free}}</ref> | ||
Line 10: | Line 9: | ||
== | == कारण विवरण == | ||
अनुकूलन समस्या को कम करना है <math>f(\mathbf{x})</math>, कहाँ <math>\mathbf{x}</math> में सदिश है <math>\mathbb{R}^n</math>, और <math>f</math> एक अवकलनीय अदिश फलन है। मूल्यों पर कोई प्रतिबंध नहीं है <math>\mathbf{x}</math> ले जा सकते हैं। | अनुकूलन समस्या को कम करना है <math>f(\mathbf{x})</math>, कहाँ <math>\mathbf{x}</math> में सदिश है <math>\mathbb{R}^n</math>, और <math>f</math> एक अवकलनीय अदिश फलन है। मूल्यों पर कोई प्रतिबंध नहीं है <math>\mathbf{x}</math> ले जा सकते हैं। | ||
Line 33: | Line 32: | ||
:<math>B_{k+1} = B_k + U_k + V_k.</math> | :<math>B_{k+1} = B_k + U_k + V_k.</math> | ||
दोनों <math>U_k</math> और <math>V_k</math> सममित रैंक-वन मैट्रिसेस हैं, लेकिन उनका योग रैंक-टू अपडेट मैट्रिक्स है। | दोनों <math>U_k</math> और <math>V_k</math> सममित रैंक-वन मैट्रिसेस हैं, लेकिन उनका योग रैंक-टू अपडेट मैट्रिक्स है। BFGS और डेविडॉन-फ्लेचर-पॉवेल फॉर्मूला अपडेटिंग मैट्रिक्स दोनों अपने पूर्ववर्ती से रैंक-दो मैट्रिक्स से भिन्न हैं। एक और सरल रैंक-वन विधि को सममित रैंक-वन विधि के रूप में जाना जाता है, जो [[सकारात्मक निश्चितता]] की गारंटी नहीं देती है। समरूपता और सकारात्मक निश्चितता बनाए रखने के लिए <math>B_{k+1}</math>, अद्यतन प्रपत्र के रूप में चुना जा सकता है <math>B_{k+1} = B_k + \alpha\mathbf{u}\mathbf{u}^\top + \beta\mathbf{v}\mathbf{v}^\top</math>. दूसरी स्थिति लागू करना, <math>B_{k+1} \mathbf{s}_k = \mathbf{y}_k </math>. का चयन <math>\mathbf{u} = \mathbf{y}_k</math> और <math>\mathbf{v} = B_k \mathbf{s}_k</math>, हम प्राप्त कर सकते हैं:<ref>{{Citation | last1=Fletcher | first1=Roger | title=Practical methods of optimization | publisher=[[John Wiley & Sons]] | location=New York | edition=2nd | isbn=978-0-471-91547-8 | year=1987 | url-access=registration | url=https://archive.org/details/practicalmethods0000flet }}</ref> | ||
:<math>\alpha = \frac{1}{\mathbf{y}_k^T \mathbf{s}_k},</math> | :<math>\alpha = \frac{1}{\mathbf{y}_k^T \mathbf{s}_k},</math> | ||
:<math>\beta = -\frac{1}{\mathbf{s}_k^T B_k \mathbf{s}_k}.</math> | :<math>\beta = -\frac{1}{\mathbf{s}_k^T B_k \mathbf{s}_k}.</math> | ||
Line 67: | Line 66: | ||
# <math>H_{k+1} = H_k + \frac{(\mathbf{s}_k^{\mathrm{T}}\mathbf{y}_k+\mathbf{y}_k^{\mathrm{T}} H_k \mathbf{y}_k)(\mathbf{s}_k \mathbf{s}_k^{\mathrm{T}})}{(\mathbf{s}_k^{\mathrm{T}} \mathbf{y}_k)^2} - \frac{H_k \mathbf{y}_k \mathbf{s}_k^{\mathrm{T}} + \mathbf{s}_k \mathbf{y}_k^{\mathrm{T}}H_k}{\mathbf{s}_k^{\mathrm{T}} \mathbf{y}_k}</math>. | # <math>H_{k+1} = H_k + \frac{(\mathbf{s}_k^{\mathrm{T}}\mathbf{y}_k+\mathbf{y}_k^{\mathrm{T}} H_k \mathbf{y}_k)(\mathbf{s}_k \mathbf{s}_k^{\mathrm{T}})}{(\mathbf{s}_k^{\mathrm{T}} \mathbf{y}_k)^2} - \frac{H_k \mathbf{y}_k \mathbf{s}_k^{\mathrm{T}} + \mathbf{s}_k \mathbf{y}_k^{\mathrm{T}}H_k}{\mathbf{s}_k^{\mathrm{T}} \mathbf{y}_k}</math>. | ||
सांख्यिकीय आकलन समस्याओं में (जैसे कि [[अधिकतम संभावना अनुमान]] या बायेसियन अनुमान), समाधान के लिए [[विश्वसनीय अंतराल]] या [[विश्वास अंतराल]] का अनुमान अंतिम हेस्सियन मैट्रिक्स के मैट्रिक्स व्युत्क्रम से लगाया जा सकता है। {{Citation needed|reason=there is a need to see in which works this was applied, esp. given the next sentence|date=May 2021}}. हालांकि, इन मात्राओं को तकनीकी रूप से सही हेस्सियन मैट्रिक्स द्वारा परिभाषित किया गया है, और | सांख्यिकीय आकलन समस्याओं में (जैसे कि [[अधिकतम संभावना अनुमान]] या बायेसियन अनुमान), समाधान के लिए [[विश्वसनीय अंतराल]] या [[विश्वास अंतराल]] का अनुमान अंतिम हेस्सियन मैट्रिक्स के मैट्रिक्स व्युत्क्रम से लगाया जा सकता है। {{Citation needed|reason=there is a need to see in which works this was applied, esp. given the next sentence|date=May 2021}}. हालांकि, इन मात्राओं को तकनीकी रूप से सही हेस्सियन मैट्रिक्स द्वारा परिभाषित किया गया है, और BFGS सन्निकटन सही हेस्सियन मैट्रिक्स में परिवर्तित नहीं हो सकता है।<ref>{{Cite journal | last1=Ge | last2=Powell| first1=Ren-pu | first2=M. J. D. | title=The Convergence of Variable Metric Matrices in Unconstrained Optimization | journal=[[Mathematical Programming]] |volume=27| year=1983 | issue=2|at=123 |doi=10.1007/BF02591941 | s2cid=8113073}}</ref> | ||
Line 75: | Line 74: | ||
* [[ALGLIB]] BFGS और इसके सीमित-स्मृति संस्करण को C++ और C# में लागू करता है | * [[ALGLIB]] BFGS और इसके सीमित-स्मृति संस्करण को C++ और C# में लागू करता है | ||
* [[जीएनयू ऑक्टेव]] अपने में | * [[जीएनयू ऑक्टेव]] अपने में BFGS के एक रूप का उपयोग करता है <code>fsolve</code> समारोह, [[विश्वास क्षेत्र]] एक्सटेंशन के साथ। | ||
* [[जीएनयू वैज्ञानिक पुस्तकालय]] BFGS को gsl_multimin_fdfminimizer_vector_bfgs2 के रूप में लागू करती है।<ref>{{Cite web|title=GNU Scientific Library — GSL 2.6 documentation|url=https://www.gnu.org/software/gsl/doc/html/index.html|access-date=2020-11-22|website=www.gnu.org}}</ref> | * [[जीएनयू वैज्ञानिक पुस्तकालय]] BFGS को gsl_multimin_fdfminimizer_vector_bfgs2 के रूप में लागू करती है।<ref>{{Cite web|title=GNU Scientific Library — GSL 2.6 documentation|url=https://www.gnu.org/software/gsl/doc/html/index.html|access-date=2020-11-22|website=www.gnu.org}}</ref> | ||
* [[आर (प्रोग्रामिंग भाषा)]] में, | * [[आर (प्रोग्रामिंग भाषा)]] में, BFGS एल्गोरिदम (और एल-BFGS-बी संस्करण जो बॉक्स बाधाओं की अनुमति देता है) को आधार फ़ंक्शन ऑप्टिम () के विकल्प के रूप में कार्यान्वित किया जाता है।<ref>{{Cite web|title=R: General-purpose Optimization|url=https://stat.ethz.ch/R-manual/R-devel/library/stats/html/optim.html|access-date=2020-11-22|website=stat.ethz.ch}}</ref> | ||
* [[SciPy]] में, scipy.optimize.fmin_bfgs फ़ंक्शन BFGS लागू करता है।<ref>{{Cite web|title=scipy.optimize.fmin_bfgs — SciPy v1.5.4 Reference Guide|url=https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.fmin_bfgs.html|access-date=2020-11-22|website=docs.scipy.org}}</ref> पैरामीटर एल को बहुत बड़ी संख्या में सेट करके किसी भी एल- | * [[SciPy]] में, scipy.optimize.fmin_bfgs फ़ंक्शन BFGS लागू करता है।<ref>{{Cite web|title=scipy.optimize.fmin_bfgs — SciPy v1.5.4 Reference Guide|url=https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.fmin_bfgs.html|access-date=2020-11-22|website=docs.scipy.org}}</ref> पैरामीटर एल को बहुत बड़ी संख्या में सेट करके किसी भी एल-BFGS एल्गोरिदम का उपयोग करके BFGS चलाना भी संभव है। | ||
* जूलिया (प्रोग्रामिंग लैंग्वेज) में, [https://julianlsolvers.github.io/Optim.jl/stable/ Optim.jl] पैकेज BFGS और L-BFGS को ऑप्टिमाइज () फंक्शन के सॉल्वर विकल्प के रूप में लागू करता है (अन्य के बीच) विकल्प)।<ref>{{cite web |title=Optim.jl Configurable options |url=https://julianlsolvers.github.io/Optim.jl/stable/#user/config/#solver-options |website=julianlsolvers}}</ref> | * जूलिया (प्रोग्रामिंग लैंग्वेज) में, [https://julianlsolvers.github.io/Optim.jl/stable/ Optim.jl] पैकेज BFGS और L-BFGS को ऑप्टिमाइज () फंक्शन के सॉल्वर विकल्प के रूप में लागू करता है (अन्य के बीच) विकल्प)।<ref>{{cite web |title=Optim.jl Configurable options |url=https://julianlsolvers.github.io/Optim.jl/stable/#user/config/#solver-options |website=julianlsolvers}}</ref> | ||
उल्लेखनीय मालिकाना कार्यान्वयन में शामिल हैं: | उल्लेखनीय मालिकाना कार्यान्वयन में शामिल हैं: | ||
Line 84: | Line 83: | ||
* बड़े पैमाने पर नॉनलाइनियर ऑप्टिमाइज़ेशन सॉफ़्टवेयर [[Artelys Knitro]], दूसरों के बीच, BFGS और L-BFGS एल्गोरिदम दोनों को लागू करता है। | * बड़े पैमाने पर नॉनलाइनियर ऑप्टिमाइज़ेशन सॉफ़्टवेयर [[Artelys Knitro]], दूसरों के बीच, BFGS और L-BFGS एल्गोरिदम दोनों को लागू करता है। | ||
* MATLAB [[अनुकूलन टूलबॉक्स]] में, समस्या का आकार मध्यम पैमाने पर सेट होने पर fminunc फ़ंक्शन क्यूबिक लाइन खोज के साथ BFGS का उपयोग करता है। | * MATLAB [[अनुकूलन टूलबॉक्स]] में, समस्या का आकार मध्यम पैमाने पर सेट होने पर fminunc फ़ंक्शन क्यूबिक लाइन खोज के साथ BFGS का उपयोग करता है। | ||
* गणित में | * गणित में BFGS शामिल है। | ||
== यह भी देखें == | == यह भी देखें == |
Revision as of 20:35, 18 February 2023
संख्यात्मक विश्लेषण (गणित) में, ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो (BFGS) एल्गोरिथ्म अप्रतिबंधित गैर-रैखिक अनुकूलन समस्याओं को हल करने के लिए पुनरावृत्त विधि है।[1] संबंधित डेविडन-फ्लैचर-पोवेल पद्धति की तरह, BFGS वक्रता सूचना के साथ प्रवणता को पूर्वानुकूलित करके अवरोही दिशा निर्धारित करता है। यह हानि फलन के हेसियन मैट्रिक्स के सन्निकटन में धीरे-धीरे सुधार करके ऐसा करता है, सामान्यीकृत पद्धति के माध्यम से केवल प्रवणता मूल्यांकन (या अनुमानित प्रवणता मूल्यांकन) से प्राप्त होता है।[2]
चूंकि BFGS वक्रता मैट्रिक्स के अद्यतन के लिए मैट्रिक्स व्युत्क्रम की आवश्यकता नहीं है, गणितीय कार्यों की इसकी कम्प्यूटेशनल जटिलता केवल , की तुलना में न्यूटन की विधि अनुकूलन है। इसके अलावा सामान्य उपयोग में L-BFGS है, जो कि BFGS का सीमित-स्मृति संस्करण है जो विशेष रूप से बहुत बड़ी संख्या में चर (जैसे,> 1000) के साथ समस्याओं के अनुकूल है। BFGS-B संस्करण सरल बॉक्स बाधाओं को नियंत्रण करता है।[3]
एल्गोरिथ्म का नाम चार्ल्स जॉर्ज ब्रॉयडेन, रोजर फ्लेचर (गणितज्ञ), डोनाल्ड गोल्डफर्ब और डेविड शन्नो के नाम पर रखा गया है।[4][5][6][7]
कारण विवरण
अनुकूलन समस्या को कम करना है , कहाँ में सदिश है , और एक अवकलनीय अदिश फलन है। मूल्यों पर कोई प्रतिबंध नहीं है ले जा सकते हैं।
एल्गोरिथ्म इष्टतम मूल्य के लिए प्रारंभिक अनुमान से शुरू होता है और प्रत्येक चरण में एक बेहतर अनुमान प्राप्त करने के लिए क्रमिक रूप से आगे बढ़ता है।
उतरने की दिशा pk स्टेज पर k न्यूटन समीकरण के अनुरूप के समाधान द्वारा दिया गया है:
कहाँ हेसियन मैट्रिक्स का एक सन्निकटन है, जिसे प्रत्येक चरण में पुनरावृत्त रूप से अद्यतन किया जाता है, और x पर मूल्यांकन किए गए फ़ंक्शन का ग्रेडिएंट हैk. दिशा पी में एक पंक्ति खोजk फिर अगले बिंदु x को खोजने के लिए प्रयोग किया जाता हैk+1 कम करके अदिश के ऊपर अर्ध-न्यूटन स्थिति के अद्यतन पर लगाया गया है
होने देना और , तब संतुष्ट
- ,
जो कि छेदक समीकरण है।
वक्रता की स्थिति के लिए संतुष्ट होना चाहिए सकारात्मक निश्चित होने के लिए, जिसे सेकेंट समीकरण को पूर्व-गुणा करके सत्यापित किया जा सकता है . यदि फ़ंक्शन अत्यधिक उत्तल फ़ंक्शन नहीं है, तो स्थिति को स्पष्ट रूप से लागू किया जाना चाहिए उदा। एक बिंदु x ज्ञात करकेk+1 लाइन खोज का उपयोग करते हुए, वोल्फ की स्थिति को संतुष्ट करना, जो वक्रता की स्थिति में प्रवेश करता है।
बिंदु पर पूर्ण हेस्सियन मैट्रिक्स की आवश्यकता के बजाय के रूप में गणना की जानी है , स्टेज k पर अनुमानित हेसियन को दो मैट्रिसेस जोड़कर अपडेट किया गया है:
दोनों और सममित रैंक-वन मैट्रिसेस हैं, लेकिन उनका योग रैंक-टू अपडेट मैट्रिक्स है। BFGS और डेविडॉन-फ्लेचर-पॉवेल फॉर्मूला अपडेटिंग मैट्रिक्स दोनों अपने पूर्ववर्ती से रैंक-दो मैट्रिक्स से भिन्न हैं। एक और सरल रैंक-वन विधि को सममित रैंक-वन विधि के रूप में जाना जाता है, जो सकारात्मक निश्चितता की गारंटी नहीं देती है। समरूपता और सकारात्मक निश्चितता बनाए रखने के लिए , अद्यतन प्रपत्र के रूप में चुना जा सकता है . दूसरी स्थिति लागू करना, . का चयन और , हम प्राप्त कर सकते हैं:[8]
अंत में, हम स्थानापन्न करते हैं और में और का अद्यतन समीकरण प्राप्त करें :
एल्गोरिथम
प्रारंभिक अनुमान से और अनुमानित हेस्सियन मैट्रिक्स निम्नलिखित चरणों को दोहराया जाता है समाधान के लिए अभिसरण:
- दिशा प्राप्त करें हल करके .
- एक स्वीकार्य चरण आकार खोजने के लिए एक आयामी अनुकूलन (लाइन खोज) करें पहले चरण में मिली दिशा में। यदि एक सटीक रेखा खोज की जाती है, तो . व्यवहार में, एक स्वीकार्य रेखा के साथ एक अचूक रेखा खोज आमतौर पर पर्याप्त होती है संतोषजनक वोल्फ की स्थिति।
- तय करना और अपडेट करें .
- .
- .
कम से कम किए जाने वाले उद्देश्य समारोह को दर्शाता है। ढाल के मानदंड को देखकर अभिसरण की जाँच की जा सकती है, . अगर के साथ प्रारंभ किया गया है , पहला चरण ढतला हुआ वंश के बराबर होगा, लेकिन आगे के चरण अधिक से अधिक परिष्कृत होते जा रहे हैं , हेस्सियन के सन्निकटन।
एल्गोरिथ्म का पहला चरण मैट्रिक्स के व्युत्क्रम का उपयोग करके किया जाता है , जिसे एल्गोरिथम के चरण 5 में शर्मन-मॉरिसन सूत्र को लागू करके कुशलता से प्राप्त किया जा सकता है
यह पहचानते हुए, अस्थायी मैट्रिसेस के बिना कुशलता से गणना की जा सकती है सममित है, ओर वो और स्केलर हैं, जैसे विस्तार का उपयोग कर रहे हैं
इसलिए, किसी भी मैट्रिक्स व्युत्क्रम से बचने के लिए, हेस्सियन के व्युत्क्रम को हेस्सियन के बजाय अनुमानित किया जा सकता है: [9] प्रारंभिक अनुमान से और अनुमानित उलटा हेस्सियन मैट्रिक्स निम्नलिखित चरणों को दोहराया जाता है समाधान के लिए अभिसरण:
- दिशा प्राप्त करें हल करके .
- एक स्वीकार्य चरण आकार खोजने के लिए एक आयामी अनुकूलन (लाइन खोज) करें पहले चरण में मिली दिशा में। यदि एक सटीक रेखा खोज की जाती है, तो . व्यवहार में, एक स्वीकार्य रेखा के साथ एक अचूक रेखा खोज आमतौर पर पर्याप्त होती है संतोषजनक वोल्फ की स्थिति।
- तय करना और अपडेट करें .
- .
- .
सांख्यिकीय आकलन समस्याओं में (जैसे कि अधिकतम संभावना अनुमान या बायेसियन अनुमान), समाधान के लिए विश्वसनीय अंतराल या विश्वास अंतराल का अनुमान अंतिम हेस्सियन मैट्रिक्स के मैट्रिक्स व्युत्क्रम से लगाया जा सकता है।[citation needed]. हालांकि, इन मात्राओं को तकनीकी रूप से सही हेस्सियन मैट्रिक्स द्वारा परिभाषित किया गया है, और BFGS सन्निकटन सही हेस्सियन मैट्रिक्स में परिवर्तित नहीं हो सकता है।[10]
उल्लेखनीय कार्यान्वयन
उल्लेखनीय ओपन सोर्स कार्यान्वयन हैं:
- ALGLIB BFGS और इसके सीमित-स्मृति संस्करण को C++ और C# में लागू करता है
- जीएनयू ऑक्टेव अपने में BFGS के एक रूप का उपयोग करता है
fsolve
समारोह, विश्वास क्षेत्र एक्सटेंशन के साथ। - जीएनयू वैज्ञानिक पुस्तकालय BFGS को gsl_multimin_fdfminimizer_vector_bfgs2 के रूप में लागू करती है।[11]
- आर (प्रोग्रामिंग भाषा) में, BFGS एल्गोरिदम (और एल-BFGS-बी संस्करण जो बॉक्स बाधाओं की अनुमति देता है) को आधार फ़ंक्शन ऑप्टिम () के विकल्प के रूप में कार्यान्वित किया जाता है।[12]
- SciPy में, scipy.optimize.fmin_bfgs फ़ंक्शन BFGS लागू करता है।[13] पैरामीटर एल को बहुत बड़ी संख्या में सेट करके किसी भी एल-BFGS एल्गोरिदम का उपयोग करके BFGS चलाना भी संभव है।
- जूलिया (प्रोग्रामिंग लैंग्वेज) में, Optim.jl पैकेज BFGS और L-BFGS को ऑप्टिमाइज () फंक्शन के सॉल्वर विकल्प के रूप में लागू करता है (अन्य के बीच) विकल्प)।[14]
उल्लेखनीय मालिकाना कार्यान्वयन में शामिल हैं:
- बड़े पैमाने पर नॉनलाइनियर ऑप्टिमाइज़ेशन सॉफ़्टवेयर Artelys Knitro, दूसरों के बीच, BFGS और L-BFGS एल्गोरिदम दोनों को लागू करता है।
- MATLAB अनुकूलन टूलबॉक्स में, समस्या का आकार मध्यम पैमाने पर सेट होने पर fminunc फ़ंक्शन क्यूबिक लाइन खोज के साथ BFGS का उपयोग करता है।
- गणित में BFGS शामिल है।
यह भी देखें
- बीएचएचएच एल्गोरिदम
- डेविडॉन-फ्लेचर-पॉवेल सूत्र
- ढतला हुआ वंश
- एल-बीएफजीएस
- लेवेनबर्ग-मार्क्वार्ट एल्गोरिथम
- नेल्डर-मीड विधि
- पैटर्न खोज (अनुकूलन)
- अर्ध-न्यूटन विधियाँ
- सममित रैंक-एक
संदर्भ
- ↑ Fletcher, Roger (1987), Practical Methods of Optimization (2nd ed.), New York: John Wiley & Sons, ISBN 978-0-471-91547-8
- ↑ Dennis, J. E. Jr.; Schnabel, Robert B. (1983), "Secant Methods for Unconstrained Minimization", Numerical Methods for Unconstrained Optimization and Nonlinear Equations, Englewood Cliffs, NJ: Prentice-Hall, pp. 194–215, ISBN 0-13-627216-9
- ↑ Byrd, Richard H.; Lu, Peihuang; Nocedal, Jorge; Zhu, Ciyou (1995), "A Limited Memory Algorithm for Bound Constrained Optimization", SIAM Journal on Scientific Computing, 16 (5): 1190–1208, CiteSeerX 10.1.1.645.5814, doi:10.1137/0916069
- ↑ Broyden, C. G. (1970), "The convergence of a class of double-rank minimization algorithms", Journal of the Institute of Mathematics and Its Applications, 6: 76–90, doi:10.1093/imamat/6.1.76
- ↑ Fletcher, R. (1970), "A New Approach to Variable Metric Algorithms", Computer Journal, 13 (3): 317–322, doi:10.1093/comjnl/13.3.317
- ↑ Goldfarb, D. (1970), "A Family of Variable Metric Updates Derived by Variational Means", Mathematics of Computation, 24 (109): 23–26, doi:10.1090/S0025-5718-1970-0258249-6
- ↑ Shanno, David F. (July 1970), "Conditioning of quasi-Newton methods for function minimization", Mathematics of Computation, 24 (111): 647–656, doi:10.1090/S0025-5718-1970-0274029-X, MR 0274029
- ↑ 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. (2006), Numerical Optimization (2nd ed.), Berlin, New York: Springer-Verlag, ISBN 978-0-387-30303-1
- ↑ Ge, Ren-pu; Powell, M. J. D. (1983). "The Convergence of Variable Metric Matrices in Unconstrained Optimization". Mathematical Programming. 27 (2). 123. doi:10.1007/BF02591941. S2CID 8113073.
- ↑ "GNU Scientific Library — GSL 2.6 documentation". www.gnu.org. Retrieved 2020-11-22.
- ↑ "R: General-purpose Optimization". stat.ethz.ch. Retrieved 2020-11-22.
- ↑ "scipy.optimize.fmin_bfgs — SciPy v1.5.4 Reference Guide". docs.scipy.org. Retrieved 2020-11-22.
- ↑ "Optim.jl Configurable options". julianlsolvers.
अग्रिम पठन
- Avriel, Mordecai (2003), Nonlinear Programming: Analysis and Methods, Dover Publishing, ISBN 978-0-486-43227-4
- Bonnans, J. Frédéric; Gilbert, J. Charles; Lemaréchal, Claude; Sagastizábal, Claudia A. (2006), "Newtonian Methods", Numerical Optimization: Theoretical and Practical Aspects (Second ed.), Berlin: Springer, pp. 51–66, 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
- Luenberger, David G.; Ye, Yinyu (2008), Linear and nonlinear programming, International Series in Operations Research & Management Science, vol. 116 (Third ed.), New York: Springer, pp. xiv+546, ISBN 978-0-387-74502-2, MR 2423726
- Kelley, C. T. (1999), Iterative Methods for Optimization, Philadelphia: Society for Industrial and Applied Mathematics, pp. 71–86, ISBN 0-89871-433-8
| group5 = Metaheuristics | abbr5 = heuristic | list5 =
| below =
}} | group5 =Metaheuuristic |abbr5 = heuristic | list5 =*विकासवादी एल्गोरिथ्म
| below =* सॉफ्टवेयर
}}