مثال های شبکه عصبی (۳) تقسیم بندی داده های قابل تفکیک خطی با پرسپترون

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

در مثال حاظر نحوه جداسازی یک سری داده قابل تفکیک خطی (linearly separable) را مرور می کنیم.

دو خوشه از اطلاعات متعلق به دو کلاس یا نوع مختلف در اختیار داریم که به صورت ورودی هایی در فضای دو بعدی تعریف شده اند. کلاس ها با یک خط مستقیم قابل حداسازی از هم می باشند. هدف ما ساخت یک پرسپترون به منظور حداسازی (classification) داده ها است.

در مرخله اول داده های ورودی و خروحی (کلاس) را تعریف می کنیم.

که نمودار آنها بصورت زیر خواهد بود.

fig1-define-input-and-output-data

همانطور که مشاهده میکنید دو سری داده با کلاس های مختلف با o و + نشان داده شده اند.

حال پرسپترون را تعریف کرده و آموزش میدهیم.

که نمایش آن به این شکل است

fig2-create-and-train-perceptron

و در آخر خط یا مرز جداساز (decision boundary) را رسم میکنیم.

که نبیجه به این شکل خواهد بود.

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

 

پاسخ دهید

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