روش لوانبرگ-مارکوارت (Levenberg-Marquardt Method)، در ریاضیات (Mathematics)
انواع روش های عددی (Numerical Methods) را در آموزش زیر شرح دادیم :
روش لوانبرگ-مارکوارت (Levenberg-Marquardt Method) :
\[ (J^T J + \lambda I) \Delta = -J^T r \]توضیح ساده: روش لوانبرگ-مارکوارت یک روش قدرتمند برای حل مسائل کمترین مربعات غیرخطی است. این روش ترکیبی از دو روش گرادیان کاهشی و روش گاوس-نیوتن است. یک پارامتر λ (لامبدا) کنترل می کند که روش به کدام سمت متمایل شود: وقتی λ بزرگ است، روش شبیه گرادیان کاهشی عمل می کند (پایدار اما کند)، و وقتی λ کوچک است، شبیه گاوس-نیوتن (سریع اما ممکن است واگرا شود). این روش در برازش منحنی های غیرخطی و آموزش شبکه های عصبی بسیار محبوب است.
شرح گام به گام: مسئله: یافتن پارامترهای x که تابع f(x) را به داده های مشاهده شده y نزدیک کند، به طوری که مجموع مربعات خطاها
\[ E(x) = \frac{1}{2} \sum_i (y_i - f_i(x))^2 \]کمینه شود. در هر تکرار:
۱. ماتریس ژاکوبی J را محاسبه می کنیم (مشتقات جزئی f نسبت به x).
۲. بردار باقیمانده r = y - f(x) را محاسبه می کنیم.
۳. دستگاه (JᵀJ + λI) Δ = Jᵀr را برای یافتن گام Δ حل می کنیم.
۴. اگر E(x+Δ) کاهش یافت، λ را کاهش می دهیم و x را به روز می کنیم. در غیر این صورت، λ را افزایش داده و دوباره امتحان می کنیم.
۵. تا همگرایی تکرار می کنیم.
مثال عددی: می خواهیم تابع f(x,t) = e^{at} را به داده های (tᵢ, yᵢ) برازش دهیم، با پارامتر x = a. داده ها: t = [0,1,2]، y = [1, 2.7, 7.4]. حدس اولیه a=0.5. برای هر نقطه، fᵢ = e^{0.5tᵢ} = [1, 1.6487, 2.7183]. باقیمانده r = [0, 1.0513, 4.6817]. مشتق ∂f/∂a = t e^{at}، پس J = [0, 1*e^{0.5}=1.6487, 2*e^{1}=5.4366]. JᵀJ = 0² + 1.6487² + 5.4366² = 2.718 + 29.56 = 32.278. Jᵀr = 0*0 + 1.6487*1.0513 + 5.4366*4.6817 = 1.733 + 25.45 = 27.183. با λ=0.01، Δ = 27.183/(32.278+0.01) = 0.842. a جدید = 0.5+0.842=1.342. f جدید = [1, 3.826, 14.64]، خطا بیشتر شد! پس λ را زیاد می کنیم (مثلا λ=1)، Δ = 27.183/(32.278+1)=27.183/33.278=0.817، a=1.317، f=[1,3.73,13.85]، خطا هنوز زیاد. در نهایت با تنظیم λ به مقدار مناسب، همگرا می شود.
مزایا: ترکیب مزایای دو روش، پایدار و کارآمد، استاندارد برای مسائل غیرخطی.
معایب: نیاز به محاسبه مشتقات (ماتریس ژاکوبی) دارد. انتخاب λ اولیه و نرخ تغییر آن مهم است.
کاربردها: در برازش منحنی های غیرخطی، در یادگیری ماشین، در بینایی کامپیوتر (کالیبراسیون دوربین)، در شیمی سنجی، در تخمین پارامترهای مدل های فیزیکی.
نکته: این روش به افتخار کنث لوانبرگ و دونالد مارکوارت نامگذاری شده است که در دهه ۱۹۴۰ و ۱۹۶۰ آن را توسعه دادند.