मैं scipy.optimize.curve_fit
का उपयोग कर रहा हूं, लेकिन मुझे संदेह है कि यह स्थानीय न्यूनतम में परिवर्तित हो रहा है, न कि वैश्विक न्यूनतम।SciPy वैश्विक न्यूनतम वक्र फिट
मैं निम्नलिखित तरीके से सिमुलेटेड एनिलिंग उपयोग करने की कोशिश:
def fit(params):
return np.sum((ydata - specf(xdata,*params))**2)
p = scipy.optimize.anneal(fit,[1000,1E-10])
जहां specf
वक्र मैं फिट करने की कोशिश कर रहा हूँ। p
में परिणाम curve_fit
द्वारा लौटाए गए न्यूनतम से स्पष्ट रूप से बदतर हैं, भले ही वापसी मूल्य इंगित करता है कि वैश्विक न्यूनतम पहुंच गया था (see anneal)।
मैं परिणामों को कैसे सुधार सकता हूं? क्या SciPy में एक वैश्विक वक्र फिटर है?
उत्तर के लिए धन्यवाद। मुझे वैश्विक अनुकूलन में परेशानी का एहसास है, लेकिन मैं अनुमान लगा रहा हूं (उम्मीद कर रहा हूं) कि यह समोच्च अपेक्षाकृत अच्छी तरह से व्यवहार किया जाता है। फिटनेस को मापने के लिए एल 2 मानक का उपयोग करने में मेरा दृष्टिकोण सही है? – Gus