
سلام به نام خداوند بخشنده مهربان سجاد عابدی طامه هستم
خوب حالا باید انواع شبکه های عصبی رو بسازی
ما دو نوع شبکه عصبی داریم
1:feed forward
2:feed back
که به نام شبکه عصبی جلو رونده و شبکه عصبی عقب رونده هست
به صورت کلی بیشتر افراد فکر می کنند که شبکه عصبی عقب رونده خیلی بهتر از شبکه عصبی جلو ورنده هست
اما نه !!
بستگی به کاربرد شبکه عصبی داره
و شبکه های عصبی feed backحجم بسیار زیادی را اشغال می کنند چون هر نرون یک حافظه برای ذخیره اطلاعات قبلیش دارد
و هیچ وقت جواب پایداری نداره
چون مثلا مقدار ورودی شبکه عصبی 1 و 0 و 1
,و جواب می شود 1
اما دفعه ی بعد می شود 0.5
و یا دفعه بعد می شود 0.7
و زیاد جالب نیست !!
اما اما دقت شبکه feed back بهتر از feed forward
پس ما نمی سازیمش چون من بلد نیستم
چون پست یکم مقدارش بیشتر بشه ساخت دیتاسیت برای نرون رو یاد می دیم

خوب به سرعت شروع به کد نویسی می کنیم
اول کد های جلسه ی اول رو باز کنید
اگر آدرس جلسه ی اول رو ندارید
برای رفتن به جلسه ی اول بر روی این نوشته کلیک کنید
برای رفتن به جلسه ی دوم بر روی این نوشته کلیک کنید
و برای دانلود pybrain بر روی این قسمت کلیک کنید
برای نصب Visual Studio codeبر روی نوشته کلیک کنید
این هم که جلسه سوم و چهارم است
بعد این کد ها رو وارد کنید تا توضیح بدم
مثلا ما می خواهیم یک شبکه بنویسیم که بیاد از 4 تا ورودی 3 تا خروجی و 25 تا نرون در لایه پنهان داشته باشه
و باید یک دیتاست بنویسیم که چهار تا عدد و 3 تا عدد در خروجی داشته باشه
from pybrain.tools.shortcuts import buildNetwork
from pybrain.datasets import SequentialDataSet
robot = buildNetwork( 4 , 25 , 3)
bn = SequentialDataSet(4,3)
در خط اول امدیم ابزار ساخت شبکه رو وارد کردیم
و در خط دوم امدیم ابزار ساخت دیتاست رو وارد کردیم
و در قسمت سوم امدیم یک شبکه عصبی به نام ربات ساختیم که 4 تا در لایه ورودی 25 تا در لایه پنهان و 3 تا در لایه خروجی نرون داریم
خوب حالا باید داده هارو اضافه کنیم با کد
bn.addSample((1,0,0,0),(1,0,0))
bn.addSample((0.6,0,0,0),(1,0,0))
bn.addSample((0.7,0,0,0),(1,0,0))
bn.addSample((0.8,0,0,0),(1,0,0))
bn.addSample((1,0,0,1),(0,1,0))
bn.addSample((0.6,0,0,0.6),(0,1,0))
bn.addSample((0.7,0,0,0.7),(0,1,0))
bn.addSample((0.8,0,0,0.8),(0,1,0))
bn.addSample((0,1,1,0),(0,0,1))
bn.addSample((0.6,1,1,1),(0,0,1))
bn.addSample((0,1,0,0),(0,0,1))
bn.addSample((0,0,1,0),(0,0,1))
هر کسی دوست داشت می تواند هر داده ی اموزش بنویسد
print(" . . . . .. .. .")
print(bn['input'])
print(" . . . . .. .. .")
print(bn['target'])
print(" . . . . .. .. .")
و ما برای فهمیدن این که واقعا به کتاب خانه اضافه شده یانه رو با این دسته از code متوجه می شویم
وحالا
این کد ها رو کپی کنید و بعد اجرا کنید
from pybrain.tools.shortcuts import buildNetwork from pybrain.datasets import SequentialDataSet robot = buildNetwork( 4 , 25 , 3) bn = SequentialDataSet(4,3) bn.addSample((1,0,0,0),(1,0,0)) bn.addSample((0.6,0,0,0),(1,0,0)) bn.addSample((0.7,0,0,0),(1,0,0)) bn.addSample((0.7,0,0,0),(1,0,0)) bn.addSample((0.8,0,0,0),(1,0,0)) bn.addSample((1,0,0,1),(0,1,0)) bn.addSample((0.6,0,0,0.6),(0,1,0)) bn.addSample((0.7,0,0,0.7),(0,1,0)) bn.addSample((0.8,0,0,0.8),(0,1,0)) bn.addSample((0,1,1,0),(0,0,1)) bn.addSample((0.6,1,1,1),(0,0,1)) bn.addSample((0,1,0,0),(0,0,1)) bn.addSample((0,0,1,0),(0,0,1)) print(" . . . . .. .. .") print(bn['input']) print(" . . . . .. .. .") print(bn['target']) print(" . . . . .. .. .")

یک همچین خروجی داره
خوب تا قسمت بعد خدا نگهدار اگر اشکالی نداره لطفا نظر بدید
و یا برای دیدن بخش ها دنبال کنید و بر روی ایکن کوه بزنید تا تمام قسمت ها را مشاهده کنید