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

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

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

किसी भी विकल्प का पूर्ण मूल्य इस बात पर निर्भर करता है कि प्रारंभिक समस्या कितनी अच्छी तरह से मापी गई है। मार्क्वार्ड ने मान $\lambda_0$ और फैक्टर $\nu > 1$ से प्रारंभ करने की अनुशंसा की। प्रारंभ में $$\lambda = \lambda_0$$ सेट करना और प्रारंभिक बिंदु से एक चरण के बाद $$\lambda = \lambda_0$$ के डंपिंग फैक्टर के साथ और दूसरे $\lambda_0 / \nu$ के साथ वर्गों $$S\left (\boldsymbol\beta\right )$$ के अवशिष्ट योग की गणना करना है। यदि ये दोनों प्रारंभिक बिंदु से भी वर्से हैं, तो डंपिंग को $\nu$ द्वारा क्रमिक गुणन द्वारा बढ़ाया जाता है जब तक कि कुछ $k$ के लिए $\lambda_0\nu^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}. $$ चूंकि यह जियोडेसिक त्वरण शब्द केवल वेग $$\boldsymbol{v}$$ की दिशा के साथ दिशात्मक व्युत्पन्न $$f_{vv} = \sum_{\mu\nu} v_{\mu} v_{\nu} \partial_{\mu} \partial_{\nu} f (\boldsymbol{x})$$ पर निर्भर करता है, इसलिए इसमें पूर्ण दूसरे क्रम के व्युत्पन्न मैट्रिक्स की गणना करने की आवश्यकता नहीं होती है, जिसके लिए कंप्यूटिंग लागत के संदर्भ में केवल एक छोटे ओवरहेड की आवश्यकता होती है। चूंकि दूसरे क्रम का व्युत्पन्न काफी जटिल अभिव्यक्ति हो सकता है, इसलिए इसे सीमित अंतर सन्निकटन के साथ बदलना सुविधाजनक हो सकता है



\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)