برنامهنویس:
هزینه سفارش:
۲۸۰,۰۰۰ تومان قیمت اصلی: ۲۸۰,۰۰۰ تومان بود.۱۱۲,۰۰۰ تومانقیمت فعلی: ۱۱۲,۰۰۰ تومان.
تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.
شبکه عصبی مصنوعی یا Artificial Neural Network – ANN یک مدل محاسباتی الهامگرفته از ساختار شبکههای عصبی زیستی است. این شبکه از تعدادی عنصر پردازشی به نام نورون تشکیل میشود که با ارتباطات وزندار به یکدیگر متصل هستند.
ساختار معمول شبکه عصبی شامل بخشهای زیر است:
در یک شبکه عصبی پیشخور، سیگنالها از لایه ورودی به سمت لایه خروجی حرکت میکنند. شبکه با دریافت نمونههای آموزشی، رابطه میان ویژگیهای ورودی و خروجی هدف را یاد میگیرد و سپس برای نمونههای جدید پیشبینی انجام میدهد.
یادگیری در شبکههای عصبی به معنای تنظیم وزنها و بایاسها است. هدف از این فرایند، کاهش اختلاف میان خروجی واقعی و خروجی تولیدشده توسط شبکه است.
برای آموزش شبکه عصبی روشهای مختلفی وجود دارد؛ از جمله:
در این پروژه، از الگوریتم کلونی مورچگان برای جستوجوی مقادیر مناسب وزنها و بایاسهای شبکه استفاده شده است. در این روش، هر جواب کاندید میتواند مجموعهای از پارامترهای شبکه عصبی را نشان دهد و عملکرد آن بر اساس خطای شبکه ارزیابی شود.
الگوریتم کلونی مورچگان یا Ant Colony Optimization – ACO یکی از الگوریتمهای فراابتکاری است که از رفتار جمعی مورچهها هنگام جستوجوی مسیر مناسب برای رسیدن به غذا الهام گرفته شده است.
مورچهها با حرکت در مسیرهای مختلف، مادهای شیمیایی به نام فرومون روی مسیر باقی میگذارند. مسیرهایی که کیفیت بهتری دارند، بهمرور فرومون بیشتری دریافت میکنند و احتمال انتخاب آنها توسط سایر مورچهها افزایش مییابد.
مفاهیم اصلی الگوریتم ACO عبارتاند از:
در مسائل پیوسته، از نسخههای توسعهیافته الگوریتم مورچگان برای جستوجوی مقادیر عددی استفاده میشود. در این پروژه نیز از ساختار کلونی مورچگان پیوسته برای تعیین وزنها و بایاسهای شبکه عصبی استفاده شده است.
در سورسکد حاضر، الگوریتم مورچگان وظیفه دارد بهترین یا مناسبترین مقادیر وزنها و بایاسهای شبکه عصبی را پیدا کند. عملکرد هر جواب با استفاده از مقدار خطای شبکه، یعنی MSE، ارزیابی میشود.
روند کلی اجرای پروژه بهصورت زیر است:
برای ارزیابی شبکه عصبی آموزشدیده با الگوریتم ACO، از مجموعهداده سرطان سینه استفاده شده است. این دیتاست یکی از مجموعهدادههای شناختهشده در مسائل دستهبندی یادگیری ماشین است.
ویژگیهای موجود در داده شامل موارد زیر هستند:
| ردیف | نام ویژگی | محدوده |
|---|---|---|
| ۱ | 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 | ۲ برای خوشخیم و ۴ برای بدخیم |
در این پروژه، دادهها پیش از ورود به شبکه عصبی نرمالسازی میشوند. همچنین برچسبهای خروجی برای استفاده در فرایند دستهبندی به قالب مناسب تبدیل میشوند.
این دیتاست و سورسکد صرفاً برای اهداف آموزشی و بررسی عملکرد الگوریتم استفاده شدهاند. این پروژه ابزار تشخیص پزشکی نیست و نباید مبنای تصمیمگیری درمانی قرار گیرد.
در ابتدای برنامه، محیط MATLAB پاکسازی شده و پارامترهای اصلی الگوریتم تعریف میشوند:
%% Start of Program
clc
clear
close all
warning off;
N = 40;
max_it = 100;
Vmax = 0.5;
Vmin = -0.5;
در این قسمت:
N تعداد مورچهها یا اندازه جمعیت را مشخص میکند.max_it تعداد تکرارهای الگوریتم است.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);
تقسیم دادهها به مجموعه آموزش و آزمون:
%% 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,:);
فراخوانی تابع آموزش شبکه عصبی با الگوریتم ACO:
%% Network Training
[NetworkP, BestCostP, BestChartP] = TrainUsingACO_Fcn( ...
Xtr, Ytr, N, max_it, NumOfInputs, ...
NumOfHiddens, NumOfOutputs, Vmax, Vmin);
شبیهسازی شبکه و محاسبه خطا:
%% Simulation and MSE
YtrNetP = sim(NetworkP, Xtr')';
YtsNetP = sim(NetworkP, Xts')';
MSEtrP = mse(Ytr - YtrNetP)
MSEtsP = mse(Yts - YtsNetP)
پس از اجرای سورسکد، خروجیهای مختلفی برای ارزیابی شبکه عصبی ارائه میشود.
معیار Mean Squared Error میزان اختلاف میان خروجی واقعی و خروجی پیشبینیشده شبکه را اندازهگیری میکند. هرچه مقدار MSE کمتر باشد، خروجی شبکه به مقدار واقعی نزدیکتر است.
ماتریس اغتشاش برای بررسی عملکرد مدل دستهبندی استفاده میشود. این ماتریس تعداد پیشبینیهای صحیح و نادرست مدل را برای هر کلاس نمایش میدهد.
نمودار ROC عملکرد مدل را در آستانههای مختلف دستهبندی بررسی میکند و برای تحلیل کیفیت مدلهای طبقهبندی کاربرد دارد.
نمودار همگرایی، روند تغییر بهترین مقدار خطا را در تکرارهای مختلف الگوریتم کلونی مورچگان نمایش میدهد. این نمودار کمک میکند روند کاهش خطا و نزدیکشدن الگوریتم به جواب بهتر بررسی شود.



مهمترین ویژگیهای این محصول عبارتاند از:
برای اجرای سورسکد به موارد زیر نیاز دارید:
IOdataTrainUsingACO_Fcnبرای اجرای صحیح، تمامی فایلهای پروژه باید در پوشه جاری MATLAB یا مسیر تعریفشده در MATLAB Path قرار داشته باشند.
این پروژه نحوه استفاده از الگوریتم ACO را در یک مسئله بهینهسازی نشان میدهد و برای یادگیری ساختار الگوریتم کلونی مورچگان مناسب است.
با بررسی سورسکد، میتوانید نحوه استفاده از یک الگوریتم فراابتکاری برای تعیین وزنها و بایاسهای شبکه عصبی را مطالعه کنید.
این سورسکد برای درسها و موضوعات زیر کاربرد دارد:
میتوان ساختار پروژه را برای دادهها و مسائل طبقهبندی دیگر نیز بهکار برد و پارامترهای شبکه یا الگوریتم را تغییر داد.
برای توسعه این پروژه میتوانید قابلیتهای زیر را اضافه کنید:
این محصول برای افراد زیر مناسب است:
سورس کد آموزش شبکه عصبی با الگوریتم مورچه ACO در متلب پروژهای آموزشی در حوزه شبکههای عصبی و الگوریتمهای فراابتکاری است. در این پروژه، وزنها و بایاسهای شبکه عصبی با استفاده از الگوریتم کلونی مورچگان پیوسته تعیین و بهینهسازی میشوند.
برای ارزیابی عملکرد مدل، از دیتاست سرطان سینه استفاده شده و خروجیهایی شامل مقدار MSE، ماتریس اغتشاش، نمودار ROC و نمودار همگرایی الگوریتم ACO ارائه میشود.
این سورسکد توسط گروه فنی پشتیبانی پیاستور تست و اجرا شده و دارای نشان تضمین کیفیت پیاستور است.
پروژه در نرمافزار MATLAB نوشته شده و اجرا میشود.
الگوریتم کلونی مورچگان برای یافتن مقادیر مناسب وزنها و بایاسهای شبکه عصبی بهکار میرود تا خطای مدل کاهش پیدا کند.
بله. در این پروژه یک شبکه عصبی مصنوعی با استفاده از الگوریتم ACO آموزش و بهینهسازی میشود.
برای آزمایش عملکرد شبکه، از دیتاست سرطان سینه استفاده شده است.
خروجیها شامل خطای MSE، ماتریس اغتشاش، نمودار ROC و نمودار همگرایی آموزش شبکه عصبی با الگوریتم مورچگان هستند.
بله. این سورسکد برای پروژههای درس هوش مصنوعی، شبکه عصبی، یادگیری ماشین، الگوریتمهای فراابتکاری و MATLAB مناسب است.
بله. با آمادهسازی دادههای ورودی و خروجی و اصلاح بخش پیشپردازش، میتوان پروژه را برای دیتاستهای دیگر نیز استفاده کرد.
| نام اثر: | آموزش شبکه عصبی با الگوریتم مورچه ACO در متلب |
| نوع اثر: | سورس کد |
| برنامهنویس: | تیم برنامهنویسی پیاستور |
| زبان برنامه نویسی: | متلب |
| ویژگی: | قابل دانلود و ویرایش |

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