گرادیان کاهشی
کاهش گرادیان (انگلیسی: Gradient descent) الگوریتم بهینهسازی مرتبهٔ اول از نوع الگوریتمهای تکرار شونده است. برای یافتن کمینهٔ محلی یک تابع با استفاده از این الگوریتم، گامهایی متناسب با منفی گرادیان (یا گرادیان تخمینی) تابع در محل فعلی برداشته خواهد شد. اگر در استفاده از این الگوریتم، گامهایی متناسب با جهت مثبت گرادیان برداشته شود، به بیشینهٔ محلی تابع نزدیک میشویم که به این فرایند افزایش گرادیان گفته میشود. اگر تابع محدب یا مقعر باشه به بیشینه جهانی میرسیم. بسیاری از مسائل یادگیری ماشینی محدب هستند و ازین رو گرادیان کاهشی جواب بهینه را در این مسائل تولید میکند.
توضیح الگوریتم
فرض میکنیم تابعی چند متغیره به اسم
الگوریتم گرادیان کاهشی به صورت متناوب هر بار مقداری در خلاف جهت گرادیان حرکت میکند به این معنی که
برای توابع محدب هر بار مقدار تابع یا کمتر میشود یا ثابت میماند به این معنی که
با نزدیک شدن به نقطه بهینه، از آنجا که گرادیان به صفر نزدیک میشود مقادیر
توضیح ساده
تصور کنید در حال اسکی بازی هستید! هر چقدر شیب بیشتر باشد، در هر لحظه طول بیشتری را لیز خواهید خورد! در روش نزول شیب، هر چه شیب بیشتر باشد، طول گام در جهت مخالف بیشتر خواهد شد. دربارهٔ پرسپترون یک لایه:
مثال
فرض کنید میخواهیم کمینه تابع
گرادیان این تابعِ دومتغیّریه این بردار است:
معادله الگوریتم گرادیان کاهشی به شکل پایین خواهد بود، برای
این الگوریتم را میتوانیم با شکل پایین به تصویر بکشیم.