SciPy पुस्तकालय का उपयोग उच्च दक्षता के साथ जटिल वैज्ञानिक गणनाओं को गति से करने के लिए किया जा सकता है। नेल्डर-मीड एल्गोरिथम को सरल खोज एल्गोरिथम के रूप में भी जाना जाता है।
इसे सबसे अच्छे एल्गोरिदम में से एक माना जाता है जिसका उपयोग पैरामीटर अनुमान समस्याओं और सांख्यिकीय समस्याओं को हल करने के लिए किया जा सकता है। इस एल्गोरिथम का उपयोग उन स्थितियों में करने के लिए प्रासंगिक है जहां फ़ंक्शन के मान अनिश्चित हैं या इसके साथ बहुत अधिक शोर जुड़ा हुआ है।
इस एल्गोरिथ्म का उपयोग असंतत कार्यों के साथ काम करने के लिए भी किया जा सकता है जो अक्सर आंकड़ों में होते हैं। यह एक सरल एल्गोरिथम है और इसे समझना भी आसान है। एक बहुआयामी अप्रतिबंधित अनुकूलन के मामले में एक गैर-रेखीय फ़ंक्शन के मापदंडों को कम करने के लिए उपयोग किया जाता है।
इष्टतम ग्रेडिएंट मानों को खोजने के लिए इस एल्गोरिथम का उपयोग करने का सुझाव नहीं दिया गया है क्योंकि इसमें लंबा समय लग सकता है।
आइए एक उदाहरण देखें -
उदाहरण
import numpy as np from scipy.optimize import minimize def f(x): return .6*(1 - x[0])**2 scipy.optimize.minimize(f, [2, -1], method="Nelder-Mead")
आउटपुट
final_simplex: (array([[ 1. , -1.27109375], [ 1. , -1.27118835], [ 1. , -1.27113762]]), array([0., 0., 0.])) fun: 0.0 message: 'Optimization terminated successfully.' nfev: 147 nit: 69 status: 0 success: True x: array([ 1. , -1.27109375])
स्पष्टीकरण
-
आवश्यक पुस्तकालय आयात किए जाते हैं।
-
एक फ़ंक्शन 'f' परिभाषित किया गया है जो एक मान को तर्क के रूप में लेता है, और उस पर कुछ गणितीय गणना करता है।
-
इस फ़ंक्शन को फ़ंक्शन परिभाषा के बाहर 'f' फ़ंक्शन के लिए कहा जाता है जो मान की गणना करता है।
-
इस फ़ंक्शन को 'scipy' लाइब्रेरी के 'ऑप्टिमाइज़' वर्ग में मौजूद 'मिनिमाइज़' फ़ंक्शन के पैरामीटर के रूप में पास किया जाता है।
-
यह आउटपुट कंसोल पर प्रदर्शित होता है।