الگوریتم لونبرگ-مارکوارت

از testwiki
پرش به ناوبری پرش به جستجو

الگوریتم لونبرگ-مارکوارت روشی است برای یافتن کمینه یک تابع غیر خطی چند متغیره که به عنوان یک روش استاندارد برای حل مسئله کمینه مربعات برای توابع غیرخطی درآمده است.[۱]

الگوریتم لونبرگ-مارکوارت (LMA) بین الگوریتم گاوس-نیوتون (GNA) و روش گرادیان کاهشی درونیابی می‌کند. LMA از GNA مقاوم‌تر است، که یعنی در بسیاری مواقع، حتی اگر بسیار دورتر از کمینه نهایی شروع کرده باشد، جوابی را پیدا می‌کند. از دیگر سو، برای تابع‌های خوشرفتار و پارامترهای آغازین معقول، LMA کمی کندتر از GNA است. LMA پرطرفدارترین الگوریتم برازش خم است و کاربران کمی ممکن است به روش‌های دیگر برازش خم نیاز پیدا کنند.

مسئله

m تابع f1,,fmاز n پارامتر p1,,pn که mn داده شده‌اند. برای آسانی از نمادگذاری برداری برای هر دوی تابع‌ها و پارامترها استفاده می‌کنیم.

𝐟𝐓=(f1,,fm) و 𝐩𝐓=(p1,,pn)

مسئله کمترین مربعات شامل جستن بردار پارامترهای 𝐩 است که برای آن تابع هزینه

S(𝐩)=𝐟𝐓𝐟=i=1m[fi(𝐩)]2

کمینه می‌شود.

کاربرد اصلی در مسئله برازش خم کمترین مربعات است: مجموعه‌ای از جفت‌های تجربی داده به فرم (ti,yi) در دست است، می‌خواهیم 𝐩 پارامترهای خم مدل c(t|𝐩) را به گونه‌ای بهینه کنیم که مجموع مربعات انحراف‌ها

fi(𝐩)=yic(ti|𝐩)

کمینه گردد.

(صحبتی دربارهٔ نمادگذاری: ما از حرف x به خاطر اینکه برخی اوقات به جای p و برخی اوقات به جای t استفاده می‌شود خودداری می‌کنیم)

راه حل

مانند سایر الگوریتم‌های کمینه‌سازی عددی، الگوریتم لونبرگ-مارکارد یک رویه تکراری است. برای شروع کمینه‌سازی، کاربر باید یک حدس آغازین برای بردار 𝐩 پارامترها ارائه کند. در بسیاری مواقع یک حدس ناآگاهانه استاندارد مانند 𝐩𝐓=(1,1,,1) به خوبی کار می‌کند. در جاهای دیگر، الگوریتم تنها وقتی کار می‌کند که حدس آغازین تا حدی به جواب نهایی نزدیک باشد.

در هر گام تکرار، بردار 𝐩 پارامترها با یک تخمین جدید 𝐩+𝐪 جایگزین می‌شود. برای دستیابی به 𝐪 توابع fi(𝐩+𝐪) با خطی‌سازیشان

𝐟(𝐩+𝐪)𝐟(𝐩)+𝐉𝐪

تخمین زده می‌شوند که 𝐉 ژاکوبین 𝐟 در 𝐩 است.

در یک کمینه مجموع مربعات S، داریم qS=0. با خطی‌سازی بالا، از این به معادله زیر می‌رسیم

(𝐉𝐓𝐉)𝐪=𝐉𝐓𝐟

که 𝐪 را می‌توان از آن با وارون کردن 𝐉𝐓𝐉 بدست آورد. کلید LMA جایگزینی این معادله با «نسخه میراشده» آن است

(𝐉𝐓𝐉+λ)𝐪=𝐉𝐓𝐟

ضریب میرایی نامنفی λ در هر تکرار تنظیم می‌شود. اگر کاهش S تند بود مقدار کوچک‌تری به آن می‌دهیم که الگوریتم را به GNA نزدیکتر می‌کند، اما اگر یک تکرار کاهش ناکافی نشان داد λ را افزایش داده و یک گام را نزدیکتر به جهت نزول گرادیانی برمی‌داریم. ضریب میرایی مشابهی در ساماندهی تیخونوف دیده می‌شود که در حل مسائل خطی کژنمود سودمند است.

اگر یک طول قدم بازیابی شده یا کاهش مجموع مربعات برای آخرین مجموعه پارامترهای 𝐩از مقادیر از پیش تعیین شده کمتر باشند تکرار پایان می‌یابد و آخرین بردار پارامتر 𝐩 به عنوان جواب در نظر گرفته می‌شود.

منابع

الگو:پانویس

جستارهای وابسته

الگو:الگوریتم‌های بهینه‌سازی

  1. H.D. Mittelmann. The Least Squares Problem. [web page] http://plato.asu.edu/topics/problems/nlolsq.html الگو:Webarchive, Jul. 2004. [Accessed on 4 Aug. 2004.]