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

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

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

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

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

آموزش شبکه عصبی با الگوریتم رقابت استعماری ICA در متلب

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

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

به عنوان یک نمونه دیتاست مورداستفاده مجموعه داده بیماران سرطان سینه موجود در مخزن داده‌ی یادگیری ماشین دانشگاه ارواین، ایالت کالیفرنیا آمریکا (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

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

تصاویر خروجی

آموزش شبکه عصبی با الگوریتم رقابت استعماری

آموزش شبکه عصبی با الگوریتم رقابت استعماری

آموزش شبکه عصبی با الگوریتم رقابت استعماری

ویدئوی نحوه اجرا

درباره محصول

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

1 دیدگاه برای آموزش شبکه عصبی با الگوریتم رقابت استعماری ICA در متلب

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

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

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

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