سلام من یک کد شبکه عصبی دارم که میخوام تغییراتی تو اون ایجاد کنم. این تغییرات شامل نوع شبکه، تعداد لایه ها، تابع های یادگیری، آموزش و انتقال میباشد.(در ضمن کد هر نوع شبکه را پیدا کنم منظورم اینه اگه بخوام شبکه را پرسپترون بگزارم کد اون چیه ) از آنجاییکه مبتدی هستم و کدنویسی در متلب را بلد نیستم میخواستم بنده را راهنمایی کنید. کدی که من دارم در زیر آوردمش:
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]
ممنون میشم از دوستان که من را راهنمایی کنن