آموزش ریاضیات با استفاده از شبکههای عصبی
میخواهیم برنامهای بسازیم تا به کامپیوتر بیاموزد که خروجی یک عبارت ریاضی را بدون دانستن فرمول دقیق پیش بینی کند.
عبارت مقابل را در نظر بگیرید: (a + b) * 2
این عملیات برای دو ورودی a و b یک خروجی مجزا خواهد داشت.
هدف ما ایجاد برنامهای است که خروجی و ورودیهای داده شده را بدون اطلاع از فرمول ذکر شده، پیش بینی کند.
برای این کار از شبکههای عصبی استفاده خواهیم کرد.
شبکههای عصبی ، مانند مغز واقعی ، از "سلولهای عصبی" متصل تشکیل شدهاند، همه سلول ها قادر به انجام یک کار مربوط به دادهها هستند، برای سادهتر کردن این مسئله ، ما فقط یک نورون واحد را با دو ورودی و یک خروجی مدل میکنیم.
به این چهار مثال اول، مجموعه آموزشی گفته میشود:
ورودیها : اول(۲، ۳)، دوم(۱، ۱)، سوم(۵، ۲)، چهارم(۱۲، ۳)
خروجیها: اول(۱۰)، دوم(۴)، سوم(۱۴)، چهارم(۳۰)
ما قصد داریم نورون را به نحوی آموزش دهیم تا بتواند الگوی موجود را حل کند و بتواند ورودیهای سفارشی را فقط با داشتن مجموعه تمرین و بدون دانستن فرمول واقعی حل کند.
آموزش
ما به هر ورودی وزن میدهیم که میتواند یک عدد مثبت یا منفی باشد. مقدار بالای وزن ورودی مثبت یا وزن ورودی منفی تأثیر زیادی بر روی خروجی نورون دارد. قبل از شروع، هر وزن را بر روی یک عدد تصادفی قرار میدهیم. سپس فرایند آموزش را شروع میکنیم:
1. ورودیها را از مجموعه تمرین بگیرید، آنها را با وزنه ها تنظیم کنید و آنها را برای محاسبه بازده نورون از یک فرمول ویژه عبور دهید.
2. خطا را محاسبه کنید، که این تفاوت بین خروجی نورون و خروجی مورد نظر در مثال مجموعه تمرین است.
3. بسته به جهت خطا ، وزنه ها را تنظیم کنید.
4- این روند را 10،000 بار تکرار کنید.
سرانجام وزن نورون برای این مجموعه تمرینی، به بهینه ترین مقدار خواهد رسید. به این فرآیند پس انتشار گفته میشود.
برای رسیدن به فرمول، مقدار وزنی را از ورودیها میگیریم:
input = weight1 * input1 + weight2 * input2
بعد از هر تکرار ، ما باید وزن را بر اساس خطا تنظیم کنیم (تفاوت خروجی محاسبه شده و خروجی واقعی). ما برای هر وزن از این فرمول استفاده میکنیم:
تنظیم = ورودی * خطا * 0.01
این فرمول باعث میشود تنظیم متناسب با اندازه خطا باشد. بعد از هر تنظیم اندازه خطا باید کوچکتر و کوچکتر شود.
بعد از 10،000 دفعه تکرار ، ما وزن بهینه خواهیم داشت و سپس میتوانیم ورودیهای مورد نظر خود را به برنامه ارائه دهیم. این برنامه از وزنه ها استفاده میکند و خروجی را با استفاده از همان مقدار وزنی مشابه در بالا محاسبه میکند.