برنامهنویس:
هزینه سفارش:
۲۸۰,۰۰۰ تومان قیمت اصلی: ۲۸۰,۰۰۰ تومان بود.۱۱۲,۰۰۰ تومانقیمت فعلی: ۱۱۲,۰۰۰ تومان.
تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.
شبکه عصبی مصنوعی یا Artificial Neural Network – ANN یک مدل محاسباتی الهامگرفته از شبکه عصبی زیستی است. این شبکه از مجموعهای از عناصر پردازشی به نام نورون تشکیل میشود که از طریق ارتباطات وزندار با یکدیگر در ارتباط هستند.
یک شبکه عصبی معمولاً از بخشهای زیر تشکیل میشود:
در شبکههای عصبی پیشخور، سیگنالها از لایه ورودی به سمت لایه خروجی حرکت میکنند. شبکه با استفاده از دادههای آموزشی، رابطه میان ورودیها و خروجی هدف را یاد میگیرد و سپس میتواند نمونههای جدید را دستهبندی یا پیشبینی کند.
یادگیری در شبکه عصبی به معنای تنظیم وزنها و بایاسها با هدف کاهش خطای پیشبینی است. روشهای مختلفی برای آموزش شبکههای عصبی وجود دارد، از جمله:
در این پروژه، الگوریتم WOA بهعنوان یک روش جستوجوی هوشمند برای تعیین وزنها و بایاسهای مناسب شبکه عصبی استفاده میشود. هر جواب کاندید در الگوریتم میتواند بیانگر مجموعهای از پارامترهای شبکه باشد و کیفیت آن بر اساس خطای حاصل از شبکه ارزیابی میشود.
الگوریتم بهینهسازی نهنگ یا Whale Optimization Algorithm – WOA یکی از الگوریتمهای فراابتکاری مبتنی بر جمعیت است که از رفتار اجتماعی و روش شکار نهنگهای گوژپشت الهام گرفته شده است.
این الگوریتم در سال ۲۰۱۶ توسط Seyedali Mirjalili معرفی شد و از رفتار معروف نهنگهای گوژپشت هنگام شکار، یعنی روش Bubble-Net Feeding یا تغذیه به روش تور حبابی، الهام میگیرد.
الگوریتم WOA برای حل مسائل بهینهسازی، فرایندهای زیر را شبیهسازی میکند:
در این الگوریتم، هر نهنگ یک جواب احتمالی برای مسئله محسوب میشود. بهترین نهنگ، بهترین جواب فعلی را نمایش میدهد و سایر نهنگها با توجه به موقعیت آن، جایگاه خود را بهروزرسانی میکنند.
در این سورسکد، هر جواب الگوریتم WOA شامل مقادیر پیشنهادی برای وزنها و بایاسهای شبکه عصبی است. الگوریتم با بررسی خطای شبکه در هر تکرار، به سمت جوابهای بهتر حرکت میکند.
مراحل اجرای پروژه به شکل زیر است:
IOdataبرای آزمایش و بررسی عملکرد شبکه عصبی، از دیتاست سرطان سینه ویسکانسین استفاده شده است. این مجموعهداده یکی از دیتاستهای شناختهشده در مسائل دستهبندی یادگیری ماشین است.
ویژگیهای دیتاست عبارتاند از:
| ردیف | نام ویژگی | محدوده یا توضیح |
|---|---|---|
| ۱ | Code Number | شماره شناسایی نمونه |
| ۲ | Clump Thickness | ضخامت توده، از ۱ تا ۱۰ |
| ۳ | Uniformity of Cell Size | یکنواختی اندازه سلول، از ۱ تا ۱۰ |
| ۴ | Uniformity of Cell Shape | یکنواختی شکل سلول، از ۱ تا ۱۰ |
| ۵ | Marginal Adhesion | چسبندگی حاشیهای، از ۱ تا ۱۰ |
| ۶ | Single Epithelial Cell Size | اندازه سلول اپیتلیال، از ۱ تا ۱۰ |
| ۷ | Bare Nuclei | هستههای عریان، از ۱ تا ۱۰ |
| ۸ | Bland Chromatin | کروماتین بلاند، از ۱ تا ۱۰ |
| ۹ | Normal Nucleoli | هستههای طبیعی، از ۱ تا ۱۰ |
| ۱۰ | Mitoses | تقسیم هسته سلول، از ۱ تا ۱۰ |
| ۱۱ | Class | ۲ برای خوشخیم و ۴ برای بدخیم |
در این پروژه، دادهها پیش از ورود به شبکه عصبی نرمالسازی میشوند. همچنین دادهها به دو بخش آموزش و آزمون تقسیم شدهاند.
این دیتاست و سورسکد صرفاً برای اهداف آموزشی و پژوهشی استفاده میشوند و ابزار تشخیص پزشکی یا جایگزین نظر پزشک نیستند.
%% Start of Program
clc
clear
close all
warning off;
N = 40;
max_it = 100;
Vmax = 0.5;
Vmin = -0.5;
در این قسمت:
N تعداد نهنگها یا اندازه جمعیت را مشخص میکند.max_it تعداد تکرارهای الگوریتم WOA است.Vmax و Vmin محدوده جستوجوی پارامترها را تعیین میکنند.%% 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);
نرمالسازی باعث میشود مقادیر ویژگیها در محدوده مناسبتری قرار بگیرند و فرایند آموزش شبکه و جستوجوی الگوریتم WOA پایدارتر انجام شود.
%% 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,:);
در این پروژه، حدود ۷۰ درصد دادهها برای آموزش و ۳۰ درصد باقیمانده برای ارزیابی عملکرد شبکه استفاده میشوند.
تعداد نورونهای لایه پنهان نیز با رابطه زیر تعیین شده است:
NumOfHiddens = 2 * NumOfInputs + 1;
%% Network Training
[NetworkP, BestCostP, BestChartP] = TrainUsingWOA_Fcn( ...
Xtr, Ytr, N, max_it, NumOfInputs, ...
NumOfHiddens, NumOfOutputs, Vmax, Vmin);
تابع TrainUsingWOA_Fcn وظیفه اجرای الگوریتم وال و تولید شبکه عصبی با بهترین وزنها و بایاسهای بهدستآمده را بر عهده دارد.
%% Simulation and MSE
YtrNetP = sim(NetworkP, Xtr')';
YtsNetP = sim(NetworkP, Xts')';
MSEtrP = mse(Ytr - YtrNetP)
MSEtsP = mse(Yts - YtsNetP)
در این بخش، شبکه آموزشدیده روی دادههای آموزش و آزمون اجرا میشود و مقدار خطای میانگین مربعات برای هر دو مجموعه محاسبه میگردد.
پس از اجرای سورسکد، میتوان نتایج زیر را مشاهده کرد:
ماتریس اغتشاش یا Confusion Matrix تعداد پیشبینیهای صحیح و نادرست شبکه را در هر کلاس نمایش میدهد.
نمودار همگرایی، روند تغییر بهترین مقدار تابع هزینه یا MSE را در تکرارهای مختلف الگوریتم WOA نشان میدهد.
نمونه کد رسم نمودار همگرایی:
figure;
grid on;
plot(BestChartP, 'r', 'LineWidth', 2);
title('Train MSE');
xlabel('Iteration');
ylabel('MSE');
نمودار ROC برای بررسی عملکرد شبکه در آستانههای مختلف دستهبندی استفاده میشود و امکان ارزیابی بهتر مدل را فراهم میکند.
مقدار MSEtrP خطای شبکه روی دادههای آموزش و مقدار MSEtsP خطای شبکه روی دادههای آزمون را نشان میدهد.



مهمترین ویژگیهای این پروژه عبارتاند از:
برای اجرای پروژه مراحل زیر را دنبال کنید:
IOdata.mat در مسیر پروژه قرار دارد.TrainUsingWOA_Fcn.m
تمامی فایلهای موردنیاز پروژه باید در یک مسیر قرار داشته باشند یا مسیر آنها به MATLAB Path اضافه شده باشد.
برای اجرای این سورسکد به موارد زیر نیاز دارید:
IOdata.matTrainUsingWOA_Fcn.mاین پروژه در موضوعات زیر قابل استفاده است:
برای توسعه بیشتر سورسکد میتوان امکانات زیر را به آن اضافه کرد:
این پروژه برای گروههای زیر پیشنهاد میشود:
سورس کد آموزش شبکه عصبی با الگوریتم وال WOA در متلب پروژهای آموزشی و کاربردی برای تعیین و بهینهسازی وزنها و بایاسهای شبکه عصبی با استفاده از الگوریتم نهنگ است.
در این پروژه از دیتاست سرطان سینه برای بررسی عملکرد مدل استفاده شده و نتایجی مانند مقدار خطای MSE، نمودار همگرایی، ماتریس اغتشاش و نمودار ROC ارائه میشود.
این سورسکد توسط گروه فنی پشتیبانی پیاستور تست و اجرا شده و دارای نشان تضمین کیفیت پیاستور است.
WOA مخفف Whale Optimization Algorithm و به معنای الگوریتم بهینهسازی نهنگ است. این الگوریتم از رفتار شکار نهنگهای گوژپشت الهام گرفته شده است.
الگوریتم WOA برای یافتن وزنها و بایاسهای مناسب شبکه عصبی استفاده میشود تا خطای مدل کاهش پیدا کند.
سورسکد با نرمافزار MATLAB اجرا میشود.
در این پروژه از دیتاست سرطان سینه ویسکانسین برای یک مسئله دستهبندی استفاده شده است.
خروجیهای پروژه شامل خطای MSE، نمودار همگرایی، ماتریس اغتشاش و نمودار ROC است.
بله. پروژه برای درسهای هوش مصنوعی، شبکه عصبی، یادگیری ماشین، الگوریتمهای فراابتکاری و برنامهنویسی MATLAB مناسب است.
بله. با هماهنگکردن تعداد ورودیها، خروجیها و قالب دادهها میتوان پروژه را برای دیتاستهای دیگر نیز توسعه داد.
| نام اثر: | آموزش شبکه عصبی با الگوریتم وال WOA در متلب |
| نوع اثر: | سورس کد |
| برنامهنویس: | تیم برنامهنویسی پیاستور |
| زبان برنامه نویسی: | MATLAB |
| ویژگی: | قابل دانلود و ویرایش |

تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
هزینه سفارش:
۲۸۰,۰۰۰ تومان قیمت اصلی: ۲۸۰,۰۰۰ تومان بود.۱۱۲,۰۰۰ تومانقیمت فعلی: ۱۱۲,۰۰۰ تومان.
نظرات
زهرا عبادی
خیلی عالی بود. معلوم هست با این همه مطالب در مورد الگوریتم های فرا ابتکاری و شبکه عصبی که در سایت قرار داره بصورت تخصصی روی موضوعات کار میشه. تشکر از شما
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.