مقاله و پایان نامه

مقاله و پایان نامه
آیا میدانید تمامی فایل های این سایت قبل از انتشار تست و بررسی می شود؟

ads
تماس با ما
shakhes
وی داک

در صورتی که در روند خرید مشکل دارید با ایمیل زیر در تماس باشد
info@vdoc.ir

  • slider1
  • slider2
ارشد هوش مصنوعی : شبکه عصبی مقایسه MLP/RBF با تابع Ackley به همراه پیاده سازی متلب

 

این برنامه برای تخمین تابع sin(x) با شبکه RBF است

close all;clear;clc;

 

در این بخش رنج ورودی تعیین می شود. هر رنجی که در اینجا تعیین شده باید تا انتهای برنامه رعایت شود. مثلا اینکه شبکه را با x های بین (0,2π) ترین کنیم و بعد برای تست از x های خارج این محدوده استفاده کنیم اشتباه است.

%% Set inputs range

xmin = 0;

xmax = 2*pi;

 

دراین بخش ورودی و خروجی تعریف می شوند. خروجی این قسمت داده های بدون نویز هستند.

%% without noise

x = linspace(xmin,xmax,20);

y = sin(x);

 

بخش زیر در حالت عادی در برنامه کامنت شده.

————————

دراین قسمت ورودی و خروجی واقعی (نویزی) و مدل تعریف می شوند. عدد 20 نشان دهنده تعداد نمونه ها برای ترین شبکه است. هرچه تعداد نمونه ها بیشتر باشد، شبکه بعد از ترین جواب دقیق تری خواهد داد.

%% with noise

x1 = linspace(xmin,xmax,20);

خروجی مدل

y1 = sin(x1);   % model;

 

دو خط زیر برای افزایش تعداد نمونه های ورودی (حول نمونه های ورودی مدل) هستند. در صورتیکه بخواهیم دقیقا از نمونه های مدل استفاده کنیم خط سوم (x = x1;) را انکامنت می کنیم

x = [x1,x1,x1,x1,x1,x1];

x = x + randn(size(x))*.1;

% x = x1;

تشکیل خروجی نویزی

y = sin(x) + randn(size(x))*.1;

plot(x1,y1,’r’,’linewidth’,3),hold on,plot(x,y,’.’)

legend(‘Model’,’Noisy data’)

————————

تعریف ورودی و خروجی برای اعمال به شبکه

%% Input & Target

inputs = x;

targets = y;

ایجاد شبکه RBF

%% Create a RBF Network

goal = 0.000; %Mean squared error goal (default = 0.0)

spread = 1; % Spread of radial basis functions (default = 1.0)

حداکثر تعداد نورون ها

MN = 1000; %Maximum number of neurons

DF = 100;   %Number of neurons to add between displays (default = 25)

تشکیل و ترین شبکه

net = newrb(inputs,targets,goal,spread,MN,DF);

با اجرای دستور زیر شبکه تشکیل شده نمایش داده می شود

view(net)

با اینکه در این مثال حداکثر تعداد نرون ها 1000 در نظر گرفته شده (MN = 1000 ) اما با تعداد 120 نرون شبکه به مقادیر مناسب تعیین شده رسیده است.

 

بعد از ترین شبکه نوبت تست شبکه است.

در این بخش ورودی های تست (xtest) و خروجی مورد نظر یا هدف (ytest) تشکیل می شوند و خروجی شبکه به ورودی ها (output) به دست می آید

%% Test RBF Network

xtest = linspace(xmin,xmax,17);

ytest = sin(xtest);

output = net(xtest);

 

 

در این قسمت مقدار مقادیر میانگین مربعات خطاو جمع مربعات خطا محاسبه شده و در محیط Command window چاپ میشوند (تا 4 رقم اعشار)

%% Compute error

mse_err = mse(ytest,output);

fprintf(‘Mean Squared Error of test data is %.4f \n’,mse_err)

sse_err = sse(ytest,output);

fprintf(‘Sum of Squared Error of test data is %.4f \n’,sse_err)

و در نهایت خروجی هدف و خروجی شبکه روی نمودار ترسیم می شوند

%% Plot result

figure

plot(xtest,ytest,’-*r’);hold on;

plot(xtest,output,’–+’);

xlim([xmin,xmax])

legend(‘Target’,’Output’)

 

 

 

سینوس بدون نویز، حداکثر تعداد نرون 5

تعداد داده های ترین = 20 نمونه

تعداد نرون های شبکه = 5

MN = 5; %Maximum number of neurons

 

 

NEWRB, neurons = 0, MSE = 0.475

Mean Squared Error of test data is 0.0022

Sum of Squared Error of test data is 0.0373

 

 

سینوس بدون نویز، حداکثر تعداد نرون 8

تعداد داده های ترین = 20 نمونه

تعداد نرون های شبکه = 8

 

MN = 8; %Maximum number of neurons

 

 

NEWRB, neurons = 0, MSE = 0.475

Mean Squared Error of test data is 0.0000

Sum of Squared Error of test data is 0.0002

 

مشاهده می شود که با 8 نرون، خطای داده های تست بسیار ناچیز است.

حال ترین شبکه را با استفاده از داده های نویزی تکرار می کنیم

 

سینوس نویزی حداکثر تعداد نرون 8

تعداد داده های ترین = 20*6 = 120 نمونه

تعداد نرون های شبکه = 8

 

مدل و داده های نویزی

 

پاسخ شبکه به داده های تست

 

NEWRB, neurons = 0, MSE = 0.469927

Mean Squared Error of test data is 0.0014

Sum of Squared Error of test data is 0.0232

 

حال ماکسیمم تعداد نرون را افزایش می دهیم:

و شعاع تابع را نیز به 3 افزلیش می دهیم

 

سینوس بدون نویز، حداکثر تعداد نرون 30

تعداد داده های ترین = 20*6 = 120 نمونه

تعداد نرون های شبکه = 30

 

spread = 3;   % Spread of radial basis functions (default = 1.0)

MN = 30;         % Maximum number of neurons

 

 

 

NEWRB, neurons = 0, MSE = 0.490364

NEWRB, neurons = 10, MSE = 0.00977572

NEWRB, neurons = 20, MSE = 0.0095738

NEWRB, neurons = 30, MSE = 0.00957236

Mean Squared Error of test data is 0.0008

Sum of Squared Error of test data is 0.0139

 

 

تاثیر داده های ترین بیشتر:

سینوس بدون نویز، حداکثر تعداد نرون30

تعداد داده های ترین = 50*6 = 300 نمونه

تعداد نرون های شبکه = 30

RIAL 450,000 – خرید

متن کامل را می توانید دانلود نمائید چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه) ولی در فایل دانلودی متن کامل پایان نامه همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند موجود است