گرادیان کاهشی قسمت دوم

3 دقیقه |  2020/09/09

دوره یادگیری ماشین دانشگاه استنفورد به فارسی

در قسمت قبل گرادیان کاهشی را به این صورت معرفی کردیم، در این قسمت می‌خواهیم به توضیح آلفا و عبارت مشتق بپردازیم. اما برای برای درک بهتر می‌خواهیم با یک مثال ساده تر تابعی با یک پارامتر را مینیمم کنیم، یعنی فرض می‌کنیم تابع هزینه $J$ فقط یک پارامتر دارد.

تصور کنید تابع $J$ زیر را با پارامتر $\theta_1$ در این نقطه داریم، و از این نقطه کارمان را شروع می‌کنیم.

دوره یادگیری ماشین دانشگاه استنفورد به فارسی

کاری که عبارت مشتق می‌کند این است که تانژانت این نقطه را می‌گیرد، مثل این خط قرمز که با تابع مماس است. پس از این عبارت شیب خط را به دست می‌آوریم و می‌بینیم که در اینجا شیب خط قرمز ما مثبت است، پس متوجه شدیم که در این شکل حاصل مشتق مثبت است، همچنین نرخ یادگیری نیز همیشه عددی مثبت است.

بنابراین تغییر $\theta$ طبق فرمول به این صورت است: $$ \theta_1 := \theta_1 - \alpha \text{ } \cdot \text{ (positive number)} $$

بنابراین داریم $\theta$ منهای مقداری مثبت که این باعث می‌شود $\theta$ ما کاهش یابد و به سمت چپ برود!

همان چیزی که می‌خواهیم، نزدیک شدن به مینیمم!

و اگر طبق مثال قبل از این نقطه جدید شروع کنیم شیب خط ما منفی خواهد شد، یعنی مشتق منفی!

دوره یادگیری ماشین دانشگاه استنفورد به فارسی

بنابراین تغییر تتا طبق فرمول به این صورت است: $$ \theta_1 := \theta_1 - \alpha \text{ } \cdot \text{ (negative number)} $$

می‌بینیم که داریم $\theta_1$ منهای مقداری منفی که این باعث می‌شود تتا ما افزایش یابد و به سمت راست برود!

دوره یادگیری ماشین دانشگاه استنفورد به فارسی

در شکل سمت چپ مقدار آلفا بسیار کوچک است که باعث می‌شود گرادیان کاهشی خیلی کند تر به مینیمم برسد یعنی نیاز داریم قدم های بیشتری به پایین برداریم.

اما در شکل راست آلفا بسیار بزرگ تر است که باعث شده گرادیان کاهشی هیچ وقت به مینیمم نرسد. یعنی گرادیان کاهشی ما همگرا نیست بلکه واگرا است!

حالا شما جواب بدید!

چه اتفاقی می‌افتد اگر در شکل زیر پارامتر $\theta_1$ در نقطه مینیمم باشد؟!

دوره یادگیری ماشین دانشگاه استنفورد به فارسی

برای دیدن پاسخ کلیک کن

گرادیان نزولی به مینیمم محلی ختم می‌شود حتی زمانی که نرخ یادگیری یا همان آلفا ثابت باشد!

دوره یادگیری ماشین دانشگاه استنفورد به فارسی

زیرا در هر بار انجام الگوریتم شیب خط حاصل از عبارت مشتق ملایم تر از حالت دفعه قبلش است و همینطور که به مینیمم نزدیک تر می‌شویم، مشتق نیز به صفر میل می‌کند. بنابراین هر بار مشتق کوچک تر می‌شود و این باعث می‌شود قدم ها هر بار کوچک تر و کوچک تر شوند. به این خاطر نیازی نیست در طول زمان مقدار آلفا را کاهش دهیم!