
در این بخش سورس کد آموزش شبکه عصبی با الگوریتم رقابت استعماری 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 |
قست هایی از سورس کد در متلب
%% Start of Program clc clear close all warning off; N=40; max_it=100; Vmax=0.5; Vmin=-0.5; %% Input Output Data load IOdata Data = IOdata; X = Data(:,1:end-1); Y = Data(:,end); XN = X; YN = Y; %% Normalization % MinX = min(X); MaxX = max(max(abs(X))); MinY = min(Y); MaxY = max(max(Y)); % % XN=XN/MaxX; YN=floor(YN/MaxY); %% Test and Train Data NumOfInputs = size(X,2); NumOfOutputs = size(Y,2); NumOfData = size(X,1); NumOfHiddens=2*NumOfInputs+1; TrPercent = 70; DataNum = size(X,1); TrNum = round(TrPercent * DataNum/100); R = randperm(DataNum); TrInx = R(1:TrNum); TsInx = R(TrNum+1:end); Xtr = XN(TrInx,:); Ytr = YN(TrInx,:); Xts = XN(TsInx,:); Yts = YN(TsInx,:); %% Network Training [NetworkP ,BestCostP, BestChartP] = TrainUsingICA_Fcn(Xtr,Ytr,N,max_it,NumOfInputs,NumOfHiddens ,NumOfOutputs, Vmax, Vmin); %% sim and mse YtrNetP = sim(NetworkP,Xtr')'; YtsNetP = sim(NetworkP,Xts')'; MSEtrP = mse(Ytr-YtrNetP) MSEtsP = mse(Yts-YtsNetP) [c,cm,ind,per] = confusion(Yts',YtsNetP'); figure plotconfusion(Yts',YtsNetP'); figure plotroc(Yts',YtsNetP'); figure grid on; plot(BestChartP,'r','LineWidth',2); title('Train MSE');
تصاویر خروجی
ماتریس اغتشاش یا ماتریس Confusion شبکه عصبی با الگوریتم ICA
نمودار همگرایی آموزش شبکه عصبی با الگوریتم ICA بر اساس مینیمم کردن MSE
نمودار ROC شبکه عصبی با الگوریتم ICA
ویدئوی نحوه اجرا
درباره آموزش شبکه عصبی با الگوریتم رقابت استعماری
سورس کد آموزش شبکه عصبی با الگوریتم رقابت استعماری ICA در متلب عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در نرم افزار متلب نوشته شده و برای تعیین مقادیر وزنی یال ها و بایاس ها شبکه عصبی با الگوریتم رقابت استعماری می باشد. این سورس کد بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
تاریخ انتشار: | 23 آذر 1399 |
---|---|
تاریخ بروزرسانی: | 10 فوردین 1400 |
حجم فایل: | 10 کیلوبایت |
فرمت فایل | m. در قالب Matlab |
نسخه: | 1.0 |
لایسنس: | ندارد |
هماهنگی با: | Matlab 2009 و بالاتر |
تاکنون 119 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
این فایل سورس کد آموزش شبکه عصبی با الگوریتم رقابت استعماری ICA در متلب و بصورت zip شده قابل دانلود است. بلافاصله پس از خرید، لینک دانلود محصول در اختیار شما قرار خواهد گرفت.
با خرید این محصول از مزایای زیر بهرهمند میشوید:
- دسترسی به فایل محصول به صورت مادامالعمر
- ۶ ماه پشتیبانی کاملا رایگان و تضمین شده
تاریخ انتشار: | 23 آذر 1399 |
---|---|
تاریخ بروزرسانی: | 10 فوردین 1400 |
حجم فایل: | 10 کیلوبایت |
فرمت فایل | m. در قالب Matlab |
نسخه: | 1.0 |
لایسنس: | ندارد |
هماهنگی با: | Matlab 2009 و بالاتر |
قیمت: 49,000 تومان
امین جلیل زاده
نظرات و پیشنهادات خود را با ما در میان بگذارید.