گرادیان کاهشی تصادفی (به انگلیسی: (Stochastic Gradient (SGD) روشی مبتنی بر تکرار برای بهینه سازی یک تابع مشتق پذیر به نام تابع هدف (تابع هزینه) است که یک تقریب تصادفی از روش گرادیان کاهشی می باشد. در حقیقت گرادیان کاهشی تصادفی الگوریتمی در اختیار ما قرار می دهد که طی چند حلقهٔ تکرار مقدار کمینه یک تابع و مقادیری را که با ازای آن ها تابع کمینه مقدار خود را می گیرد، بدست بیاوریم. به تازگی مقاله ای ابداع این روش را به هربرت رابینز و ساتِن مونرو (به انگلیسی: Herbert Robins and Sutton Monro) برای انتشار مقاله ای در باب گرادیان کاهشی تصادفی در سال ۱۹۵۱ نسبت داده است. تفاوت گرادیان کاهشی تصادفی با گرادیان کاهشی استاندارد در این است که برخلاف گرادیان کاهشی استاندارد که برای بهینه سازی تابع هدف از تمام داده های آموزشی استفاده می کند، گرادیان کاهشی تصادفی از گروهی از داده های آموزشی که به طور تصادفی انتخاب می شود برای بهینه سازی استفاده می کند. این روش در مسائل آماری و یادگیری ماشین کاربرد فراوانی دارد.
پراکندگی مقدار بدست آمده برای پارامتر را در هر حلقه کم می کند و همگرایی پایدارتر پیش می رود.
بهره گیری از عملیات ماتریسی که پیاده سازی بسیار سریعی دارد.
در برآوردهای آماری و یادگیری ماشین معمولاً مسائلی به وجود می آید که در آن ها نیاز است تابعی مانند f {\displaystyle {\mathcal {f}}} از داده های آماری با یک یا چند پارامتر (به شکل ضریب یا اشکال دیگر) تعریف کنیم و سپس این پارامترها را طوری مشخص کنیم که مجموع (یا میانگین) مقادیر تابع f {\displaystyle {\mathcal {f}}} به ازای تک تک داده های آماری، حداقل مقدار ممکن خود بشود. فرض کنید مجموعه ای از داده های آماری داریم و تابع f {\displaystyle {\mathcal {f}}} را برای این داده ها فقط بر حسب یک پارامتر θ {\displaystyle \theta } تعریف کرده ایم، در این صورت با دادن داده i {\displaystyle {\boldsymbol {i}}} ام از مجموعهٔ داده ها به تابع f {\displaystyle {\mathcal {f}}} یک تابع از θ {\displaystyle \theta } بدست می آوریم که آن را J i ( θ ) {\displaystyle {\mathcal {J}}_{\boldsymbol {i}}({\boldsymbol {\theta }})} می نامیم. حال مسئله به پیدا کردن θ {\displaystyle \theta } ای که عبارت زیر را کمینه می کند، ساده می شود:
J ( θ ) = ( 1 n ) ∑ i = 1 n J i ( θ ) {\displaystyle {\mathcal {J}}({\boldsymbol {\theta }})=\left({\frac {1}{n}}\right)\textstyle \sum _{{\boldsymbol {i}}=1}^{n}\displaystyle {\mathcal {J}}_{\displaystyle i}({\boldsymbol {\theta }})}
یا به عبارت دیگر:
پراکندگی مقدار بدست آمده برای پارامتر را در هر حلقه کم می کند و همگرایی پایدارتر پیش می رود.
بهره گیری از عملیات ماتریسی که پیاده سازی بسیار سریعی دارد.
در برآوردهای آماری و یادگیری ماشین معمولاً مسائلی به وجود می آید که در آن ها نیاز است تابعی مانند f {\displaystyle {\mathcal {f}}} از داده های آماری با یک یا چند پارامتر (به شکل ضریب یا اشکال دیگر) تعریف کنیم و سپس این پارامترها را طوری مشخص کنیم که مجموع (یا میانگین) مقادیر تابع f {\displaystyle {\mathcal {f}}} به ازای تک تک داده های آماری، حداقل مقدار ممکن خود بشود. فرض کنید مجموعه ای از داده های آماری داریم و تابع f {\displaystyle {\mathcal {f}}} را برای این داده ها فقط بر حسب یک پارامتر θ {\displaystyle \theta } تعریف کرده ایم، در این صورت با دادن داده i {\displaystyle {\boldsymbol {i}}} ام از مجموعهٔ داده ها به تابع f {\displaystyle {\mathcal {f}}} یک تابع از θ {\displaystyle \theta } بدست می آوریم که آن را J i ( θ ) {\displaystyle {\mathcal {J}}_{\boldsymbol {i}}({\boldsymbol {\theta }})} می نامیم. حال مسئله به پیدا کردن θ {\displaystyle \theta } ای که عبارت زیر را کمینه می کند، ساده می شود:
J ( θ ) = ( 1 n ) ∑ i = 1 n J i ( θ ) {\displaystyle {\mathcal {J}}({\boldsymbol {\theta }})=\left({\frac {1}{n}}\right)\textstyle \sum _{{\boldsymbol {i}}=1}^{n}\displaystyle {\mathcal {J}}_{\displaystyle i}({\boldsymbol {\theta }})}
یا به عبارت دیگر:
wiki: گرادیان کاهشی تصادفی