एक अज्ञात फ़ंक्शन का अनुकूलन करें जिसका केवल मूल्यांकन किया जा सकता है?


11

एक अज्ञात फ़ंक्शन को देखते हुए , हम इसके डोमेन के किसी भी बिंदु पर इसके मूल्य का मूल्यांकन कर सकते हैं, लेकिन हमारे पास इसकी अभिव्यक्ति नहीं है। दूसरे शब्दों में, हमारे लिए एक ब्लैक बॉक्स की तरह है।f:RdRf

के न्यूनतम को खोजने की समस्या का क्या नाम है f? वहाँ कुछ तरीके क्या हैं?

समीकरण f (x) = 0 का हल खोजने की समस्या का क्या नाम है f(x)=0? वहाँ कुछ तरीके क्या हैं?

उपर्युक्त दो समस्याओं में, क्या यह एक अच्छा विचार है कि एफ के कुछ मूल्यांकनों को आपस में जोड़ा जाए या फिट किया जाए: (x_i, f (x_i)), i = 1, \ dots, n ज्ञात रूप और पैरामीटर \ के साथ (xi,f(xi)),i=1,,nएक फ़ंक्शन g_ \ थीटा का उपयोग करके थीटा निर्धारित किया जाना है, और फिर g_ \ थीटा को कम से कम करें या इसकी जड़ खोजें?gθθgθ

धन्यवाद एवं शुभकामनाएँ!


1
क्या आप किसी दिए गए बिंदु पर इसकी ढाल का मूल्यांकन कर सकते हैं?
चोहुआंग

@ अचाहुआंग: दो मामले हैं: आप मान्यताओं के आधार पर इसके ढाल का मूल्यांकन कर सकते हैं या नहीं कर सकते हैं।
टिम

यदि ग्रेडिएंट उपलब्ध है, तो आपके द्वारा पूछे जाने वाले कार्य ग्रेडिएंट-आधारित एल्गोरिदम द्वारा पूरे किए जा सकते हैं। उदाहरण के लिए, न्यूनतम, या कम से कम एक स्थानीय न्यूनतम, खड़ी मूल विधि द्वारा गणना की जा सकती है, और जड़ें न्यूटन की विधि से पाई जा सकती हैं।
चोहुआंग

और अगर ग्रेडिएंट अज्ञात है, तो मेटाह्यूरिस्टिक विधियां हैं , जिन्हें व्युत्पन्न-मुक्त या ब्लैक-बॉक्स विधियां भी कहा जाता है और आमतौर पर स्टोकेस्टिक अनुकूलन के रूप में।
चोहुआंग

2
क्या आप जानते हैं कि फ़ंक्शन सुचारू है (भले ही आप ग्रेडिएंट का मूल्यांकन नहीं कर सकते हैं)? क्या आप जानते हैं कि फ़ंक्शन उत्तल है? यदि यह उत्तल नहीं है, तो क्या आप जानते हैं कि यह कम से कम लिप्सचित्ज़ निरंतर है या नहीं? यदि फ़ंक्शन पूरी तरह से सामान्य है, तो यह एक निराशाजनक समस्या है।
ब्रायन बोरचर्स

जवाबों:


13

जिन विधियों की आप तलाश कर रहे हैं - यानी, जो केवल फ़ंक्शन मूल्यांकन का उपयोग करते हैं, लेकिन डेरिवेटिव नहीं - व्युत्पन्न मुक्त अनुकूलन विधियों को कहा जाता है । उन पर साहित्य का एक बड़ा निकाय है, और आप अनुकूलन पर अधिकांश पुस्तकों में ऐसे तरीकों पर एक अध्याय पा सकते हैं। विशिष्ट दृष्टिकोणों में शामिल हैं

  • यदि किसी व्यक्ति को कार्य के सुचारू रूप से होने की उम्मीद की जा सकती है, और संभवतः, उत्तल अंतरों के आधार पर ग्रेडिएंट का अनुमान लगाना;
  • मोंटे कार्लो विधियाँ जैसे कि नकली एनीलिंग;
  • आनुवंशिक एल्गोरिदम।

1
क्या मैं उस सूची में "सरोगेट मॉडलिंग" जोड़ सकता हूं? वे ब्लैक-बॉक्स ऑप्टिमाइज़ेशन के लिए बहुत लागू होते हैं, विशेष रूप से यदि फ़ंक्शन का मूल्यांकन करना महंगा है।
ऑस्करबी

हाँ, आप :-) निश्चित रूप से एक महान इसके अलावा कर सकते हैं।
वोल्फगैंग बैंगर्थ

यदि ऑप्टिमा के अच्छे अनुमानों को जाना जाता है, तो कोई नेल्डर-मीड पद्धति का भी उपयोग कर सकता है।
जेएम

हां, आप नेल्डर-मीड का उपयोग कर सकते हैं, लेकिन यह हर दूसरे की तुलना में एक भयानक एल्गोरिथ्म है।
वोल्फगैंग बैंगर्थ

1
@WolfgangBangerth: नेल्डर-मीड पर आपकी टिप्पणी केवल आयाम d> 2 में मान्य है। दो आयामों में, यह कई समस्याओं पर है जो एक उत्कृष्ट और बहुत कठिन है बीट विधि।
अर्नोल्ड न्यूमैयर

2

मुझे लगता है कि आपको इसके साथ शुरू करना चाहिए: रियल-पैरामीटर ब्लैक-बॉक्स ऑप्टिमाइज़ेशन बेंचमार्किंग पर GECCO वर्कशॉप (BBOB 2016) http://numbbo.github.io/workbooks/index.html

आपको कई अलग-अलग एल्गोरिदम मिलेंगे जिनका उपयोग पिछली प्रतियोगिताओं में किया गया है, और जिनकी तुलना एक सामान्य आधार पर की गई है। यदि आप कहीं और शुरू करते हैं, तो आप जल्द ही उन सैकड़ों कागजात में डूब जाएंगे जो उनके तरीकों और एल्गोरिदम का दावा करते हैं और उन दावों के लिए वास्तविक सबूत के साथ दूसरों की तुलना में बेहतर प्रदर्शन करते हैं।

कुछ समय पहले तक, यह फ्रैंक, जीईसीसीओ और कई अन्य लोगों की घृणित स्थिति और तर्कसंगत तुलना के लिए एक ढांचा स्थापित करने के लिए किए गए प्रयासों के लिए पूरी शक्ति थी।


-1

मैं सिर्फ इतना जोड़ूंगा कि यहाँ की एक कुंजी मल्टीकोर सीपीयू पर ऑप्टिमाइज़ेशन विधि को स्केल करने में सक्षम है । यदि आप एक साथ कई फ़ंक्शन मूल्यांकन कर सकते हैं, तो यह आपको शामिल कई कोर के बराबर स्पीडअप देता है। इसकी तुलना केवल थोड़ा और सटीक प्रतिक्रिया मॉडल का उपयोग करके करें, जो आपको 10% अधिक कुशल या ऐसा ही बनाता है।

मैं इस कोड को देखने की सलाह दूंगा , यह उन लोगों के लिए उपयोगी हो सकता है जिनके पास कई कोर तक पहुंच है। इसके पीछे एक गणित इस पेपर में वर्णित है ।


1
यह उत्तर उपयोगी होने के लिए बहुत छोटा है (और उपयोगी रहें, क्योंकि लिंक किसी भी बिंदु पर दूर जा सकते हैं)। इसके अलावा, कृपया उल्लेख करें कि आप इस सॉफ़्टवेयर के लेखक हैं
ईसाई क्लासन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.