نمودار رویکرد تکراری ( شکل 1 ) حاوی یک جعبه موج دار سبز رنگ با عنوان "محاسبه به روز رسانی پارامترها" بود. اکنون آن غبار پری الگوریتمی را با چیزی اساسی تر جایگزین می کنیم.
فرض کنید ما زمان و منابع محاسباتی برای محاسبه ضرر برای همه مقادیر ممکن \(w_1\)در اختیار داشتیم. برای نوع مشکلات رگرسیونی که ما بررسی کردهایم، نمودار حاصل از ضرر در مقابل \(w_1\) همیشه محدب خواهد بود. به عبارت دیگر، طرح همیشه کاسه ای شکل خواهد بود، به نوعی مانند این:
شکل 2. مشکلات رگرسیون باعث کاهش محدب در مقابل نمودارهای وزنی می شود.
مسائل محدب فقط یک حداقل دارند. یعنی فقط یک جایی که شیب دقیقاً 0 است. آن حداقل جایی است که تابع ضرر همگرا می شود.
محاسبه تابع ضرر برای هر مقدار قابل تصور \(w_1\)در کل مجموعه داده، راهی ناکارآمد برای یافتن نقطه همگرایی خواهد بود. بیایید مکانیسم بهتری را بررسی کنیم - که در یادگیری ماشین بسیار محبوب است - به نام گرادیان نزول .
اولین مرحله در نزول گرادیان، انتخاب یک مقدار شروع (نقطه شروع) برای \(w_1\)است. نقطه شروع خیلی مهم نیست. بنابراین، بسیاری از الگوریتمها به سادگی \(w_1\) روی 0 تنظیم میکنند یا یک مقدار تصادفی را انتخاب میکنند. شکل زیر نشان می دهد که ما نقطه شروع را کمی بزرگتر از 0 انتخاب کرده ایم:
شکل 3. نقطه شروع برای نزول گرادیان.
سپس الگوریتم گرادیان نزول گرادیان منحنی تلفات را در نقطه شروع محاسبه می کند. در اینجا در شکل 3، گرادیان افت برابر با مشتق (شیب) منحنی است و به شما می گوید که کدام سمت "گرمتر" یا "سردتر" است. هنگامی که چندین وزن وجود دارد، گرادیان بردار مشتقات جزئی نسبت به وزن ها است.
توجه داشته باشید که گرادیان یک بردار است، بنابراین هر دو ویژگی زیر را دارد:
- یک جهت
- یک قدر
گرادیان همیشه در جهت تندترین افزایش در تابع تلفات اشاره می کند. الگوریتم گرادیان نزول یک گام در جهت گرادیان منفی برمی دارد تا در سریع ترین زمان ممکن تلفات را کاهش دهد.
شکل 4. نزول گرادیان بر شیب های منفی متکی است.
برای تعیین نقطه بعدی در امتداد منحنی تابع تلفات، الگوریتم گرادیان نزول کسری از بزرگی گرادیان را همانطور که در شکل زیر نشان داده شده است به نقطه شروع اضافه می کند:
شکل 5. یک گام گرادیان ما را به نقطه بعدی در منحنی ضرر می برد.
سپس شیب نزول این فرآیند را تکرار میکند و هرچه بیشتر به حداقل میرسد.