2012-11-21 24 views
6

क्या किसी को किसी शक्तिशाली दिनचर्या/एल्गोरिदम (अधिमानतः scipy/python में) के बारे में पता है, ताकि स्थानीय "मिनी" को स्थानीय स्तर पर एनआई के स्केलर वास्तविक कार्य के लिए स्थानीयकृत किया जा सके। एन-आयामी वेक्टर स्पेस के परिभाषित ("आयताकार") क्षेत्र में चर?एक आयामी स्केलर फ़ंक्शन के सभी स्थानीय मिनीमा को खोजने के लिए scipy, एल्गोरिदम में कम से कम

विवश और स्वेच्छापूर्ण सभी scipy में न्यूनतम एल्गोरिदम केवल एक ही न्यूनतम (वैश्विक या स्थानीय)

+9

एक फ़ंक्शन में एक सीमित अंतराल में स्थानीय मिनीमा की असीमित संख्या हो सकती है। उदाहरण के लिए, 'f (x) = sin (1/x)' '0 unutbu

+0

जाहिर है ... मेरा बुरा। पूछने के लिए क्षमा करें। –

+0

यह एक अच्छा सवाल है। मुझे लगता है कि यह सब कुछ उत्पन्न करने के लिए एक एल्गोरिदम के लिए चुनौतीपूर्ण होगा - यहां तक ​​कि चिकनी कार्यों के लिए भी। – unutbu

उत्तर

2

SciPy के basinhopping एक callback तर्क यह है कि सभी पाया न्यूनतम बचाने के लिए इस्तेमाल किया जा सकता है लौटने।

उदाहरण के लिए:

all_minima = [] 
def save_minima(x, f, accepted): 
    all_minima.append(x) 

basinhopping(func, x0, callback=save_minima) 

जाहिर है, यह सब स्थानीय न्यूनतम जरूरी वापस नहीं करता है। लेकिन यह जो कुछ भी पाता है उसे वापस कर देता है।

संबंधित मुद्दे