MATLAB BP 神經網路中的MIV演算法學習

2021-09-16 22:37:31 字數 2009 閱讀 2181

clear;

close all;

clc%輸入輸出資料

data = load('data.txt');

p=data(1:end,1:end-1)';%輸入資料

t=data(1:end,end)';  %輸出資料

[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t)

% %變數篩選miv演算法初步實現

p = p';

[m,n] = size(p);  %輸入資料p的size

yy_temp = p;

%p_increase為增加10%的矩陣

for i = 1:n

p = yy_temp;

px = p(:,i);

pa = px*1.1;

p(:,i) = pa;

aa = ['p_increase' int2str(i) '=p'];

eval(aa);

end%p_decrease為減少10%的矩陣

for i = 1:n

p = yy_temp;

px = p(:,i);

pa = px*0.9;

p(:,i) = pa;

aa = ['p_decrease' int2str(i) '=p'];

eval(aa);

end% %利用原始函式訓練乙個正確的神經網路

nntwarn off;

p = p';

%bp網路建立

net = newff(minmax(p),[20,1],,'trainlm');

%初始化bp網路

net = init(net);

%網路訓練引數設定

net.trainparam.show = 5;

%net.trainparam.lr = 0.05;

%net.trainparam.mc = 0.9;

net.trainparam.epochs = 300;

net.trainparam.goal = 1e-5;

[net,tr] = train(net,p,t);

% %變數篩選miv演算法的後續實現(差值計算)

%轉置後sim

for i = 1:n

eval(['p_increase',num2str(i),'=transpose(p_increase',num2str(i),')'])

endfor i = 1:n

eval(['p_decrease',num2str(i),'=transpose(p_decrease',num2str(i),')'])

end%result_in為增加10%後的輸出 result_de為減少10%後的輸出

for i = 1:n

eval(['result_in',num2str(i),'=sim(net,','p_increase',num2str(i),')'])

endfor i = 1:n

eval(['result_de',num2str(i),'=sim(net,','p_decrease',num2str(i),')'])

endfor i = 1:n

eval(['p_increase',num2str(i),'=transpose(result_in',num2str(i),')'])

endfor i = 1:n

eval(['p_decrease',num2str(i),'=transpose(result_de',num2str(i),')'])

end% %miv_n的值為各個項網路輸出的miv值,miv被認為是在神經網路中評價變數相關的最好指標之一,其符號代表相關的方向...

%絕對值大小代表影響的重要性

for i = 1:n

iv = ['result_in',num2str(i),'-result_de',num2str(i)];

eval(['miv_',num2str(i),'=mean(',iv,')'])

end****:qq1277430842

matlab BP神經網路 newff

net newff p,t,s 這兩種定義都可以 net newff p,t,s,tf,btf,blf,pf,ipf,opf,ddf p 輸入引數矩陣。rxq1 其中q1代表r元的輸入向量。其資料意義是矩陣p有q1列,每一列都是乙個樣本,而每個樣本有r個屬性 特徵 一般矩陣p需要歸一化,即p的每一行...

Matlab BP神經網路,用於分類

bp神經網路,即向後傳播演算法。clear p1,p2是訓練資料 p1 1.24,1.27 1.36,1.74 1.38,1.64 1.38,1.82 1.38,1.90 1.40,1.70 1.48,1.82 1.54,1.82 1.56,2.08 p2 1.14,1.82 1.18,1.96 1...

matlab bp神經網路的簡單小例子

因為要寫 做實驗,所以自己研究了一些關於神經網路的演算法,用matlab做的一些小測試,使用的是 matlab神經網路43個案例分析 這本書,感覺還不錯,分享一下。使用每行的前4個資料 第5個資料的值。資源位址 讀取資料,讀取之前必須先加入到matlab中去xlsfile ceshi.xlsx 組織...