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

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

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

شبکه‌های عصبی

جهت حرکت‌ها سیگنال‌ها همواره از سمت لایه‌ی ورودی به‌سوی لایه‌ی خروجی است برای دسته‌بندی یک نمونه تستی، وزن کلمه‌ها برای واحدهای ورودی تعیین می‌شود و فعال کردن این واحدها از طریق لایه‌های مختلف روبه‌جلو در شبکه انجام می‌شود و مقدار واحد خروجی به‌عنوان یک نتیجه در تصمیم‌گیری دسته‌ها تعیین می‌شود. شبکه های عصبی مصنوعی، سیستم های محاسباتی هستند که توسط شبکه‌های عصبی زیستی الهام گرفته شده اند که مغز حیوانات را تشکیل می دهند. منظور از يادگيري در شبکه‌های عصبی، تنظيم وزن ها و باياس هاي شبكه مي باشد. بر اين اساس الگوريتم هاي متفاوتي بيان شده، كه معمول ترين آنها یادگيري هب، دلتا، يادگيري رقابتي و … می باشد.

الگوریتم PSO

الگوریتم PSO یا Particle swarm optimization بهینه سازی ازدحام ذرات یک روش بهینه سازی تصادفی مبتنی بر جمعیت است که الهام گرفته از رفتار اجتماعی ازدحام پرندگان و پرورش ماهی است. الگوریتم PSO شباهت زیادی با تکنیک های محاسباتی تکاملی مانند الگوریتم ژنتیک GA دارد. این سیستم با جمع آوری راه حل های تصادفی و جستجو برای بهینه سازی با به روز رسانی نسل ها آغاز می شود. با این حال، بر خلاف GA الگوریتم PSO هیچ اپراتور تکاملی مانند CrossOver و جهش ندارد. در PSO، راه حل های بالقوه، ذرات نامیده می شوند که از طریق فضای مشکل با دنبال کردن ذرات بهینه مطلوب پرواز می کنند. اطلاعات دقیق در بخش های زیر داده می شود. در مقایسه با الگوریتم ژنتیک، الگوریتم PSO آسان است و چند پارامتر برای تنظیم آن وجود دارد. این الگوریتم در بسیاری از زمینه ها به طور موفقیت آمیزی مورد استفاده قرار گرفته است: بهینه سازی عملکرد، آموزش شبکه های عصبی مصنوعی، کنترل سیستم فازی و سایر زمینه ها می تواند استفاده شود.

تعیین وزن شبکه عصبی با الگوریتم PSO

همانطور که قبلاً هم اشاره شد برای تعیین وزن یال ها و بایاس ها در شبکه های عصبی می توان از الگوریتم های فرا ابتکاری استفاده کرد. از این رو در این سورس کد تعیین وزن بایاس ها و یال ها با استفاده از الگوریتم PSO انجام پذیرفته است. برای تعیین میزان عملکرد برنامه ذکر شده از دیتاست سرطان سینه استفاده شده است که در ادامه این دیتاست تشریح شده است.

دیتاست مورد استفاده در این سورس کد

به عنوان یک نمونه دیتاست مورداستفاده مجموعه داده بیماران سرطان سینه موجود در مخزن داده‌ی یادگیری ماشین دانشگاه ارواین، ایالت کالیفرنیا آمریکا (University of California at Irvine) است مثال زده می شود. در این دیتاست ویژگی ها شامل ریسک فاکتورهای ضخامت انبوه، یکنواختی اندازه سلول، یکنواختی شکل سلول، چسبندگی لبه‌ها، حجم سلول بافت اپیتلیال، هسته‌های عریان، کروماتین بلاند، هسته عادی و تقسیم هسته سلول به دو قسمت می‌باشد که در ایالت ویسکانسین ایالات‌متحده جمع‌آوری‌شده است. جدول زیر نشان‌دهنده این مجموعه از داده است.

Domain Attribute #
id number code number 1
1 – 10 Clump Thickness 2
1 – 10 Uniformity of Cell Size 3
1 – 10 Uniformity of Cell Shape 4
1 – 10 Marginal Adhesion 5
1 – 10 Single Epithelial Cell Size 6
1 – 10 Bare Nuclei 7
1 – 10 Bland Chromatin 8
1 – 10 Normal Nucleoli 9
1 – 10 Mitoses 10
2 for benign, 4 for malignant Class 11

قست هایی از سورس کد در متلب

تصاویر خروجی حاصل از اجرا

وزن شبکه عصبی با الگوریتم PSO

وزن شبکه عصبی با الگوریتم PSO

وزن شبکه عصبی با الگوریتم PSO

درباره محصول

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

1 دیدگاه برای تعیین وزن شبکه عصبی با الگوریتم PSO در متلب

  1. امین جلیل زاده

    نظرات خود را با ما در میان بگذارید.

دیدگاه خود را بنویسید

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