लेवेनबर्ग-मार्क्वार्ड एल्गोरिदम

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

एल्गोरिथम पसमाधानी बार 1944 में केनेथ लेवेनबर्ग द्वारा फ्रैंकफोर्ड आर्मी आर्सेनल में काम करते समय प्रकाशित किया गया था। इसे 1963 में ड्यूपॉन्ट में सांख्यिकीविद् के रूप में काम करने वाले डोनाल्ड मार्क्वार्ट द्वारा और इंडिपेंडेंट रूप से गिरार्ड विने और मॉरिसन द्वारा फिर से खोजा गया था।

सामान्य कर्व-फिटिंग समस्याओं का समाधान करने के लिए कई सॉफ्टवेयर एप्लीकेशनों में एलएमए का उपयोग किया जाता है। गॉस-न्यूटन एल्गोरिदम का उपयोग करके यह अधिकांश प्रथम-क्रम विधियों की तुलना में तेज़ी से परिवर्तित होता है। चूँकि, अन्य पुनरावृत्त अनुकूलन एल्गोरिदम की तरह, एलएमए केवल स्थानीय न्यूनतम पाता है, जो जरूरी नहीं कि वैश्विक न्यूनतम हो।

समस्या
लेवेनबर्ग-मार्क्वार्ड एल्गोरिथ्म का प्राथमिक अनुप्रयोग न्यूनतम-वर्ग वक्र फिटिंग समस्या में है: इंडिपेंडेंट और डिपेंडेंट वेरिएबल के $$m$$ अनुभवजन्य जोड़े $$\left (x_i, y_i\right )$$ का एक सेट दिया गया है, मॉडल वक्र के पैरामीटर $\boldsymbol\beta$ ढूंढें $$f\left (x, \boldsymbol\beta\right )$$ जिससे विचलन $$S\left (\boldsymbol\beta\right )$$ के वर्गों का योग कम से कम हो:


 * $$\hat{\boldsymbol\beta} \in \operatorname{argmin}\limits_{\boldsymbol\beta} S\left (\boldsymbol\beta\right ) \equiv \operatorname{argmin}\limits_{\boldsymbol\beta} \sum_{i=1}^m \left [y_i - f\left (x_i, \boldsymbol\beta\right )\right ]^2,$$
 * जिसे गैर-रिक्त माना जाता है।

समाधान
अन्य संख्यात्मक न्यूनतमकरण एल्गोरिदम की तरह, लेवेनबर्ग-मार्क्वार्ड एल्गोरिदम एक पुनरावृत्त प्रक्रिया है। न्यूनतमकरण प्रारंभ करने के लिए उपयोगकर्ता को पैरामीटर वेक्टर $\boldsymbol\beta$ के लिए प्रारंभिक अनुमान प्रदान करना होगा। केवल एक न्यूनतम वाले स्थितियों में, $$\boldsymbol\beta^\text{T} = \begin{pmatrix}1,\ 1,\ \dots,\ 1\end{pmatrix}$$ जैसा एक अनइंफोर्मेड मानक अनुमान ठीक काम करेगा; मल्टीपल मिनिमा वाले स्थितियों में, एल्गोरिदम वैश्विक न्यूनतम में तभी परिवर्तित होता है जब प्रारंभिक अनुमान पसमाधाने से ही अंतिम समाधान के कुछ निकट हो।

प्रत्येक पुनरावृत्ति चरण में, पैरामीटर वेक्टर $\boldsymbol\beta$ को एक नए अनुमान $\boldsymbol\beta + \boldsymbol\delta$ द्वारा प्रतिस्थापित किया जाता है। $\boldsymbol\delta$ निर्धारित करने के लिए, फ़ंक्शन $$f\left (x_i, \boldsymbol\beta + \boldsymbol\delta\right )$$ को इसके रैखिककरण द्वारा अनुमानित किया जाता है:


 * $$f\left (x_i, \boldsymbol\beta + \boldsymbol\delta\right ) \approx f\left (x _i, \boldsymbol\beta\right ) + \mathbf J_i \boldsymbol\delta,$$

जहाँ
 * $$\mathbf J_i = \frac{\partial f\left (x_i, \boldsymbol\beta\right )}{\partial \boldsymbol\beta}$$
 * $\boldsymbol\beta$ के संबंध में $f$ का ग्रेडियेंट (इस स्थिति में पंक्ति-वेक्टर) है।

वर्ग विचलन के योग $$S\left (\boldsymbol\beta\right )$$ का $\boldsymbol\beta$ के संबंध में शून्य ग्रेडिएंट पर न्यूनतम होता है। $$f\left (x_i, \boldsymbol\beta + \boldsymbol\delta\right )$$ का उपरोक्त प्रथम-क्रम सन्निकटन देता है
 * $$S\left (\boldsymbol\beta + \boldsymbol\delta\right ) \approx \sum_{i=1}^m \left [y_i - f\left (x_i, \boldsymbol\beta\right ) - \mathbf J_i \boldsymbol\delta\right ]^2,$$

या वेक्टर संकेतन में,
 * $$\begin{align}

S\left (\boldsymbol\beta + \boldsymbol\delta\right ) &\approx \left \|\mathbf y - \mathbf f\left (\boldsymbol\beta\right ) - \mathbf J\boldsymbol\delta\right \|^2\\ &= \left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right ) - \mathbf J\boldsymbol\delta \right ]^{\mathrm T}\left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right ) - \mathbf J\boldsymbol\delta\right ]\\ &= \left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ]^{\mathrm T}\left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ] - \left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ]^{\mathrm T} \mathbf J \boldsymbol\delta - \left (\mathbf J \boldsymbol\delta\right )^{\mathrm T} \left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ] + \boldsymbol\delta^{\mathrm T} \mathbf J^{\mathrm T} \mathbf J \boldsymbol\delta\\ &= \left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ]^{\mathrm T}\left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ] - 2\left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ]^{\mathrm T} \mathbf J \boldsymbol\delta + \boldsymbol\delta^{\mathrm T} \mathbf J^{\mathrm T} \mathbf J\boldsymbol\delta. \end{align}$$ का व्युत्पन्न लेना $$S\left (\boldsymbol\beta + \boldsymbol\delta\right )$$ इसके संबंध में $\boldsymbol\delta$ और परिणाम को शून्य पर सेट करने से परिणाम मिलता है


 * $$\left (\mathbf J^{\mathrm T} \mathbf J\right )\boldsymbol\delta = \mathbf J^{\mathrm T}\left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ],$$

जहाँ $$\mathbf J$$ जैकोबियन मैट्रिक्स और निर्धारक है, जिसका $i$-वीं पंक्ति $$\mathbf J_i$$ के समान होती है, और जहां $$\mathbf f\left (\boldsymbol\beta\right )$$ और $$\mathbf y$$ क्रमशः $i$-वें घटक $$f\left (x_i, \boldsymbol\beta\right )$$ और $$y_i$$ वाले वेक्टर हैं। $\boldsymbol\beta$ के लिए प्राप्त उपरोक्त अभिव्यक्ति गॉस-न्यूटन विधि के अंतर्गत आती है। ऊपर परिभाषित जैकोबियन मैट्रिक्स (सामान्यतः) एक वर्ग मैट्रिक्स नहीं है, ऊपर परिभाषित जैकोबियन मैट्रिक्स (सामान्यतः) वर्ग मैट्रिक्स नहीं है, किन्तु आकार $$m \times n$$ का आयताकार मैट्रिक्स है, जहाँ $$n$$ पैरामीटरों (वेक्टर $$\boldsymbol\beta$$ का आकार) है) की संख्या है। मैट्रिक्स गुणन $$\left (\mathbf J^{\mathrm T} \mathbf J\right)$$ आवश्यक $$n \times n$$ वर्ग मैट्रिक्स उत्पन्न करता है और दाईं ओर मैट्रिक्स-वेक्टर उत्पाद आकार $$n$$ का एक वेक्टर उत्पन्न करता है। परिणाम $$n$$ रैखिक समीकरणों का एक सेट है, जिसे $\boldsymbol\delta$ के लिए समाधान किया जा सकता है।

लेवेनबर्ग का योगदान इस समीकरण को नम संस्करण द्वारा प्रतिस्थापित करना है:


 * $$\left (\mathbf J^{\mathrm T} \mathbf J + \lambda\mathbf I\right ) \boldsymbol\delta = \mathbf J^{\mathrm T}\left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right],$$

जहां $\mathbf I$ पहचान मैट्रिक्स है, जो अनुमानित पैरामीटर वेक्टर $\boldsymbol\beta$ में वृद्धि $\boldsymbol\delta$ देता है।

(गैर-नकारात्मक) डंपिंग फैक्टर $\lambda$ को प्रत्येक पुनरावृत्ति पर समायोजित किया जाता है। यदि $S$ की कमी तेजी से होती है, तो एक छोटे मान का उपयोग किया जा सकता है, जो एल्गोरिदम को गॉस-न्यूटन एल्गोरिदम के निकट लाता है, जबकि यदि कोई पुनरावृत्ति अवशिष्ट में अपर्याप्त कमी देता है, तो $\lambda$ को ग्रेडिएंट-डिसेंट दिशा के निकट एक चरण बढ़ाते हुए बढ़ाया जा सकता है।

ध्यान दें कि $\boldsymbol\beta$ के संबंध में $S$ का ग्रेडिएंट $$-2\left (\mathbf J^{\mathrm T}\left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ]\right )^{\mathrm T}$$ के समान है। इसलिए, $\lambda$ के बड़े मानों के लिए, चरण लगभग ग्रेडिएंट के विपरीत दिशा में उठाया जाएगा। यदि परिकलित चरण डेल्टा की लंबाई या नवीनतम पैरामीटर वेक्टर $\boldsymbol\beta + \boldsymbol\delta$ से वर्गों के योग में कमी पूर्वनिर्धारित सीमा से नीचे आती है, तो पुनरावृत्ति रुक जाती है, और अंतिम पैरामीटर वेक्टर $\boldsymbol\beta$ को समाधान माना जाता है।

जब डंपिंग फैक्टर $\lambda$ $$ \| \mathbf J^{\mathrm T} \mathbf J \| $$ के सापेक्ष बड़ा होता है, तो $$ \mathbf J^{\mathrm T} \mathbf J + \lambda \mathbf I $$ को इनवर्ट करना आवश्यक नहीं होता है, क्योंकि अपडेट को छोटे ग्रेडिएंट चरण $$ \lambda^{-1} \mathbf J^{\mathrm T}\left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ]$$ द्वारा अच्छी तरह से अनुमानित किया जाता है।

समाधान पैमाने को अपरिवर्तनीय बनाने के लिए मार्क्वार्ड के एल्गोरिदम ने वक्रता के अनुसार ग्रेडिएंट के प्रत्येक घटक को स्केल करके एक संशोधित समस्या हल की। यह उन दिशाओं में बड़ी गति प्रदान करता है जहां ग्रेडिएंट छोटी है, जो छोटी ग्रेडिएंट की दिशा में धीमी गति से अभिसरण से बचाती है। फ्लेचर ने अपने 1971 के पेपर में गैर-रेखीय न्यूनतम वर्गों के लिए एक संशोधित मार्क्वार्ड सबरूटीन ने फॉर्म को सरल बनाया, पहचान मैट्रिक्स $\mathbf I$ को $\mathbf J^\text{T}\mathbf J$ के विकर्ण तत्वों से युक्त विकर्ण मैट्रिक्स के साथ बदल दिया।


 * $$\left [\mathbf J^{\mathrm T} \mathbf J + \lambda \operatorname{diag}\left (\mathbf J^{\mathrm T} \mathbf J\right )\right ] \boldsymbol\delta = \mathbf J^{\mathrm T}\left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ].$$

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

डंपिंग पैरामीटर का विकल्प
डंपिंग पैरामीटर $\lambda$ के सर्वोत्तम विकल्प के लिए विभिन्न कमोबेश अनुमानी तर्क सामने रखे गए हैं। सैद्धांतिक तर्क उपस्थित हैं जो दिखाते हैं कि इनमें से कुछ विकल्प एल्गोरिदम के स्थानीय अभिसरण की गारंटी क्यों देते हैं; चूँकि, ये विकल्प एल्गोरिदम के वैश्विक अभिसरण को विशेष रूप से इष्टतम के निकट बहुत धीमी गति से अभिसरण के अवांछनीय गुणों से ग्रस्त कर सकते हैं।

यदि ये दोनों प्रारंभिक बिंदु से भी बदतर हैं, तो अवमंदन को V द्वारा क्रमिक गुणन द्वारा बढ़ाया जाता है जब तक कि कुछ $k$ के लिए $\lambda_0\nu^k$ के नए अवमंदन कारक के साथ एक बेहतर बिंदु नहीं मिल जाता।

किसी भी विकल्प का पूर्ण मूल्य इस बात पर निर्भर करता है कि प्रारंभिक समस्या कितनी अच्छी तरह से मापी गई है। मार्क्वार्ड ने मान $\lambda_0$ और कारक $\nu > 1$ से प्रारंभ करने की अनुशंसा की। प्रारंभ में $$\lambda = \lambda_0$$ सेट करना और प्रारंभिक बिंदु से एक कदम के बाद $$\lambda = \lambda_0$$ के अवमंदन कारक के साथ और दूसरे $\lambda_0 / \nu$ के साथ वर्गों $$S\left (\boldsymbol\beta\right )$$ के अवशिष्ट योग की गणना करना है। यदि ये दोनों प्रारंभिक बिंदु से भी वर्से हैं, तो अवमंदन को $\nu$ द्वारा क्रमिक गुणन द्वारा बढ़ाया जाता है जब तक नए डंपिंग फैक्टर के साथ बेहतर बिंदु नहीं मिल जाता कुछ के लिए.

यदि डंपिंग फैक्टर का उपयोग करें $\lambda / \nu$ के परिणामस्वरूप वर्ग अवशिष्ट में कमी आती है, तो इसे नए मान के रूप में लिया जाता है $\lambda$ (और नया इष्टतम स्थान इस डंपिंग फैक्टर से प्राप्त स्थान के रूप में लिया जाता है) और प्रक्रिया जारी रहती है; यदि उपयोग कर रहे हैं $\lambda / \nu$ के परिणामस्वरूप वर्से अवशेष मिला, किन्तु उपयोग किया गया $\lambda$ परिणामस्वरूप बेहतर अवशेष प्राप्त हुआ $\lambda$ को अपरिवर्तित छोड़ दिया जाता है और नए इष्टतम को प्राप्त मान के रूप में लिया जाता है $\lambda$ डंपिंग फैक्टर के रूप में।

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

जियोडेसिक त्वरण
लेवेनबर्ग-मार्क्वार्ट चरण की वेग के रूप में व्याख्या करते समय $$\boldsymbol{v}_k$$ पैरामीटर स्पेस में जियोडेसिक पथ के साथ, त्वरण के लिए जिम्मेदार दूसरे ऑर्डर शब्द को जोड़कर विधि में सुधार करना संभव है $$\boldsymbol{a}_k$$ जियोडेसिक के साथ



\boldsymbol{v}_k + \frac{1}{2} \boldsymbol{a}_k $$ जहाँ $$\boldsymbol{a}_k$$ का समाधान है



\boldsymbol{J}_k \boldsymbol{a}_k = -f_{vv}. $$ चूँकि यह जियोडेसिक त्वरण शब्द केवल दिशात्मक व्युत्पन्न पर निर्भर करता है $$f_{vv} = \sum_{\mu\nu} v_{\mu} v_{\nu} \partial_{\mu} \partial_{\nu} f (\boldsymbol{x})$$ वेग की दिशा में $$\boldsymbol{v}$$, इसमें पूर्ण दूसरे क्रम के व्युत्पन्न मैट्रिक्स की गणना करने की आवश्यकता नहीं है, कंप्यूटिंग लागत के संदर्भ में केवल छोटे ओवरहेड की आवश्यकता होती है। चूंकि दूसरे क्रम का व्युत्पन्न काफी जटिल अभिव्यक्ति हो सकता है, इसलिए इसे सीमित अंतर सन्निकटन के साथ बदलना सुविधाजनक हो सकता है



\begin{align} f_{vv}^i &\approx \frac{f_i(\boldsymbol{x} + h \boldsymbol{\delta}) - 2 f_i(\boldsymbol{x}) + f_i(\boldsymbol{x} - h \boldsymbol{\delta})}{h^2} \\ &= \frac{2}{h} \left( \frac{f_i(\boldsymbol{x} + h \boldsymbol{\delta}) - f_i(\boldsymbol{x})}{h} - \boldsymbol{J}_i \boldsymbol{\delta} \right) \end{align} $$ जहाँ $$f(\boldsymbol{x})$$ और $$\boldsymbol{J}$$ एल्गोरिदम द्वारा पसमाधाने ही गणना की जा चुकी है, इसलिए गणना करने के लिए केवल अतिरिक्त फ़ंक्शन मानांकन की आवश्यकता है $$f(\boldsymbol{x} + h \boldsymbol{\delta})$$. परिमित अंतर चरण का चुनाव $$h$$ एल्गोरिदम की स्थिरता को प्रभावित कर सकता है, और लगभग 0.1 का मान आमतौर पर सामान्य रूप से उचित होता है।

चूँकि त्वरण वेग के विपरीत दिशा की ओर इंगित कर सकता है, इसलिए यदि अवमंदन बहुत छोटा है तो विधि को रोकने से रोकने के लिए, चरण को स्वीकार करने के लिए त्वरण पर अतिरिक्त मानदंड जोड़ा जाता है, जिसके लिए आवश्यक है



\frac{2 \left\| \boldsymbol{a}_k \right\|}{\left\| \boldsymbol{v}_k \right\|} \le \alpha $$ जहाँ $$\alpha$$ आमतौर पर कठिन समस्याओं के लिए छोटे मान के साथ, 1 से कम मान पर तय किया जाता है।

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

उदाहरण
इस उदाहरण में हम फ़ंक्शन को फिट करने का प्रयास करते हैं $$y = a \cos\left (bX\right ) + b \sin\left (aX\right )$$ लीस्कर फ़ंक्शन के रूप में जीएनयू ऑक्टेव में कार्यान्वित लेवेनबर्ग-मार्क्वार्ड एल्गोरिदम का उपयोग करना। ग्राफ़ मापदंडों के लिए उत्तरोत्तर बेहतर फिटिंग दिखाते हैं $$a = 100$$, $$b = 102$$ इस्तेमाल किया गया प्रारंभिक वक्र में. केवल जब अंतिम ग्राफ़ में पैरामीटर मूल के सबसे निकट चुने जाते हैं, तो वक्र बिल्कुल फिट होते हैं। यह समीकरण लेवेनबर्ग-मार्क्वार्ड एल्गोरिथम के लिए बहुत संवेदनशील प्रारंभिक स्थितियों का उदाहरण है। इस संवेदनशीलता का कारण मल्टीपल मिनिमा - फ़ंक्शन का अस्तित्व है $$\cos\left (\beta x\right )$$ पैरामीटर मान पर न्यूनतम है $$\hat\beta$$ और $$\hat\beta + 2n\pi$$.

यह भी देखें

 * ट्रस्ट क्षेत्र
 * नेल्डर-मीड विधि
 * लेवेनबर्ग-मार्क्वार्ड एल्गोरिदम के वेरिएंट का उपयोग समीकरणों की गैर-रेखीय प्रणालियों का समाधान करने के लिए भी किया गया है।

बाहरी संबंध

 * Detailed description of the algorithm can be found in Numerical Recipes in C, Chapter 15.5: Nonlinear models
 * C. T. Kelley, Iterative Methods for Optimization, SIAM Frontiers in Applied Mathematics, no 18, 1999, ISBN 0-89871-433-8. Online copy
 * History of the algorithm in SIAM news
 * A tutorial by Ananth Ranganathan
 * K. Madsen, H. B. Nielsen, O. Tingleff, Methods for Non-Linear Least Squares Problems (nonlinear least-squares tutorial; L-M code: analytic Jacobian secant)
 * T. Strutz: Data Fitting and Uncertainty (A practical introduction to weighted least squares and beyond). 2nd edition, Springer Vieweg, 2016, ISBN 978-3-658-11455-8.
 * H. P. Gavin, The Levenberg-Marquardt method for nonlinear least-squares curve-fitting problems (MATLAB implementation included)