ब्रॉयडेन-फ्लेचर-गोल्डफर्ब-शन्नो एल्गोरिथम: Difference between revisions

From Vigyanwiki
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> संबंधित डेविडन-फ्लैचर-पोवेल पद्धति की तरह, ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो वक्रता सूचना के साथ प्रवणता को पूर्वानुकूलित करके अवरोही दिशा निर्धारित करता है। यह हानि फलन के [[हेसियन मैट्रिक्स]] के सन्निकटन में धीरे-धीरे सुधार करके ऐसा करता है, सामान्यीकृत पद्धति के माध्यम से केवल प्रवणता मूल्यांकन (या अनुमानित प्रवणता मूल्यांकन) से प्राप्त होता है।<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 वक्रता मैट्रिक्स के अद्यतन के लिए मैट्रिक्स व्युत्क्रम की आवश्यकता नहीं है, गणितीय कार्यों की इसकी कम्प्यूटेशनल जटिलता केवल <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>
चूंकि ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो वक्रता मैट्रिक्स के अद्यतन के लिए मैट्रिक्स व्युत्क्रम की आवश्यकता नहीं है, गणितीय कार्यों की इसकी कम्प्यूटेशनल जटिलता केवल <math>\mathcal{O}(n^{2})</math>, की तुलना में <math>\mathcal{O}(n^{3})</math> न्यूटन की विधि आकलन है। इसके अलावा सामान्य उपयोग में  [[एल-बीएफजीएस|L-ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो]] है, जो कि ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो का सीमित-स्मृति संस्करण है जो विशेष रूप से बहुत बड़ी संख्या में चर (जैसे,> 1000) के साथ समस्याओं के अनुकूल है। ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो-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 30: Line 30:


:<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> सममित रैंक-वन मैट्रिसेस हैं, लेकिन उनका योग रैंक-टू अपडेट मैट्रिक्स है। 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>U_k</math> और <math>V_k</math> सममित रैंक-वन मैट्रिसेस हैं, लेकिन उनका योग रैंक-टू अपडेट मैट्रिक्स है। ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो और डेविडॉन-फ्लेचर-पॉवेल सिद्धान्त अपडेटिंग मैट्रिक्स दोनों अपने पूर्ववर्ती से रैंक-दो मैट्रिक्स से भिन्न हैं। एक और सरल रैंक-वन विधि को सममित रैंक-वन विधि के रूप में जाना जाता है, जो [[सकारात्मक निश्चितता|घनात्मक निश्चितता]] की गारंटी नहीं देती है। समरूपता और घनात्मक निश्चितता बनाए रखने के लिए <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 62: Line 62:
# <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}}. यद्यपि, इन मात्राओं को तकनीकी रूप से सही हेस्सियन मैट्रिक्स द्वारा परिभाषित किया गया है और 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>
सांख्यिकीय आकलन समस्याओं में (जैसे कि [[अधिकतम संभावना अनुमान]] या बायेसियन अनुमान), समाधान के लिए [[विश्वसनीय अंतराल]] या [[विश्वास अंतराल]] का अनुमान अंतिम हेस्सियन मैट्रिक्स के मैट्रिक्स व्युत्क्रम से लगाया जा सकता है। {{Citation needed|reason=there is a need to see in which works this was applied, esp. given the next sentence|date=May 2021}}. यद्यपि, इन मात्राओं को तकनीकी रूप से सही हेस्सियन मैट्रिक्स द्वारा परिभाषित किया गया है और ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो सन्निकटन सही हेस्सियन मैट्रिक्स में परिवर्तित नहीं हो सकता है।<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>
== उल्लेखनीय कार्यान्वयन ==
== उल्लेखनीय कार्यान्वयन ==


उल्लेखनीय ओपन सोर्स कार्यान्वयन हैं:
उल्लेखनीय ओपन सोर्स कार्यान्वयन हैं:


* [[ALGLIB]] BFGS और इसके सीमित-स्मृति संस्करण को C++ और C# में लागू करता है।
* [[ALGLIB]] ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो और इसके सीमित-स्मृति संस्करण को C++ और C# में लागू करता है।
* [[जीएनयू ऑक्टेव|GNU ऑक्टेव]] ट्रस्ट क्षेत्र विस्तार के साथ अपने <code>fsolve</code>फलन, में BFGS के रूप का उपयोग करता है।
* [[जीएनयू ऑक्टेव|GNU ऑक्टेव]] ट्रस्ट क्षेत्र विस्तार के साथ अपने <code>fsolve</code>फलन, में ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो के रूप का उपयोग करता है।
* [[जीएनयू वैज्ञानिक पुस्तकालय|GNU वैज्ञानिक पुस्तकालय]] 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>
* [[जीएनयू वैज्ञानिक पुस्तकालय|GNU वैज्ञानिक पुस्तकालय]] ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो को gsl_multimin_fdfminimizer_vector_ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो2 के रूप में लागू करती है।<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>
* [[आर (प्रोग्रामिंग भाषा)|R (प्रोग्रामिंग भाषा)]] में, BFGS एल्गोरिदम (और L-BFGS-B संस्करण जो बॉक्स बाधाओं की अनुमति देता है) को आधार फलन ऑप्टिम () के विकल्प के रूप में लागू किया गया है।<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>
* [[आर (प्रोग्रामिंग भाषा)|R (प्रोग्रामिंग भाषा)]] में, ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो एल्गोरिदम (और L-ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो-B संस्करण जो बॉक्स बाधाओं की अनुमति देता है) को आधार फलन ऑप्टिम () के विकल्प के रूप में लागू किया गया है।<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> पैरामीटर L को बहुत बड़ी संख्या में सेट करके किसी भी L-BFGS एल्गोरिदम का उपयोग करके BFGS चलाना भी संभव है।
* [[SciPy]] में, scipy.optimize.fmin_ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो फलन ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो लागू करता है।<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> पैरामीटर L को बहुत बड़ी संख्या में सेट करके किसी भी L-ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो एल्गोरिदम का उपयोग करके ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो चलाना भी संभव है।
* जूलिया (प्रोग्रामिंग लैंग्वेज) में, [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] पैकेज ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो और L-ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो को ऑप्टिमाइज () फलन के सॉल्वर विकल्प के रूप में लागू करता है (अन्य के बीच) विकल्प)।<ref>{{cite web |title=Optim.jl Configurable options |url=https://julianlsolvers.github.io/Optim.jl/stable/#user/config/#solver-options |website=julianlsolvers}}</ref>
उल्लेखनीय एकायत्‍त कार्यान्वयन में शामिल हैं:
उल्लेखनीय एकायत्‍त कार्यान्वयन में शामिल हैं:


* बड़े पैमाने पर नॉनलाइनियर ऑप्टिमाइज़ेशन सॉफ़्टवेयर [[Artelys Knitro]], दूसरों के बीच, BFGS और L-BFGS एल्गोरिदम दोनों को लागू करता है।
* बड़े पैमाने पर नॉनलाइनियर ऑप्टिमाइज़ेशन सॉफ़्टवेयर [[Artelys Knitro]], दूसरों के बीच, ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो और L-ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो एल्गोरिदम दोनों को लागू करता है।
* MATLAB [[अनुकूलन टूलबॉक्स|आकलन टूलबॉक्स]] में, fminunc फलन घन रेखा के साथ BFGS का उपयोग करता है जब समस्या का आकार "मध्यम स्केल" पर सेट होता है।
* मैट्रिक्स प्रयोगशाला [[अनुकूलन टूलबॉक्स|आकलन टूलबॉक्स]] में, fminunc फलन घन रेखा के साथ ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो का उपयोग करता है जब समस्या का आकार "मध्यम स्केल" पर सेट होता है। सामान्यतः


== यह भी देखें ==
== यह भी देखें ==

Revision as of 13:15, 20 February 2023

संख्यात्मक विश्लेषण (गणित) में, ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो (BFGS) एल्गोरिथ्म अप्रतिबंधित गैर-रैखिक आकलन समस्याओं को हल करने के लिए पुनरावृत्त विधि है।[1] संबंधित डेविडन-फ्लैचर-पोवेल पद्धति की तरह, ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो वक्रता सूचना के साथ प्रवणता को पूर्वानुकूलित करके अवरोही दिशा निर्धारित करता है। यह हानि फलन के हेसियन मैट्रिक्स के सन्निकटन में धीरे-धीरे सुधार करके ऐसा करता है, सामान्यीकृत पद्धति के माध्यम से केवल प्रवणता मूल्यांकन (या अनुमानित प्रवणता मूल्यांकन) से प्राप्त होता है।[2]

चूंकि ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो वक्रता मैट्रिक्स के अद्यतन के लिए मैट्रिक्स व्युत्क्रम की आवश्यकता नहीं है, गणितीय कार्यों की इसकी कम्प्यूटेशनल जटिलता केवल , की तुलना में न्यूटन की विधि आकलन है। इसके अलावा सामान्य उपयोग में L-ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो है, जो कि ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो का सीमित-स्मृति संस्करण है जो विशेष रूप से बहुत बड़ी संख्या में चर (जैसे,> 1000) के साथ समस्याओं के अनुकूल है। ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो-B संस्करण सरल बॉक्स बाधाओं को नियंत्रण करता है।[3]

एल्गोरिथ्म का नाम चार्ल्स जॉर्ज ब्रॉयडेन, रोजर फ्लेचर (गणितज्ञ), डोनाल्ड गोल्डफर्ब और डेविड शन्नो के नाम पर रखा गया है।[4][5][6][7]

कारण विवरण

आकलन समस्या को कम करने के लिए है, जहां में सदिश है और अवकलनीय अदिश फलन है। मूल्यों पर कोई प्रतिबंध नहीं है ले जा सकते हैं।

एल्गोरिथ्म इष्टतम मूल्य के लिए प्रारंभिक अनुमान से शुरू होता है और प्रत्येक चरण में बेहतर अनुमान प्राप्त करने के लिए क्रमिक रूप से आगे बढ़ता है।

चरण k पर परीक्षण दिशा pk को न्यूटन समीकरण के अनुरूप हल द्वारा दिया जाता है:

जहां हेसियन मैट्रिक्स का सन्निकटन है, जिसे प्रत्येक चरण में पुनरावृत्त रूप से अद्यतन किया जाता है और xk पर मूल्यांकन किए गए फलन का ग्रेडिएंट है। अदिश के ऊपर , pk की दिशा में रेखा परीक्षण का उपयोग तब अगले बिंदु xk+1 को न्यूनतम करके खोजने के लिए किया जाता है।

अर्ध-न्यूटन स्थिति के अद्यतन पर लगाया गया है

मान ले और , तब समाधान करता है

,

जो कि कोटिज्या समीकरण है।

वक्रता की स्थिति के लिए समाधान होना चाहिए घनात्मक निश्चित होने के लिए, जिसे कोटिज्या समीकरण को पूर्व-गुणा करके सत्यापित किया जा सकता है। यदि फलन अत्यधिक उत्तल फलन नहीं है, तो स्थिति को स्पष्ट रूप से लागू किया जाना चाहिए जैसे कि बिंदु xk+1 ज्ञात करके रेखा परीक्षण का उपयोग करते हुए, वोल्फ की स्थिति का समाधान करना, जो वक्रता की स्थिति में प्रवेश करता है।

बिंदु पर पूर्ण हेस्सियन मैट्रिक्स की आवश्यकता के बजाय के रूप में गणना की जानी है ,चरण k पर अनुमानित हेसियन को दो मैट्रिसेस जोड़कर अपडेट किया गया है:

दोनों और सममित रैंक-वन मैट्रिसेस हैं, लेकिन उनका योग रैंक-टू अपडेट मैट्रिक्स है। ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो और डेविडॉन-फ्लेचर-पॉवेल सिद्धान्त अपडेटिंग मैट्रिक्स दोनों अपने पूर्ववर्ती से रैंक-दो मैट्रिक्स से भिन्न हैं। एक और सरल रैंक-वन विधि को सममित रैंक-वन विधि के रूप में जाना जाता है, जो घनात्मक निश्चितता की गारंटी नहीं देती है। समरूपता और घनात्मक निश्चितता बनाए रखने के लिए , अद्यतन प्रपत्र के रूप में चुना जा सकता है . दूसरी स्थिति लागू करना, . का चयन और , हम प्राप्त कर सकते हैं:[8]

अंत में, हमने प्रतिस्थापित किया और में और का अद्यतन समीकरण प्राप्त करें।

एल्गोरिथम

प्रारंभिक अनुमान से और अनुमानित हेस्सियन मैट्रिक्स निम्नलिखित चरणों को दोहराया समाधान में परिवर्तित होता है:

  1. दिशा प्राप्त करें हल करके।
  2. अनुकूल चरण आकार परीक्षण के लिए पहले चरण में मिली दिशा में आयामी आकलन (रेखा परीक्षण) करें। यदि सटीक रेखा परीक्षण की जाती, तो है। पद्धति में, अनुकूल रेखा के साथ अचूक रेखा परीक्षण सामान्यतः संतोषजनक वोल्फ की स्थिति पर पर्याप्त होती है।
  3. वर्ग और अपडेट करें।
  4. .
  5. .

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

एल्गोरिथ्म का पहला चरण मैट्रिक्स के व्युत्क्रम का उपयोग करके किया जाता है, जिसे एल्गोरिथम के चरण 5 में शर्मन-मॉरिसन सूत्र को लागू करके कुशलता से प्राप्त किया जा सकता है।

अस्थायी मैट्रिसेस के बिना कुशलता से गणना की जा सकती है, यह मानते हुए कि सममित है, और वह और विस्तार का उपयोग करते हुए स्केलर हैं,

इसलिए, किसी भी मैट्रिक्स व्युत्क्रम से बचने के लिए, हेस्सियन के व्युत्क्रम को हेस्सियन के बजाय अनुमानित किया जा सकता है: [9]

प्रारंभिक अनुमान से और अनुमानित व्युत्क्रम हेस्सियन मैट्रिक्स निम्नलिखित चरणों को दोहराया जाता है समाधान में अभिसरण करता है:

  1. हल करके दिशा प्राप्त करें।
  2. अनुकूल चरण आकार परीक्षण के लिए, पहले चरण में मिली दिशा में आयामी आकलन (रेखा परीक्षण) करें। यदि सटीक रेखा परीक्षण की जाती, तो है। पद्धति में, एक अनुकूल रेखा के साथ अचूक रेखा परीक्षण सामान्यतः संतोषजनक वोल्फ की स्थिति पर पर्याप्त होती है।
  3. वर्ग और अपडेट करें।
  4. .
  5. .

सांख्यिकीय आकलन समस्याओं में (जैसे कि अधिकतम संभावना अनुमान या बायेसियन अनुमान), समाधान के लिए विश्वसनीय अंतराल या विश्वास अंतराल का अनुमान अंतिम हेस्सियन मैट्रिक्स के मैट्रिक्स व्युत्क्रम से लगाया जा सकता है।[citation needed]. यद्यपि, इन मात्राओं को तकनीकी रूप से सही हेस्सियन मैट्रिक्स द्वारा परिभाषित किया गया है और ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो सन्निकटन सही हेस्सियन मैट्रिक्स में परिवर्तित नहीं हो सकता है।[10]

उल्लेखनीय कार्यान्वयन

उल्लेखनीय ओपन सोर्स कार्यान्वयन हैं:

  • ALGLIB ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो और इसके सीमित-स्मृति संस्करण को C++ और C# में लागू करता है।
  • GNU ऑक्टेव ट्रस्ट क्षेत्र विस्तार के साथ अपने fsolveफलन, में ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो के रूप का उपयोग करता है।
  • GNU वैज्ञानिक पुस्तकालय ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो को gsl_multimin_fdfminimizer_vector_ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो2 के रूप में लागू करती है।[11]
  • R (प्रोग्रामिंग भाषा) में, ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो एल्गोरिदम (और L-ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो-B संस्करण जो बॉक्स बाधाओं की अनुमति देता है) को आधार फलन ऑप्टिम () के विकल्प के रूप में लागू किया गया है।[12]
  • SciPy में, scipy.optimize.fmin_ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो फलन ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो लागू करता है।[13] पैरामीटर L को बहुत बड़ी संख्या में सेट करके किसी भी L-ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो एल्गोरिदम का उपयोग करके ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो चलाना भी संभव है।
  • जूलिया (प्रोग्रामिंग लैंग्वेज) में, Optim.jl पैकेज ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो और L-ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो को ऑप्टिमाइज () फलन के सॉल्वर विकल्प के रूप में लागू करता है (अन्य के बीच) विकल्प)।[14]

उल्लेखनीय एकायत्‍त कार्यान्वयन में शामिल हैं:

  • बड़े पैमाने पर नॉनलाइनियर ऑप्टिमाइज़ेशन सॉफ़्टवेयर Artelys Knitro, दूसरों के बीच, ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो और L-ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो एल्गोरिदम दोनों को लागू करता है।
  • मैट्रिक्स प्रयोगशाला आकलन टूलबॉक्स में, fminunc फलन घन रेखा के साथ ब्रॉयडेन-फ्लेचर-गोल्डफार्ब-शन्नो का उपयोग करता है जब समस्या का आकार "मध्यम स्केल" पर सेट होता है। सामान्यतः

यह भी देखें

संदर्भ

  1. Fletcher, Roger (1987), Practical Methods of Optimization (2nd ed.), New York: John Wiley & Sons, ISBN 978-0-471-91547-8
  2. 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
  3. 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
  4. 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
  5. Fletcher, R. (1970), "A New Approach to Variable Metric Algorithms", Computer Journal, 13 (3): 317–322, doi:10.1093/comjnl/13.3.317
  6. 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
  7. 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
  8. Fletcher, Roger (1987), Practical methods of optimization (2nd ed.), New York: John Wiley & Sons, ISBN 978-0-471-91547-8
  9. Nocedal, Jorge; Wright, Stephen J. (2006), Numerical Optimization (2nd ed.), Berlin, New York: Springer-Verlag, ISBN 978-0-387-30303-1
  10. 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.
  11. "GNU Scientific Library — GSL 2.6 documentation". www.gnu.org. Retrieved 2020-11-22.
  12. "R: General-purpose Optimization". stat.ethz.ch. Retrieved 2020-11-22.
  13. "scipy.optimize.fmin_bfgs — SciPy v1.5.4 Reference Guide". docs.scipy.org. Retrieved 2020-11-22.
  14. "Optim.jl Configurable options". julianlsolvers.


अग्रिम पठन

| group5 = Metaheuristics | abbr5 = heuristic | list5 =

| below =

}} | group5 =Metaheuuristic |abbr5 = heuristic | list5 =*विकासवादी एल्गोरिथ्म

| below =* सॉफ्टवेयर

}}