الگوریتم های مرتبه اول به طور کلی به آشنایی با انواع الگوریتم بهینه سازی عنوان نزول گرادیان نامیده می شوند، با نام های خاص تر به پسوندهای جزئی رویه، به عنوان مثال:
گرادیان نزول تکانهالگوریتم گرادیان نزول همچنین الگوی نسخه تصادفی محبوب الگوریتم، به نام Stochastic Gradient Descent (SGD) را ارائه می دهد که برای آموزش مدل های شبکه های عصبی مصنوعی (یادگیری عمیق) استفاده می شود.
تفاوت مهم این است که گرادیان به جای محاسبه مستقیم، با استفاده از خطای پیشبینی در دادههای آموزشی، مانند یک نمونه (تصادفی)، همه نمونهها (دستهای)، یا زیرمجموعه کوچکی از دادههای آموزشی (مینی دستهای) تخصیص داده میشود.
پسوندهای طراحی شده برای تسریع الگوریتم نزول گرادیان (تکانه، و غیره) می توانند آشنایی با انواع الگوریتم بهینه سازی و معمولاً با SGD استفاده می شوند.نزول گرادیان تصادفینزول گرادیان دسته ایمینی دسته ای نزول گرادیانالگوریتم های مرتبه دوم
الگوریتمهای بهینهسازی مرتبه دوم به صراحت شامل استفاده از مشتق دوم (Hessian) برای انتخاب جهت حرکت در فضای جستجو میشوند.
این الگوریتم ها فقط برای آن دسته از توابع هدف مناسب هستند که ماتریس هسین را می توان محاسبه یا تقریب کرد.نمونه هایی از الگوریتم های بهینه سازی مرتبه دوم برای توابع هدف تک متغیره عبارتند از:
روشهای مرتبه دوم برای توابع هدف چند متغیره به روشهای شبه نیوتنی گفته میشود.روش شبه نیوتنی روشهای شبه نیوتنی زیادی وجود دارد و معمولاً برای توسعهدهندگان الگوریتم نامگذاری ایرانیان سایبر میشوند، مانند:
اکنون که با به اصطلاح الگوریتمهای بهینهسازی کلاسیک آشنا شدهایم، بیایید به الگوریتمهای مورد استفاده در زمانی که تابع هدف قابل تمایز نیست نگاهی بیاندازیم.تابع هدف غیر دیفرانسیل الگوریتمهای بهینهسازی که از آشنایی با انواع الگوریتم بهینه سازی مشتق تابع هدف استفاده میکنند، سریع و کارآمد هستند.
با این وجود، توابع هدف وجود دارد که در آن مشتق استve را نمی توان محاسبه کرد، معمولاً زیرا تابع به دلایل مختلف در دنیای واقعی پیچیده است. یا مشتق را می توان در برخی مناطق دامنه محاسبه کرد، اما نه همه، یا راهنمای خوبی نیست.
برخی از مشکلات مربوط به توابع هدف برای الگوریتم های کلاسیک شرح داده شده در بخش قبل عبارتند از:هیچ توصیف تحلیلی از تابع (به عنوان مثال شبیه سازی).بهینه جهانی چندگانه (به عنوان مثال چندوجهی).ارزیابی عملکرد تصادفی (مثلاً پر سر و صدا).تابع هدف ناپیوسته (به عنوان مثال مناطق با راه حل های نامعتبر).به این ترتیب، الگوریتمهای بهینهسازی وجود دارند که انتظار ندارند مشتقات مرتبه اول یا دوم در دسترس باشند.
این الگوریتمها گاهی اوقات بهعنوان الگوریتمهای بهینهسازی جعبه سیاه نامیده میشوند، زیرا آنها کمی یا هیچ (نسبت به روشهای کلاسیک) در مورد تابع هدف فرض نمیکنند.
گروه بندی این الگوریتم ها عبارتند از:الگوریتم آشنایی با انواع الگوریتم بهینه سازی های مستقیم الگوریتم های تصادفی الگوریتم های جمعیت بیایید به نوبه خود به هر یک نگاه دقیق تری بیندازیم.الگوریتم های مستقیم
الگوریتم های بهینه سازی مستقیم برای توابع هدفی هستند که نمی توان مشتقات آنها را محاسبه کرد.الگوریتمها رویههای قطعی هستند و اغلب فرض میکنند که تابع هدف دارای یک بهینه کلی واحد است، به عنوان مثال. تک وجهی
روشهای جستجوی مستقیم معمولاً به عنوان «جستجوی الگو» نیز شناخته میشوند، زیرا ممکن است با استفاده از اشکال هندسی یا تصمیمگیری در فضای جستجو حرکت کنند، به عنوان مثال. الگوها
اطلاعات گرادیان به طور مستقیم (از این رو نام) از نتیجه تابع هدف که تفاوت نسبی بین امتیازات را در فضای جستجو مقایسه میکند، تقریب مییابد. سپس از این تخمینهای مستقیم برای انتخاب جهت حرکت در فضای جستجو و مثلثسازی ناحیه بهینه استفاده میشود.
نمونه هایی از الگوریتم های جستجوی مستقیم عبارتند از:الگوریتم های آشنایی با الگوریتم بهینه سازی تصادفی الگوریتمهای بهینهسازی تصادفی، الگوریتمهایی هستند که از تصادفی بودن در روند جستجو برای توابع هدف استفاده میکنند که مشتقات آنها قابل محاسبه نیست.