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