تیم برنامهنویسی پیاستور
هزینه سفارش:
۲۵۶,۰۰۰ تومان قیمت اصلی: ۲۵۶,۰۰۰ تومان بود.۱۰۴,۰۰۰ تومانقیمت فعلی: ۱۰۴,۰۰۰ تومان.
تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.
شبکه عصبی مصنوعی یا Artificial Neural Network – ANN یک مدل محاسباتی الهامگرفته از ساختار شبکههای عصبی زیستی است. این مدل از تعداد زیادی واحد پردازشی به نام نورون تشکیل میشود که با یکدیگر ارتباط دارند و اطلاعات را پردازش میکنند.
در یک شبکه عصبی، دادهها از لایه ورودی وارد شده، از لایههای میانی عبور میکنند و در نهایت از لایه خروجی نتیجه تولید میشود.
اجزای اصلی یک شبکه عصبی شامل موارد زیر هستند:
در مسئلههای دستهبندی، شبکه عصبی با دریافت ویژگیهای ورودی تلاش میکند نمونهها را در کلاس مناسب قرار دهد.
یادگیری در شبکه عصبی، به فرآیند تنظیم مقادیر وزنها و بایاسها گفته میشود. هدف از آموزش، یافتن پارامترهایی است که خروجی شبکه تا حد امکان به پاسخ واقعی نزدیک شود.
در روشهای رایج، وزنهای شبکه با الگوریتمهایی مانند موارد زیر بهروزرسانی میشوند:
با این حال، در برخی مسائل میتوان بهجای روشهای مرسوم یا در کنار آنها، از الگوریتمهای فراابتکاری استفاده کرد. الگوریتمهای فراابتکاری به جستوجوی مناسب در فضای جواب کمک میکنند و میتوانند برای یافتن مقادیر مناسب وزنها و بایاسهای شبکه مورد استفاده قرار گیرند.
الگوریتم رقابت استعماری یا Imperialist Competitive Algorithm – ICA یکی از الگوریتمهای فراابتکاری و تکاملی است که از فرایند استعمار، جذب مستعمرات، رقابت بین امپراتوریها و سقوط امپراتوریهای ضعیف الهام گرفته است.
در این الگوریتم، هر جواب کاندید بهعنوان یک کشور در نظر گرفته میشود. کشورهایی که جواب بهتری دارند، نقش استعمارگر را میگیرند و سایر کشورها بهعنوان مستعمره به امپراتوریهای مختلف اختصاص داده میشوند.
مفاهیم مهم در ICA عبارتاند از:
در این پروژه، هر کشور میتواند نمایانگر مجموعهای از وزنها و بایاسهای شبکه عصبی باشد. سپس الگوریتم ICA تلاش میکند با رقابت و بهینهسازی تدریجی، بهترین مقادیر پارامترهای شبکه را پیدا کند.
در سورسکد حاضر، الگوریتم رقابت استعماری برای تعیین مقادیر مناسب وزن یالها و بایاسهای شبکه عصبی استفاده شده است.
روند کلی اجرای پروژه به شکل زیر است:
در کد پروژه، تعداد نورونهای لایه پنهان بر اساس تعداد ورودیها تعیین شده است:
NumOfHiddens = 2 * NumOfInputs + 1;
همچنین، دادهها به دو بخش آموزش و آزمون تقسیم میشوند. در این پیادهسازی، حدود ۷۰ درصد دادهها برای آموزش و باقیمانده برای آزمون مدل استفاده میشود:
TrPercent = 70;
این تقسیمبندی کمک میکند عملکرد شبکه تنها بر مبنای دادههای آموزش ارزیابی نشود و بتوان توانایی آن را در دادههای دیدهنشده نیز بررسی کرد.
برای بررسی عملکرد شبکه عصبی آموزشدیده با الگوریتم رقابت استعماری، از مجموعهداده سرطان سینه استفاده شده است.
ویژگیهای این دیتاست شامل شاخصهایی مانند موارد زیر هستند:
دادهها پیش از ورود به شبکه نرمالسازی میشوند تا دامنه مقادیر ورودی کنترل شده و فرآیند آموزش با پایداری بیشتری انجام شود.
این مجموعهداده صرفاً برای ارزیابی الگوریتم در یک مسئله دستهبندی استفاده شده است. این سورسکد ابزار تشخیص پزشکی نیست و نباید مبنای تصمیمگیری درمانی یا پزشکی قرار گیرد.
در ابتدای برنامه، محیط متلب پاکسازی شده و پارامترهای اصلی الگوریتم تعریف میشوند:
%% 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,:);
فراخوانی تابع آموزش شبکه با الگوریتم ICA:
%% Network Training
[NetworkP, BestCostP, BestChartP] = TrainUsingICA_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 میزان اختلاف میان خروجی واقعی و خروجی پیشبینیشده شبکه را نشان میدهد. هرچه این مقدار کمتر باشد، خروجی شبکه به دادههای واقعی نزدیکتر است.

در پروژه، مقدار MSE برای دادههای آموزش و دادههای آزمون محاسبه میشود.
ماتریس اغتشاش برای بررسی عملکرد مدل دستهبندی استفاده میشود. این ماتریس نشان میدهد چه تعداد نمونه بهدرستی و چه تعداد بهاشتباه در کلاسهای مختلف قرار گرفتهاند.

[c, cm, ind, per] = confusion(Yts', YtsNetP');
figure
plotconfusion(Yts', YtsNetP');
نمودار ROC یکی از معیارهای مهم بررسی کیفیت مدلهای طبقهبندی است و رابطه میان نرخ تشخیص صحیح و نرخ خطا را در آستانههای متفاوت نشان میدهد.

سورس کد آموزش شبکه عصبی با الگوریتم رقابت استعماری ICA در متلب عنوان اثری است که در این پست به آن پرداخته شده است. اثر در نرم افزار متلب نوشته شده و برای تعیین مقادیر وزنی یالها و بایاسها شبکه عصبی با الگوریتم رقابت استعماری میباشد. این سورس کد بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است و دارای نشان تضمین کیفیت پی استور میباشد. برای دانلود اثر مذکور آن را خریداری کنید.
figure
plotroc(Yts', YtsNetP');
نمودار همگرایی، روند تغییر بهترین مقدار خطا در تکرارهای مختلف الگوریتم رقابت استعماری را نمایش میدهد.
figure
grid on;
plot(BestChartP, 'r', 'LineWidth', 2);
title('Train MSE');
این نمودار نشان میدهد که الگوریتم ICA در طول تکرارها چگونه به سمت جوابهای بهتر و کمینهسازی خطا حرکت میکند.
مهمترین ویژگیها و قابلیتهای این محصول عبارتاند از:
برای اجرای این سورسکد به موارد زیر نیاز دارید:
IOdataTrainUsingICA_Fcn
پیش از اجرا، اطمینان حاصل کنید که فایلهای داده و توابع موردنیاز در مسیر جاری MATLAB یا MATLAB Path قرار گرفته باشند.
این سورسکد به شما کمک میکند مفهوم بهینهسازی وزنهای شبکه عصبی با یک الگوریتم فراابتکاری را بهصورت عملی بررسی کنید.
پروژه برای درسهای هوش مصنوعی، شبکههای عصبی، محاسبات تکاملی، الگوریتمهای فراابتکاری، یادگیری ماشین و متلب کاربرد دارد.
ساختار پروژه قابل تغییر است و میتوانید با جایگزینی دیتاست، اصلاح تابع هزینه یا تغییر پارامترهای الگوریتم، آن را برای مسائل دستهبندی دیگر توسعه دهید.
وجود MSE، ماتریس اغتشاش، نمودار ROC و نمودار همگرایی، امکان بررسی بهتر نتیجه آموزش شبکه را فراهم میکند.
این سورسکد میتواند با قابلیتهای زیر توسعه داده شود:
این محصول برای افراد زیر مناسب است:
سورس کد آموزش شبکه عصبی با الگوریتم رقابت استعماری ICA در متلب پروژهای در زمینه ترکیب شبکههای عصبی مصنوعی و الگوریتمهای فراابتکاری است. در این سورسکد، وزنها و بایاسهای شبکه عصبی با استفاده از الگوریتم ICA تعیین و بهینهسازی میشوند.
برای ارزیابی عملکرد مدل، از دیتاست سرطان سینه استفاده شده و خروجیهایی مانند خطای MSE، ماتریس Confusion، نمودار ROC و نمودار همگرایی الگوریتم ارائه میشود.
این سورسکد توسط گروه فنی پشتیبانی پیاستور تست و اجرا شده و دارای نشان تضمین کیفیت پیاستور است.
این پروژه در نرمافزار MATLAB نوشته شده و اجرا میشود.
الگوریتم رقابت استعماری برای یافتن مقادیر مناسب وزنها و بایاسهای شبکه عصبی استفاده میشود تا خطای آموزش کاهش یابد.
بله. پروژه شامل یک شبکه عصبی مصنوعی است که پارامترهای آن با الگوریتم رقابت استعماری بهینهسازی میشوند.
برای آزمایش عملکرد مدل، از دیتاست سرطان سینه استفاده شده است.
مقدار خطای MSE برای دادههای آموزش و آزمون، ماتریس اغتشاش، نمودار ROC و نمودار همگرایی الگوریتم ICA از خروجیهای پروژه هستند.
بله. این محصول برای درسهای شبکه عصبی، هوش مصنوعی، الگوریتمهای فراابتکاری، یادگیری ماشین و پروژههای دانشگاهی مناسب است.
بله. با تنظیم ورودیها، خروجیها و متناسبسازی بخش پیشپردازش داده، میتوان از دیتاستهای دیگر نیز استفاده کرد.
برای مشاهده ویدیوی هر بخش، روی عنوان آن کلیک کنید.
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
اطلاعات و جزئیات کامل این محصول
جهت تسلط عمیقتر و تکمیل مهارتهای خود، یادگیری این سرفصلها پیشنهاد میشود.
هزینه سفارش:
۲۵۶,۰۰۰ تومان قیمت اصلی: ۲۵۶,۰۰۰ تومان بود.۱۰۴,۰۰۰ تومانقیمت فعلی: ۱۰۴,۰۰۰ تومان.
دیدگاهها و نظرات
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.