شبکه عصبی مصنوعی: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
برچسبها: متن دارای ویکیمتن نامتناظر ویرایشگر دیداری |
برچسبها: متن دارای ویکیمتن نامتناظر ویرایشگر دیداری |
||
خط ۲۲:
== یادگیری ==
یادگیری ماشینی با نظارت (supervised learning) به دنبال تابعی از میان یک سری توابع هست که [[تابع هزینه]] (loss function) [[داده ها]] را بهینه سازد. به عنوان مثال در مسئله رگرسیون [[تابع
=== ساختار ریاضی روش بازگشت به عقب ===
[[پرونده:شبکه سلولی چهار لایهای .png|بندانگشتی|جایگزین=|640x640پیکسل]]
برای سلول عصبی <math>c</math> ورودیی که از سلول عصبی <math>p</math> به این سلول وارد می شود را با <math>b_{pc}</math> نشان می دهیم. وزن این ورودی <math>w_{pc}</math> است و مجموع ضرب ورودیها با وزنهایشان را با <math>a_c</math> نمایش میدهیم، به این معنی که <math>a_c = \sum_p w_{pc}\times b_{pc}</math>. حال باید بر روی <math>a_c</math> تابعی غیر خطی اعمال کنیم این تابع را <math>\theta_c</math> می نامیم و خروجی آنرا با <math>b_c</math> نمایش می دهیم یعنی <math>b_c = \theta_c(a_c)</math>. به همین شکل خروجیی که از سلول عصبی <math>c</math> خارج شده و به سلول <math>n</math> وارد می شود را با <math>b_{cn}</math> نمایش میدهیم و وزن آنرا <math>w_{cn}</math> مینامیم. حال تمام وزنهای این شبکه عصبی را در مجموعهای به اسم <math>W</math> میگنجانیم، هدف یادگیری این وزنهاست.<ref>{{یادکرد وب|وبگاه=DeepAI|نشانی=https://deepai.org/machine-learning-glossary-and-terms/backpropagation|عنوان=Build with AI {{!}} DeepAI|بازبینی=2018-10-24}}</ref> اگر ورودی ما <math>x</math> باشد و خروجی <math>y</math> و خروجی شبکه عصبی ما <math>h_W(x)</math>، هدف پیدا کردن انتخاب <math>W</math> است به قسمی که برای تمام دادهها <math>y</math>و <math>h_W(x)</math> به هم خیلی نزدیک شوند. به عبارت دیگر هدف کوچک کردن یک [[تابع
<math>Q(W) = \sum_{i=1}^n l\left(h_W(x_i),\,\,y_i\right)</math>
خط ۳۳:
به عنوان مثال اگر مسئله رگرسیون است برای <math>l</math> میتوانیم خطای مربعات را در نظر بگیریم و اگر مسئله دستهبندی است برای <math>l</math> میشود منفی لگاریتم بازنمایی را استفاده کرد.
برای بدست آوردن کمینه <math>Q(W)</math> باید از روش [[گرادیان کاهشی]] استفاده کرد، به این معنی که گرادیان تابع را حساب کرده، کمی در خلاف جهت آن حرکت کرده و این کار را آنقدر ادامه داد تا [[تابع
حال فرض کنیم می خواهیم گرادیان تابع <math>Q(W)</math> را نسبت به وزن <math>w_{pc}</math>بدست بیاوریم. برای این کار نیاز به [[قاعده زنجیری]] در مشتق گیری داریم. قاعده زنجیری به این شکل کار می کند: اگر تابعی داشته باشیم به اسم <math>f</math> که وابسته به سه ورودی <math>u</math>، <math>v</math> و <math>w</math> باشد و هرکدام از این سه ورودی به نوبه خود وابسته به <math>t</math> باشند، مشتق <math>f</math> به <math>t</math> به این شکل محاسبه می شود:
|