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' लाइब्रेरी के 'ऑप्टिमाइज़' क्लास में मौजूद 'मिनिमाइज़' फ़ंक्शन के पैरामीटर के रूप में पास किया जाता है।
यह आउटपुट कंसोल पर प्रदर्शित होता है।