मैं कई तर्कों के साथ एक जटिल कार्य के वैश्विक न्यूनतम खोजने के लिए scipy.optimize
फ़ंक्शंस का उपयोग करने का प्रयास कर रहा हूं। scipy.optimize.minimize
सबसे अच्छा काम करता है, अर्थात्, 'नेल्डर-मीड' विधि। हालांकि, यह तर्कों के डोमेन से बाहर क्षेत्रों में जाता है (उन तर्कों के लिए नकारात्मक मान निर्दिष्ट करने के लिए जो केवल सकारात्मक हो सकते हैं) और इस तरह ऐसे मामलों में एक त्रुटि देता है। क्या scipy.optimize.minimize
फ़ंक्शन के भीतर तर्कों की सीमा प्रतिबंधित करने का कोई तरीका है? या शायद अन्य scipy.optimize
कार्यों के भीतर?Scipy.optimize: तर्क मानों को कैसे प्रतिबंधित करें
पैरामीटर स्वीकार्य सीमा से बाहर गिर रहे हैं, (डेटा से दूर फिट किया जा करने के लिए) एक बेतहाशा बड़ी संख्या वापसी:
मैं निम्नलिखित सलाह मिल गया है। यह (उम्मीद है कि) पैरामीटर के इस विकल्प को दंडित करेगा कि
curve_fit
इष्टतम के रूप में पैरामीटर के कुछ अन्य स्वीकार्य सेट पर व्यवस्थित होगा।
given in this previous answer, लेकिन प्रक्रिया मेरे मामले में बहुत अधिक कम्प्यूटेशनल समय लेगी।
जब लागत अनुमत सीमा से बाहर होती है तो लागत फ़ंक्शन एक बड़ी लागत लौटाता है, क्योंकि एक बहुत ही बुरा विचार है क्योंकि सर्च फ़ंक्शन अनावश्यक उत्तरों के अनगिनत आकार की जगह को खोजने में अपनी अधिकांश ऊर्जा खर्च करेगा।'Scipy.minimize' से' बाधा 'तर्क का प्रयोग एक विधि निर्दिष्ट करने के लिए करें जो एल्गोरिदम को बताएगा कि इसकी खोज को कब सीमित किया जाए। यहां 'बाधाओं' की खोज करें: http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html#scipy.optimize.minimize –