
در این بخش سورس کد تعیین وزن شبکه عصبی با الگوریتم 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 |
قست هایی از سورس کد در متلب
%% 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] = TrainUsingPSO_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 plot(BestChartP,'r'); title('Train MSE');
تصاویر خروجی حاصل از اجرا وزن شبکه عصبی در متلب
ماتریس اغتشاش یا ماتریس Confusion شبکه عصبی با الگوریتم PSO
نمودار همگرایی آموزش شبکه عصبی با الگوریتم PSO بر اساس مینیمم کردن MSE
نمودار ROC شبکه عصبی با الگوریتم PSO
درباره وزن شبکه عصبی با الگوریتم PSO
سورس کد تعیین وزن شبکه عصبی با الگوریتم PSO در متلب عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در نرم افزار متلب نوشته شده و برای تعیین مقادیر وزنی یال ها و بایاس ها شبکه عصبی با الگوریتم PSO می باشد. این سورس کد بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
تاریخ انتشار: | 12 آذر 1399 |
---|---|
تاریخ بروزرسانی: | 14 فروردین 1400 |
حجم فایل: | 5 کیلوبایت |
فرمت فایل | m. در قالب Matlab |
نسخه: | 1.0 |
لایسنس: | ندارد |
هماهنگی با: | Matlab 2009 و بالاتر |
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- دیدگاه های فینگلیش تایید نخواهند شد.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- امتیاز دادن به محصول فقط مخصوص اعضای سایت می باشد.
قیمت 49,000 تومان
این فایل سورس کد تعیین وزن شبکه عصبی با الگوریتم PSO در متلب بصورت zip شده قابل دانلود است. بلافاصله پس از خرید، لینک دانلود محصول در اختیار شما قرار خواهد گرفت.
با خرید این محصول از مزایای زیر بهرهمند میشوید:
- دسترسی به فایل محصول به صورت مادامالعمر
- ۶ ماه پشتیبانی کاملا رایگان و تضمین شده
تاریخ انتشار: | 12 آذر 1399 |
---|---|
تاریخ بروزرسانی: | 14 فروردین 1400 |
حجم فایل: | 5 کیلوبایت |
فرمت فایل | m. در قالب Matlab |
نسخه: | 1.0 |
لایسنس: | ندارد |
هماهنگی با: | Matlab 2009 و بالاتر |
قیمت: 49,000 تومان
امین جلیل زاده
نظرات خود را با ما در میان بگذارید.