آموزش جعبه ابزار شبکه عصبی در MATLAB با مثال

 

در این پست یک جزوه آموزشی مفید در خصوص آموزش جعبه ابزار شبکه عصبی در MATLAB برای دانلود شما قرار گرفته است. جزوه حاضر به شرح ساختار و اجزای یک شبکه عصبی و نحوه پیاده سازی آن در محیط نرم افزار MATLAB، با تکیه بر شبکه‌های عصبی پرسپترون چند لایه (MLP) پرداخته است . در پایان نیز نحوه به کارگیری شبکه عصبی مذکور با ارائه یک مثال مربوط به طبقه بندی اطلاعات بازار بورس توصیف گردیده است.

 

آشنایی با شبکه‌های عصبی زیستی

معرفی شبکه‌های عصبی مصنوعی (ANNها)

مبانی شبکه‌های عصبی مصنوعی

توپولوژی شبکه

نرم افزارهای شبکه‌های عصبی

مقایسه ی مدل سازی کلاسیک و مدل سازی شبکه ی عصبی

فرآیند یادگیری شبکه

تجزیه و تحلیل داده‌ها توسط شبکه‌های عصبی مصنوعی

ایده ی اصلی شبکه‌های عصبی مصنوعی

مهم ترین تفاوت حافظه ی انسان و حافظه ی کامپیوتر

شبکه‌های عصبی در مقابل کامپیوترهای معمولی

معایب شبکه‌های عصبی مصنوعی

کاربردهای شبکه‌های عصبی مصنوعی

 


آشنایی با شبکه‌های عصبی  زیستی

این شبکه‌ها مجموعه ای بسیار عظیم از پردازشگرهایی موازی به نام نورون اند که به صورت هماهنگ برای حل مسئله عمل می‌کنند و توسط سیناپس‌ها(ارتباط‌های الکترومغناطیسی)اطلاعات را منتقل می‌کنند.در این شبکه‌ها اگر یک سلول آسیب ببیند بقیه ی سلولها می‌توانند نبود آنرا جبران کرده و نیز در بازسازی آن سهیم باشند.

این شبکه‌ها قادر به یادگیری اند.مثلا با اعمال سوزش به سلولهای عصبی لامسه، سلولها یاد می‌گیرند که به طرف جسم داغ نروند و با این الگوریتم سیستم می‌آموزد که خطای خود را اصلاح کند.back propagation of error))

یادگیری در این سیستم‌ها به صورت تطبیقی صورت می‌گیرد، یعنی با استفاده ازمثال‌ها وزن سیناپس‌ها به گونه ای تغییر می‌کند که در صورت دادن ورودی‌های جدید سیستم پاسخ درستی تولید کند.


معرفی ANN‌ها

یک سیستم پردازشی داده‌ها که از مغز انسان ایده گرفته و پردازش داده‌ها را به عهده ی پردازنده‌های کوچک و بسیار زیادی سپرده که به صورت شبکه ای به هم پیوسته و موازی با یکدیگر رفتار می‌کنند تا یک مسئله را حل کنند.

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

در این حافظه یا شبکه ی عصبی node  ها دارای دو حالت فعال(on  یا 1) وغیرفعال(   offیا 0) اند و هر یال (سیناپس یا ارتباط  بین node  ها)دارای یک وزن می‌باشد.یالهای با وزن مثبت ،موجب تحریک یا فعال کردن node غیر فعال بعدی می‌شوند و یالهای با وزن منفی node متصل بعدی را غیر فعال یا مهار(در صورتی که فعال بوده باشد) می‌کنند.

 


 

به طور خلاصه یک شبکه عصبی باید خصوصیات زیر را داشته باشد:

بتواند الگوها را طبقه بندی کند.

به اندازه کافی کوچک باشد تا از نظر فیزیکی واقع گرایانه باشد.

با به کار گیری آموزش، قابل برنامه ریزی باشد و قدرت یادگیری داشته باشد. یعنی توانایی تنظیم پارامترهای شبکه ( اوزان سیناپتیکی )، در مسیر زمان که محیط شبکه تغییر می‌کند و شبکه وارد شرایط جدیدی می‌شود. هدف از این کار این است که اگر شبکه برای یک وضعیت خاص آموزش دید و تغییر کوچکی در شرایط محیطی شبکه رخ داد، شبکه بتواند با آموزش مختصر، برای شرایط جدید نیز کارآمد باشد.    دیگر این که اطلاعات در شبکه‌های عصبی در سیناپس‌ها ذخیره و هر نرون در شبکه به صورت بالقوه از کل فعالیت سایر نرون‌ها تأثیر می‌پذیرد. در نتیجه اطلاعات از نوع مجزا از هم نبوده و متأثر از کل شبکه می‌باشد.

توانایی تعمیم را با استفاده از مثال‌های ارائه شده در فرآیند آموزش، داشته باشد.


نرم افزارهای شبکه‌های عصبی

نرم افزارهایی برای شبیه سازی ،مطالعه و تحقیق سیستمهای عصبی زیستی و گسترش شبکه‌های عصبی مصنوعی وAdaptive system‌ها .

  شبیه سازها: نرم افزارهایی برای شبیه سازی رفتار شبکه‌های عصبی زیستی و مصنوعی که به صورت مستقل عمل می‌کنند و قادرند فرآیند آموزش شبکه ی عصبی را به شکل تصویری نمایش دهند.

  شبیه سازهای تحقیقاتی :برای مطالعه ی الگوریتم‌ها و ساختارهای شبکه ی عصبی که   به فهم بهتر رفتارها و خصوصیات شبکه ی عصبی کمک می‌کنند.(مطالعه ی ویژگی  ‌های شیمیایی و زیستی بافتهای عصبی و پالس‌های الکترومغناطیسی بین نورونها).

رایجترین شبیه سازهای ANN‌ها :

SNNS(stuttgart neural network simulator),PDP++(parallel distribution processing),JavaNNS

رایجترین شبیه سازهای شبکه‌های زیستی:

XNBC,BNN ToolBox

 

 شبیه سازهای آنالیز داده :علی رغم دسته ی اول ،کاربردهای عملی شبکه‌های عصبی را مطالعه میکنند.استفا ده از آنها نسبتا ساده است در عوض تواناییهاشان محدود است . بر روی Data miningوپیش بینی‌ها کار می‌کنند.

بعضی از آنها عبارتند از:

Microsoft Excel,Matlab

Development Environment‌ها:برای گسترش  و آرایش شبکه‌های عصبی به کار می‌روند.

رایج ترین نرم افزارهای این دسته عبارتند از:

MathWorks NN ToolBox,GBlearn2


توپولوژی شبکه

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

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

FeedForward topology

Recurrent topology


 

مقایسه ی مدل سازی کلاسیک و مدل سازی شبکه ی عصبی

مدل سازی کلاسیک:

این مدل از نخستین قدم خطای بزرگی مرتکب می‌شود که فقط در سیستمهای ساده (خطی یا نزدیک به خطی )قابل صرفنظر است و آن محاسبه ی شاخصهای تمایل به مرکز و پراکندگی است که به این ترتیب راهمیت فردی تک تک داده‌ها از بین می‌رود و در نتیجه سیستم قادر به کشف پیچیدگی‌ها نخواهد بود.

مدل سازی شبکه ی عصبی :

در این مدل هر یک از کانالهای ورودی دارای یک ضریب عددی هستند که وزن سیناپسی نامیده می‌شود.شدت تحریک الکتریکی در این ضریب ضرب می‌شود و به جسم سلولی می‌رسد.

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


فرآیند یادگیری شبکه

وظیفه ی شبکه‌های عصبی یادگیری است.تقریبا چیزی شبیه به یادگیری کودک خردسال.

انواع آموزش شبکه:

یادگیری تحت نظارت(یا supervised ) : با تمرکز روی یک موضوع خاص و ارائه ی  مثالهای مختلفی از آن صورت می‌گیرد .شبکه اطلاعات ورودی و مثال‌ها را تجزیه و تحلیل خواهد کرد به طوری که پس از مدتی قادر خواهد بود یک نوع جدید از آن دسته مثال‌ها را که قبلا هرگز ندیده بود شناسایی کند.

یادگیری بدون نظارت(یا unsupervised ) :یادگیری سطح بالاتری است که کاربرد آن امروزه کمتر است.

یادگیری تقویتی(یا  reinforcement):

مدل پنهانی مارکوف(MDP):اجزای اصلی یک مدل مارکوف عبارتند از :مجموعه ی   حالتها،مجموعه ی عملها،گذرها،ارزش افزوده ی فوری هر عمل


مهم ترین تفاوت حافظه ی انسان و حافظه ی کامپیوتر

يكی از مهم‌ترين تفاوت‌های حافظه انسان با حافظه كامپيوتر در نوع آدرس دهی اين دو نوع حافظه می‌باشد. در حافظه كامپيوتر اساس كار بر پايه آدرس خانه‌های حافظه يا آدرس اطلاعات بر روی حافظه دائم می‌باشد. به عنوان مثال برای دستيابی به يك تصوير يا متن خاص، بايد آدرس حافظه يا فايل مربوط به آن تصوير يا متن را داشته باشيد. اما با داشتن خودتصوير يا متن نمی‌توانيد به سادگی آدرس حافظه مربوطه را بيابيد (البته به اين معنی كه اين كار با يك قدم قابل انجام نيست، وگرنه می‌توانيد تصوير يا متن مورد نظر را با تمام موارد موجود در حافظه مقايسه كرده و در صورت تطبيق آدرس را بيابيد. ناگفته پيداست كه انجام چنين كاری بسيار زمان بر و پر هزينه می‌باشد).

اما به سازوكار همين عمل در ذهن انسان دقت كنيد. با ديدن يك تصوير ناقص اغلب بلافاصله كامل آنرا به خاطر می‌آوريد يا با ديدن تصوير يك شخص سريعا نام او را می‌گوييد، يا با خواندن يك متن سريعا تمامی‌مطالب مربوط به آن را به ذهن می‌آوريد. در واقع ذهن انسان يك نوع حافظه آدرس‌دهی شده بر اساس محتواست (Content Addressable Memory). همانگونه كه از اين نام مشخص است در اين نوع حافظه، با دادن محتوای يك خانه حافظه، بلافاصله آدرس آن به عنوان خروجی داده می‌شود.


 

 

 

دانلود فايل

 


 

یک فیلم آموزشی جامع از شبکه‌های عصبی تهیه شده است که با کلیک بر روی عکس زیر می‌توانید آنرا سفارش دهید.

این فیلم آموزشی حاصل چندین سال تجربه ما در برنامه نویسی متلب شبکه‌های عصبی می‌باشد.

دانشجویان زیادی از سراسر ایران تقاضای تدریس شبکه‌های عصبی در متلب MATLAB را داشتند اما ما به دلیل دوری راه و نداشتن زمان خالی نمی‌توانستیم به این نیاز انها پاسخ درستی بدهیم. لذا ما تصمیم گرفتیم که یک فیلم آموزشی کامل برای شبکه‌های عصبی مصنوعی تهیه کنیم که تمامی‌مطالب کلاس خصوصی شبکه عصبی را شامل شود. این فیلم آموزشی هم اکنون آماده سفارش است که می‌توانید با کلیک بر روی تصویر زیر آنرا سفارش دهید.

 

 

 

 

 

 

Artifical Neural Network tutorial introduction training movie MATLAB programming for Artifical Neural Network tutorial training movie
MATLAB price prediction for Neural Network tutorial training movie MATLAB classification for Neural Network tutorial training movie
MATLAB times series prediction for Neural Network tutorial training movie MATLAB face detection Neural Network tutorial training movie
MATLAB advanced setting Neural Network tutorial training movie

2 نظر در “آموزش جعبه ابزار شبکه عصبی در MATLAB با مثال”

پیام بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

+ twenty eight = thirty four