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

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

एल्गोरिथम पहली बार 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 )$$ इसके Gradient#Linear_approximation_to_a_function द्वारा अनुमानित है:


 * $$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}$$ का ग्रेडियेंट  (इस मामले में पंक्ति-वेक्टर) है $f$ इसके संबंध में $\boldsymbol\beta$.

योग $$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\delta$ अनुमानित पैरामीटर वेक्टर के लिए $\boldsymbol\beta$.

(गैर-नकारात्मक) अवमंदन कारक $\lambda$ को प्रत्येक पुनरावृत्ति पर समायोजित किया जाता है। यदि की कमी हो $S$ तीव्र है, एक छोटे मूल्य का उपयोग किया जा सकता है, जो एल्गोरिदम को गॉस-न्यूटन एल्गोरिदम के करीब लाता है, जबकि यदि कोई पुनरावृत्ति अवशिष्ट में अपर्याप्त कमी देता है, $\lambda$ को ग्रेडिएंट-डिसेंट दिशा के करीब एक कदम बढ़ाते हुए बढ़ाया जा सकता है। ध्यान दें कि का ग्रेडिएंट $S$ इसके संबंध में $\boldsymbol\beta$ बराबर है $$-2\left (\mathbf J^{\mathrm T}\left [\mathbf y - \mathbf f\left (\boldsymbol\beta\right )\right ]\right )^{\mathrm T}$$. इसलिए, के बड़े मूल्यों के लिए $\lambda$, कदम लगभग ढाल के विपरीत दिशा में उठाया जाएगा। यदि या तो परिकलित चरण की लंबाई $\boldsymbol\delta$ या नवीनतम पैरामीटर वेक्टर से वर्गों के योग में कमी $\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$. सैद्धांतिक तर्क मौजूद हैं जो दिखाते हैं कि इनमें से कुछ विकल्प एल्गोरिदम के स्थानीय अभिसरण की गारंटी क्यों देते हैं; हालाँकि, ये विकल्प एल्गोरिदम के वैश्विक अभिसरण को ग्रेडिएंट डिसेंट के अवांछनीय गुणों से ग्रस्त कर सकते हैं, विशेष रूप से, इष्टतम के करीब बहुत धीमी गति से अभिसरण।

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

यदि अवमंदन कारक का उपयोग करें $\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)