अनुकूलन एल्गोरिदम को अन्य अनुकूलन समस्याओं के संदर्भ में क्यों परिभाषित किया गया है?


23

मैं मशीन लर्निंग के लिए ऑप्टिमाइज़ेशन तकनीकों पर कुछ शोध कर रहा हूं, लेकिन मुझे बड़ी हैरानी है कि ऑप्टिमाइज़ेशन एल्गोरिदम की बड़ी संख्या अन्य ऑप्टिमाइज़ेशन समस्याओं के संदर्भ में परिभाषित की गई है। मैं निम्नलिखित में कुछ उदाहरणों का वर्णन करता हूं।

उदाहरण के लिए https://arxiv.org/pdf/1511.05133v1.pdf

यहाँ छवि विवरण दर्ज करें

सब कुछ अच्छा और अच्छा लग रहा है लेकिन फिर z k + 1 अपडेट में यह है .... तो क्या एल्गोरिथ्म है जो argmin के लिए हल करता है ? हम नहीं जानते, और यह नहीं कहता। तो जादुई रूप से हम एक और अनुकूलन समस्या को हल करने के लिए हैं जो न्यूनतम वेक्टर को ढूंढता है ताकि आंतरिक उत्पाद न्यूनतम पर हो - यह कैसे किया जा सकता है?argminएक्सzकश्मीर+1argmin

एक और उदाहरण लें: https://arxiv.org/pdf/1609.05713v1.pdf

यहाँ छवि विवरण दर्ज करें

जब तक आप उस प्रॉक्सिमल ऑपरेटर को एल्गोरिथम के बीच में नहीं डालते तब तक सब कुछ अच्छा और अच्छा लगता है, और उस ऑपरेटर की परिभाषा क्या है?

बूम:यहाँ छवि विवरण दर्ज करें

argminएक्स

क्या कोई मुझे बता सकता है:

  1. अन्य अनुकूलन समस्याओं के संदर्भ में इतने सारे अनुकूलन एल्गोरिदम को क्यों परिभाषित किया गया है?

(क्या यह किसी प्रकार की चिकन और अंडे की समस्या नहीं होगी: समस्या 1 को हल करने के लिए, आपको समस्या 2 को हल करने की आवश्यकता है, समस्या 3 को हल करने की विधि का उपयोग करके, जो समस्या को हल करने पर निर्भर करता है ....)

  1. एक्सकश्मीर+1=argminएक्सवास्तव में जटिल नुकसान समारोह

  2. argminएक्स

(बाउंटी: क्या कोई कागज का संदर्भ दे सकता है जिसके लिए लेखक उच्च-स्तरीय अनुकूलन एल्गोरिथ्म में अंतर्निहित उप-समस्या के लिए एल्गोरिदम को स्पष्ट करते हैं?)


यह प्रासंगिक हो सकता है।
जियोमैट 22

1
मुझे लगता है कि यदि आप उप-समस्याओं पर जोर दे रहे हैं, तो यह बेहतर होगा कि आप मौजूदा एनपी-कठोरता के बजाय केवल उन पर ही मौजूद रहें।
मेहरदाद

उफ़ ... "एनपी-हार्डनेस" को मेरी आखिरी टिप्पणी में "एनपी-हार्ड" कहा जाना चाहिए।
मेहरदाद

मेरे जवाब को संपादित करें 2 देखें, जो एक संदर्भ प्रदान करता है, जैसा कि बाउंटी अनुरोध में अनुरोध किया गया है।
मार्क एल स्टोन

जवाबों:


27

आप शीर्ष स्तर के एल्गोरिथ्म प्रवाह चार्ट देख रहे हैं। फ्लो चार्ट में व्यक्तिगत चरणों में से कुछ अपने स्वयं के विस्तृत फ्लो चार्ट का गुणन कर सकते हैं। हालांकि, प्रकाशित पत्रों में संक्षिप्तता पर जोर देने के बाद, कई विवरण अक्सर छोड़ दिए जाते हैं। मानक आंतरिक अनुकूलन समस्याओं के लिए विवरण, जिन्हें "पुरानी टोपी" माना जाता है, उन्हें बिल्कुल भी प्रदान नहीं किया जा सकता है।

सामान्य विचार यह है कि अनुकूलन एल्गोरिदम को आमतौर पर आसान अनुकूलन समस्याओं की एक श्रृंखला के समाधान की आवश्यकता हो सकती है। शीर्ष स्तर के एल्गोरिथ्म के भीतर अनुकूलन एल्गोरिदम के 3 या 4 स्तर होना असामान्य नहीं है, हालांकि उनमें से कुछ मानक ऑप्टिमाइज़र के लिए आंतरिक हैं।

यहां तक ​​कि यह निर्णय लेते हुए कि एल्गोरिथ्म (एक पदानुक्रमित स्तर पर) को समाप्त करने के लिए एक पक्ष अनुकूलन समस्या को हल करने की आवश्यकता हो सकती है। उदाहरण के लिए, केकेजीटी इष्टतमता स्कोर का मूल्यांकन करने के लिए उपयोग किए जाने वाले लैग्रेग मल्टीप्लायरों को निर्धारित करने के लिए उपयोग किए जाने वाले गैर-नकारात्मक रूप से विवश रैखिक कम वर्गों की समस्या को हल करने का निर्णय लिया जा सकता है।

यदि अनुकूलन समस्या स्टोचस्टिक या डायनेमिक है, तो ऑप्टिमाइज़ेशन के अतिरिक्त पदानुक्रमित स्तर हो सकते हैं।

यहाँ एक उदाहरण है। अनुक्रमिक द्विघात प्रोग्रामिंग (SQP)। एक प्रारंभिक अनुकूलन समस्या का इलाज करुश-कुह्न-टकर इष्टतमता परिस्थितियों को हल करके किया जाता है, जो प्रारंभिक बिंदु से एक उद्देश्य के साथ शुरू होता है जो समस्या के लैग्रैजियन का एक द्विघात अनुमान है, और बाधाओं का एक रैखिककरण है। परिणामी द्विघात कार्यक्रम (QP) हल है। QP जो हल किया गया था, या तो विश्वास क्षेत्र की कमी है, या अगली पुनरावृत्ति को खोजने के लिए, QP के समाधान के लिए वर्तमान iterate से एक लाइन खोज आयोजित की जाती है, जो कि स्वयं एक अनुकूलन समस्या है। यदि एक क्वैसी-न्यूटन विधि का उपयोग किया जा रहा है, तो लाग्रेसियन के हेस्सियन को क्वैसी-न्यूटन अपडेट निर्धारित करने के लिए एक अनुकूलन समस्या को हल करना होगा - आमतौर पर यह एक बंद फॉर्म का उपयोग होता है जैसे कि BFGS या SR1 जैसे बंद फॉर्मूले। लेकिन यह एक संख्यात्मक अनुकूलन हो सकता है। फिर नई QP को हल किया जाता है, आदि। यदि QP कभी-कभी अलग-अलग हो, जिसमें प्रारंभ करना भी शामिल है, तो एक अनुकूलन बिंदु को एक व्यवहार्य बिंदु खोजने के लिए हल किया जाता है। इस बीच, QP सॉल्वर के अंदर आंतरिक अनुकूलन समस्याओं के एक या दो स्तर हो सकते हैं। प्रत्येक पुनरावृत्ति के अंत में, एक गैर-नकारात्मक रैखिक न्यूनतम वर्गों की समस्या को इष्टतमता स्कोर निर्धारित करने के लिए हल किया जा सकता है। आदि।

यदि यह एक मिश्रित पूर्णांक समस्या है, तो इस पूरे शेबंग को उच्च स्तर के एल्गोरिथ्म के भाग के रूप में, प्रत्येक ब्रांचिंग नोड पर किया जा सकता है। इसी तरह एक वैश्विक ऑप्टिमाइज़र के लिए - एक वैश्विक अनुकूलन समस्या का उपयोग वैश्विक रूप से इष्टतम समाधान पर एक ऊपरी सीमा का उत्पादन करने के लिए किया जाता है, फिर कुछ बाध्य बाधाओं की छूट के लिए एक कम बाध्य अनुकूलन समस्या का उत्पादन किया जाता है। एक मिश्रित पूर्णांक या वैश्विक अनुकूलन समस्या को हल करने के लिए शाखा और बाउंड से हजारों या "आसान" अनुकूलन समस्याएं हल हो सकती हैं।

यह आपको एक विचार देना शुरू करना चाहिए।

संपादित करें : चिकन और अंडे के सवाल के जवाब में जो मेरे जवाब के बाद सवाल में जोड़ा गया था: यदि चिकन और अंडे की समस्या है, तो यह एक अच्छी तरह से परिभाषित व्यावहारिक एल्गोरिथ्म नहीं है। मेरे द्वारा दिए गए उदाहरणों में, चिकन और अंडा नहीं है। उच्चतर स्तर का एल्गोरिथ्म ऑप्टिमाइज़ेशन सॉल्वरों का आह्वान करता है, जो या तो परिभाषित हैं या पहले से मौजूद हैं। एसक्यूपी पुनरावृत्ति उप समस्याओं को हल करने के लिए एक क्यूपी सॉल्वर को आमंत्रित करता है, लेकिन क्यूपी सॉल्वर मूल समस्या की तुलना में एक आसान समस्या, क्यूपी हल करता है। यदि कोई उच्च स्तरीय वैश्विक अनुकूलन एल्गोरिथ्म है, तो यह स्थानीय नॉनलाइनियर ऑप्टिमाइज़ेशन सबप्रॉम्बल्म्स को हल करने के लिए एक SQP सॉल्वर को आमंत्रित कर सकता है, और बदले में SQP सॉल्वर QP उपप्रोफ़ेल्स को हल करने के लिए QP सॉल्वर को कॉल करता है। कोई चीकू और अंडा नहीं।

नोट: अनुकूलन के अवसर "हर जगह" हैं। ऑप्टिमाइज़ेशन विशेषज्ञ, जैसे कि ऑप्टिमाइज़िंग एल्गोरिदम विकसित करने वाले, इन ऑप्टिमाइज़ेशन अवसरों को देखने की अधिक संभावना रखते हैं, और उन्हें औसत या जो या जेन की तुलना में इस तरह देखते हैं। और एल्गोरिथ्म रूप से झुका हुआ, काफी स्वाभाविक रूप से वे निचले स्तर के अनुकूलन एल्गोरिदम से अनुकूलन एल्गोरिदम के निर्माण के अवसर देखते हैं। अनुकूलन समस्याओं का निरूपण और समाधान अन्य (उच्च स्तर) अनुकूलन एल्गोरिदम के लिए बिल्डिंग ब्लॉक्स के रूप में कार्य करता है।

संपादित करें 2 : इनाम के अनुरोध के जवाब में जो सिर्फ ओपी द्वारा जोड़ा गया था। SQP नॉनलाइनियर ऑप्टिमाइज़र SNOPT https://web.stanford.edu/group/SOL/reports/snopt.pdf का वर्णन करने वाला पेपर विशेष रूप से QP सॉल्वर SQOPT का उल्लेख करता है, जिसे अलग-अलग प्रलेखित किया गया है, जैसा कि SNOPT में QP उपप्रकारों को हल करने के लिए उपयोग किया जा रहा है।


2

मुझे मार्क का जवाब पसंद है, लेकिन मैं हालांकि "नकली एनालाइजिंग" का उल्लेख करूंगा, जो मूल रूप से किसी भी अनुकूलन एल्गोरिथ्म के शीर्ष पर चल सकता है। उच्च स्तर पर यह इस तरह काम करता है:

इसमें एक "तापमान" पैरामीटर है जो गर्म शुरू होता है। जबकि गर्म यह अक्सर दूर और (और आगे दूर) कदम रखता है जहां से अधीनस्थ अनुकूलन एल्गोरिथ्म इंगित करता है। जैसे ही यह ठंडा होता है, यह अधीनस्थ एल्गोरिथ्म की सलाह को अधिक बारीकी से पालन करता है, और शून्य पर यह इसे बाद में जो भी स्थानीय इष्टतम है, उस पर समाप्त हो जाता है।

अंतर्ज्ञान यह है कि यह शुरुआत में व्यापक रूप से अंतरिक्ष की खोज करेगा, "बेहतर स्थानों" के लिए ऑप्टिमस की तलाश करेगा।

हम जानते हैं कि स्थानीय / वैश्विक इष्टतम समस्या का कोई वास्तविक सामान्य समाधान नहीं है। हर एल्गोरिथ्म में इसके अंधे धब्बे होंगे, लेकिन इस तरह के संकर बहुत सारे मामलों में बेहतर परिणाम देते हैं।


"मेटा-एल्गोरिथ्म" की इस श्रेणी को कभी-कभी एक मेटाहिस्टिक के रूप में संदर्भित किया जाता है ।
जियोमैट 22

@ GeoMatt22 यहाँ अनुमानी प्रमाण की परिभाषा है या अनुमानी तर्क जिसे मैंने एक अंडरगार्मेंट के रूप में सूत्रबद्ध किया है: "कोई भी तर्क, या उसके अभाव, जो कि साबित होने के लिए कड़ाई से अवहेलना नहीं करता है"। एनालॉग रूप से, एक हेयोरिस्टिक एल्गोरिदम किसी भी एल्गोरिथ्म है, या इसके अभाव में, जो कि समस्या को हल करने के लिए सही ढंग से हल नहीं करने की गारंटी नहीं है।
मार्क एल स्टोन

" रुकी हुई घड़ी " की तरह? Neumaier (2004) वर्गीकरण वर्णित यहाँ उचित लगता है।
जियोमैट 22

हाइब्रिड ऑप्टिमाइज़र या मेटा हेयुरिस्टिक्स का उल्लेख करने के लिए +1। वे वास्तविक दुनिया बनाम व्युत्पन्न आधारित ऑप्टिमाइज़र में बहुत अच्छी तरह से काम करते हैं जो सिद्धांत और कागज में बहुत अच्छे हैं लेकिन वास्तविक दुनिया मल्टीमॉडल जटिल उद्देश्य फ़ंक्शन को हल करने में अच्छा नहीं है जो आप अक्सर इंजीनियरिंग अनुकूलन में मुठभेड़ करते हैं।
फोरकास्टर

@forecaster समस्या के आधार पर विभिन्न प्रकार के दृष्टिकोण हैं। मैं "व्युत्पन्न-आधारित ऑप्टिमाइज़र" को बहुत दृढ़ता से छूट देने के लिए सावधान रहूंगा, क्योंकि कई वास्तविक दुनिया में आवेदन जैसे कि गहरी सीखने और पीडीई-आधारित अनुकूलन, वे काफी सफल हो सकते हैं। ( व्युत्पन्न-मुक्त विकल्पों सहित यहां कुछ चर्चा ।)
जियोमैट 22

2

मुझे लगता है कि आपकी इच्छा को संतुष्ट करने वाला एक संदर्भ यहां है । अनुभाग 4 पर जाएं - आधुनिक बेयसियन अभिकलन में अनुकूलन।

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


2

यह कई अनुकूलन पत्रों में काफी आम है और इसका सामान्यता के साथ क्या करना है। लेखक आमतौर पर इस तरीके से एल्गोरिदम लिखते हैं कि वे तकनीकी रूप से किसी भी फ़ंक्शन के लिए काम करते हैं। हालांकि, व्यवहार में, वे केवल बहुत विशिष्ट कार्यों के लिए उपयोगी होते हैं जहां इन उप-समस्याओं को कुशलतापूर्वक हल किया जा सकता है।

उदाहरण के लिए, और अब मैं दूसरे एल्गोरिथम के बारे में बात कर रहा हूँ, जब भी आप एक समीपवर्ती ऑपरेटर को देखते हैं (जो जैसा कि आपने इसकी दूसरी अनुकूलन समस्या को नोट किया है जो वास्तव में हल करने के लिए बहुत कठिन हो सकता है) आमतौर पर निहित है कि इसमें एक बंद फॉर्म समाधान है एल्गोरिथ्म कुशल होने के लिए आदेश। यह मशीन सीखने में रुचि के कई कार्यों के लिए ऐसा है जैसे कि एल 1-आदर्श, समूह मानदंड, और इसी तरह। उन मामलों में आप समीपस्थ ऑपरेटर के स्पष्ट सूत्र के लिए उप-समस्याओं की जगह लेंगे, और इस समस्या को हल करने के लिए एक एल्गोरिथ्म की आवश्यकता नहीं है।

जैसा कि वे इस तरीके से लिखे गए हैं कि केवल ध्यान दें कि यदि आप किसी अन्य फ़ंक्शन के साथ आने वाले थे और उस एल्गोरिथ्म को लागू करना चाहते थे जो आप जांचेंगे, तो पहले, अगर समीपस्थ के पास एक बंद फॉर्म समाधान है या कुशलता से गणना की जा सकती है। उस स्थिति में आप केवल सूत्र को एल्गोरिथम में प्लग करते हैं और आप जाने के लिए अच्छे हैं। जैसा कि पहले उल्लेख किया गया है, यह गारंटी देता है कि एल्गोरिथ्म सामान्य रूप से पर्याप्त है जिसे भविष्य के फ़ंक्शन पर लागू किया जा सकता है जो एल्गोरिथ्म के पहली बार प्रकाशित होने के बाद हो सकता है, साथ ही उन्हें गणना करने के लिए कुशल एल्गोरिदम के उनके समीपस्थ अभिव्यक्तियों के साथ।

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

यह कम्प्यूटरीकरण न केवल एल्गोरिथ्म को सामान्य बनाता है, बल्कि विश्लेषण करना भी आसान बनाता है: जब तक उप-समस्याओं के लिए एल्गोरिदम मौजूद है, जिसमें यह गुण हैं, तो प्रस्तावित एल्गोरिदम में यह अभिसरण दर या जो भी होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.