Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   شبکه های عصبی (Neural Networks) (http://artificial.ir/intelligence/forum10.html)
-   -   آموزش ترکیب شبکه عصبی و الگورتم ژنتیک در متلب همرا با یک مثال(کد و گزارش) (http://artificial.ir/intelligence/thread9825.html)

kiamnasri ۰۷-۱۰-۱۳۹۰ ۱۲:۵۳ بعد از ظهر

آموزش ترکیب شبکه عصبی و الگورتم ژنتیک در متلب همرا با یک مثال(کد و گزارش)
 
1(ها)ضميمه
سلام
دوستان من تو درس یادگیری ماشین یکی از پروژهایی که انجام دادم به نام" دسته بندی تصاویر با استفاده از شبکه عصبی و استفاده از الگوریتم ژنتیک برای یادگیری وزن های شبکه عصبی " بود .
من این پروژه رو در متلب پیاده سازی کردم و گزارش مربوط به پروژه رو طوری نوشتم که قدم به قدم روند آموزش و ترکیب الگوریتم ژنتیک و شبکه عصبی رو بیان کنه. در زیر لینک دانلود گزارش و کد برنامه رو گذاشتم . امیدوارم مطالب مفید باشه

habib2 ۰۹-۲۲-۱۳۹۰ ۰۷:۳۹ بعد از ظهر

سلام آقای نصری...
با تشکر بسیار سپاسگزارم از این فایل آموزشیتون. فقط یک سوال داشتم؟
کد نویسی شما برای یک شبکه دو لایه بود که در لایه مخفیش 2 نرون داشت [1 2] ...
اگر بخوام تو همین لایه (مخفی) از 7 نرون استفاده کنم، کجای تابع زیر را باید تغییر بدم؟
-----------------------------------------------------------------------------------
function Z = ff(x)
load dataset
P=meas(1:120,1:4)';
T=meas(1:120,7)';
[pn,minp,maxp] = premnmx(P);
net=newff([minp,maxp],[2 1],{'tansig','tansig'});
%net=init(net);
net.trainparam.epochs=500;
net.trainparam.goal=0.001;

% x = rand(1,13);
w1(1,1:4)=x(1:4);
w1(2,1:4)=x(5:8);
w2(1,1:2)=x(9:10);
bb1(1,1)=x(11);
bb1(2,1)=x(12);
net.IW(1,1)={w1};
net.LW(2,1)={w2};
net.b(1)={bb1};
net.b(2)={x(13)};

Y = sim(net,P);
e=T-Y;
mse=sqrt((sum((e.^2),'double'))/120);

% Z=[w1(1,1:4),w1(2,1:4),w2(1,1:2)]

Z=mse;
end
-------------------------------------------------------------------
یا اگر بخوام دو لایه مخفی داشته باشم مثلاً با ساحتار [1 7 7] چطور؟
ممنونم میشم کمکم کنید.....
از دوستان نیز در صورت امکان درخواست کمکم و راهنمایی دارم.... با تشکر

kiamnasri ۱۰-۴-۱۳۹۰ ۰۱:۲۹ بعد از ظهر

سلام دوست عزیز
خواهش میکنم. در مورد سوالتون باید بگم در صورتی که از 7 نرون در لایه پنهان استفاده کنید طول کروموزم به شدت افزایش پیدا میکنه. اگه بخوایم حساب کنیم تعداد وزن های لایه ورودی 28=7*4 و 7 تا بایاس برای لایه پنهان و در لایه خروجی 7 تا وزن و یک بایاس داریم که در مجموع تعداد ژن ها در کروموزم برابر 43 تا میشه. اما تو برنامه این تغییرات رو باید اعمال کنی



function Z = ff(x)

load dataset
P=meas(1:120,1:4)';
T=meas(1:120,7)';

[pn,minp,maxp] = premnmx(P);
net=newff([minp,maxp],[7 1],{'tansig','tansig'});
%net=init(net);

net.trainparam.epochs=500;
net.trainparam.goal=0.001;

%---------------
w1(1,1:4)=x(1:4);
w1(2,1:4)=x(5:8);
w1(3,1:4)=x(9:12);
w1(4,1:4)=x(13:16);
w1(5,1:4)=x(17:20);
w1(6,1:4)=x(21:24);
w1(7,1:4)=x(25:28);

w2(1,1:7)=x(29:35);

bb1(1,1)=x(36);
bb1(2,1)=x(37);
bb1(3,1)=x(38);
bb1(4,1)=x(39);
bb1(5,1)=x(40);
bb1(6,1)=x(41);
bb1(7,1)=x(42);
%----------------
net.IW(1,1)={w1};
net.LW(2,1)={w2};
net.b(1)={bb1};
net.b(2)={x(43)};

Y = sim(net,P);
e=T-Y;
mse=sqrt((sum((e.^2),'double'))/120);
Z=mse;

end


و تو برنامه اصلی هم باید تغییرات زیر رو اعمال کنی


clc;
clear;
%-------------------------------
options_me = gaoptimset(@ga);
options_me.PopulationSize=10;
options_me.EliteCount=2;
options_me.CrossoverFraction=0.8000;
options_me.MigrationFraction=0.2000;
options_me.Generations=10;
options_me.StallGenLimit=20;

LB=-512;
UB=512;
[x ffitness]=ga(@ff,43,[],[],[],[],LB,UB,[],options_me);
options = gaoptimset(@ga)
%-------------------------------------------------------------
load dataset
P=meas(1:120,1:4)';
T=meas(1:120,7)';

[pn,minp,maxp] = premnmx(P);
net=newff([minp,maxp],[7 1],{'tansig','tansig'});

%net=init(net);
%---------------
w1(1,1:4)=x(1:4);
w1(2,1:4)=x(5:8);
w1(3,1:4)=x(9:12);
w1(4,1:4)=x(13:16);
w1(5,1:4)=x(17:20);
w1(6,1:4)=x(21:24);
w1(7,1:4)=x(25:28);

w2(1,1:7)=x(29:35);

bb1(1,1)=x(36);
bb1(2,1)=x(37);
bb1(3,1)=x(38);
bb1(4,1)=x(39);
bb1(5,1)=x(40);
bb1(6,1)=x(41);
bb1(7,1)=x(42);
%----------------

net.IW(1,1)={w1};
net.LW(2,1)={w2};
net.b(1)={bb1};
net.b(2)={x(43)};

net.trainparam.epochs=2000;
net.trainparam.goal=0.008;

net=train(net,P,T);

Y=sim(net,P);

subplot(2,1,1);
plot(1:120,T,'+',1:120,Y,'o');
axis([0 121 -1 2]);
title('Train');
xlabel('number of sample');
ylabel('output');
legend('target','Output');
%------------------------------------------------------------------
P1=meas(121:150,1:4)';
T1=meas(121:150,7)';
Y1=sim(net,P1);

subplot(2,1,2);
plot(1:30,T1,'+',1:30,Y1,'o');
axis([0 31 -1 2]);
title('Test');
xlabel('number of sample');
ylabel('output');
legend('target','Output');



masoud1368 ۱۰-۱۴-۱۳۹۰ ۰۵:۴۷ بعد از ظهر

ممنون kiam جان
ایمیلتون رو دریافت کردم
سوالاتم رو می توانم از طریق ایمیل باهاتون در میان بگذارم ؟

armanir ۱۰-۲۳-۱۳۹۰ ۰۵:۳۰ قبل از ظهر

نقل قول:

نوشته اصلي بوسيله kiamnasri (پست 20297)
سلام
دوستان من تو درس یادگیری ماشین یکی از پروژهایی که انجام دادم به نام" دسته بندی تصاویر با استفاده از شبکه عصبی و استفاده از الگوریتم ژنتیک برای یادگیری وزن های شبکه عصبی " بود .
من این پروژه رو در متلب پیاده سازی کردم و گزارش مربوط به پروژه رو طوری نوشتم که قدم به قدم روند آموزش و ترکیب الگوریتم ژنتیک و شبکه عصبی رو بیان کنه. در زیر لینک دانلود گزارش و کد برنامه رو گذاشتم . امیدوارم مطالب مفید باشه

سلام دوست عزیز
من ب کمکت واقعن نیاز دارم
دارم روی ی مقاله کار میکنم با حدوده ۷۴ سری داده
یک بر داده ها را فقط با شبکه عصبی ران کردم و تقریبا به کارآمدی خوبی رسیدم
مشکل اینجاست که میخام از ژنتیک الگوریتم هم تو این کار استفاده کنم یعنی نمیدونم اصلان چجوری باید ازش استفاده کنم
اگر مایل ب همکاری هستی لطفآ بهم mail بزن

saeidasgari ۱۰-۲۸-۱۳۹۰ ۰۶:۳۶ بعد از ظهر

سلام اقا کیام لطف میکنی ایمیل یا شمارتو واسم بفرستی؟ irna147@yahoo

moosavi_my1 ۱۰-۲۹-۱۳۹۰ ۰۸:۳۲ بعد از ظهر

سلام دوست عزیز
من هم دنبال الگوریتم هایی برای مقایسه ی ژنتیک دو نمونه میگردم.اگه در این زمینه اطلاعاتی دارین لطفا در اختیارم قرار بدید.ممنونم.اقای نصیری از اطلاعات مفیدتون خیلی ممنوم .

mahshidmr64 ۱۱-۱۰-۱۳۹۰ ۱۰:۲۲ بعد از ظهر

سلام خوبین لطف می کنین این پروژه تون رو واسه منم بفرستین عنوانش این بود :دسته بندی تصاویر با استفاده از شبکه عصبی و استفاده از الگوریتم ژنتیک برای یادگیری وزن های شبکه عصبی
واقعا ممنون می شم mahshid_mr64@yahoo.com

mahshidmr64 ۱۱-۱۰-۱۳۹۰ ۱۰:۲۸ بعد از ظهر

سلام دوست عزیز راستش من یک مقاله دارم در مورد face detection که باید تا آخر بهمن اونو پیاده سازی کنم با مطلب ولی متاسفانه خیلی آشنا نیستم . خواهش می کنم راهنماییم کنید. مقاله چندان سخت نیست ولی نمی دونم که برای پیاده سازی یک مقاله باید از کجا شروع کنم؟خواهش می کنم کمکم کنید mahshid_mr64@yahoo.com

kiamnasri ۱۱-۱۲-۱۳۹۰ ۱۰:۱۶ قبل از ظهر

سلام
مرسی من خوبم . لینک دانلود پروژه رو تو صفحه اول گذاشتم!
اما من واستون میل میکنم.
لطف کند مقاله‎ تونو واسم میل کنید.
kiamnasri@gmail.com


زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۱۲:۳۹ بعد از ظهر ميباشد.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.