مثال های شبکه عصبی (۴) جداسازی داده ها در ۴ خوشه مختلف با پرسپترون

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

در مثال قبل (۳) نحوه تفکیک داده ها در دو کلاس توضیح داده شد.

در اینجا داده ها در ۴ کلاس یا خوشه مختلف قرار دارند. به منظور ایجاد چنین داده هایی، ۲ ورودی و دو خروحی برای داده ها در نظر گرفته شده که خروجی ها شامل ۴ حالت (کلاس) مختلف هستند.

ابتدا به تعریف داده ها میپردازیم.

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

fig1-define-input-and-output-data

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

و با تعریف پرسپترون :

همه چیز برای آموزش آماده است.

خروجی تابع ADAPT آبجکت یک شبکه جدید است که میتواند برای طبقه بندی نتایح بهتری ارائه داده و خطای کمتری داشته باشد. حلقه استفاده شده در هر بار اجرا شبکه بهتری را آموزش داده، خطا را محاسبه کرده و خطوط جدا ساز را مرتبا رسم مینماید و این کار را ادامه داده تا خطا به صفر رسیده یا به تعداد کافی تکرار شود.

و در نهایت در آخرین احرای حلقه while حاصل بصورت زیر خواهد بود.

fig2-train-a-perceptron

و همینطور نمودار پرسپترون:

fig3-train-a-perceptron

اما برای استفاده از پرسپترون آموزش دیده برای میتوان مختصات (ورودی ها) را به آن داد و خروجی (کلاس) را دریافت کرد.

مقادیر حاصل ۰٫۷۰۰۰ و ۱٫۲۰۰۰ را با مقادیر خروجی واقعی ۱ و ۱ مقایسه کنید. مقادیر خروجی برای ۴ کلاس مختلف ۰ یا ۱ هستند که در دو خروجی ۴ ترکیب متفائت برای کلاس های مختلف ایجاد می کنند.

از این مثال میتوانید برای کلاس یندی داده های مختلف استفاده کنید. میتوانید با تغییرات و آزمودن حالتهای مختلف توانایی خود را در کاربرد این روش پرورش دهید.

پاسخ دهید

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