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

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   شبکه های عصبی (Neural Networks) (http://artificial.ir/intelligence/forum10.html)
-   -   راهنمایی در مورد نوع شبکه (http://artificial.ir/intelligence/thread14814.html)

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

راهنمایی در مورد نوع شبکه
 
سلام من یک کد شبکه عصبی دارم که میخوام تغییراتی تو اون ایجاد کنم. این تغییرات شامل نوع شبکه، تعداد لایه ها، تابع های یادگیری، آموزش و انتقال میباشد.(در ضمن کد هر نوع شبکه را پیدا کنم منظورم اینه اگه بخوام شبکه را پرسپترون بگزارم کد اون چیه ) از آنجاییکه مبتدی هستم و کدنویسی در متلب را بلد نیستم میخواستم بنده را راهنمایی کنید. کدی که من دارم در زیر آوردمش:
clc
clear
close all
%% Data Loading
X = xlsread('model.xlsx');


Y = xlsread('istgah.xlsx');

DataNum = size(X,1);
InputNum = size(X,2);
OutputNum = size(Y,2);

%% Normalization
MinX = min(X);
MaxX = max(X);
% MinX = [1 .5 50 .4 2 .5];
% MaxX = [100 7 600 .8 15 2];

MinY = min(Y);
MaxY = max(Y);

XN = X;
YN = Y;

for ii = 1:InputNum
XN(:,ii) = Normalize_Fcn(X(:,ii),MinX(ii),MaxX(ii));
end

for ii = 1:OutputNum
YN(:,ii) = Normalize_Fcn(Y(:,ii),MinY(ii),MaxY(ii));
end

%% Test and Train Data
TrPercent = 80;
TrNum = round(DataNum * TrPercent / 100);
TsNum = DataNum - TrNum;

R = randperm(DataNum);
trIndex = R(1 : TrNum);
tsIndex = R(1+TrNum : end);

Xtr = XN(trIndex,:);
Ytr = YN(trIndex,:);
Xtr1 = X(trIndex,:);
Ytr1 = Y(trIndex,:);

Xts = XN(tsIndex,:);
Yts = YN(tsIndex,:);
Xts1 = X(tsIndex,:);
Yts1 = Y(tsIndex,:);

%% Network Structure
pr = [-1 1];
PR = repmat(pr,InputNum,1);

Network = newff(PR,[6 OutputNum],{'tansig' 'tansig' 'tansig'});

%% Training
Network = train(Network,Xtr',Ytr');
% save('Network.mat','Network');
% load Network1
%% Assesment
YtrNet = sim(Network,Xtr')';
YtsNet = sim(Network,Xts')';

Min = min(Y);
Max = max(Y);
MinX = -1;
MaxX = 1;

YtrNet = (YtrNet - MinX) / (MaxX - MinX)* (Max-Min) + Min;
YtsNet = (YtsNet - MinX) / (MaxX - MinX)* (Max-Min) + Min;
Ytr = (Ytr - MinX) / (MaxX - MinX)* (Max-Min) + Min;
Yts = (Yts - MinX) / (MaxX - MinX)* (Max-Min) + Min;


format short
MinX = min(YtrNet);
MaxX = max(YtrNet);
O = (YtrNet - MinX) / (MaxX - MinX) * (max(Ytr1) - min(Ytr1)) + min(Ytr1);
clc
diary('OutputTrain.txt')
disp([Xtr1 O]);
disp('-------------------------');
diary off
clc

MinX = min(YtsNet);
MaxX = max(YtsNet);
O = (YtsNet - MinX) / (MaxX - MinX) * (max(Yts1) - min(Yts1)) + min(Yts1);
diary('OutputTest.txt')
disp([Xts1 O]);
disp('-------------------------');
diary off
clc

MSEtr = mse(YtrNet - Ytr)
MSEts = mse(YtsNet - Yts)[/LEFT]
ممنون میشم از دوستان که من را راهنمایی کنن


زمان محلي شما با تنظيم 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.