⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guizhou.m

📁 利用主成分分析法对BP神经网络的输入参数进行降维
💻 M
字号:
p_test=[16.099 46.100 2.830 1.459 876.973;
   33.222 45.570 2.820 0.199 1500.960;
   25.143 65.731 2.820 0.630 12.969;
   29.027 49.169 2.840 0.550 100.583;
    12.14 48.589 2.730 -1.000 10707.436;
   44.987 62.429 2.730 1.890 24.952;
   56.633 60.639 2.740 2.790 31.751;
   26.040 59.00 2.710 0.640 36.153]';
T=[1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;
   0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;
   0 0 1;0 0 1;0 0 1;0 0 1;0 0 1;0 0 1;0 0 1]';
p=[16.099 46.100 2.830 1.459 876.973;
   12.983 47.009 2.800 1.140 723.003;
   14.283 44.531 2.860 -0.370 3334.088;
   33.222 45.570 2.820 0.199 1500.960;
   12.102 46.561 2.890 -0.761 82.481;
    29.027 49.169 2.840 0.550 100.583;
    30.273 47.309 2.760 -0.519 1466.006;
    25.143 65.731 2.820 0.630 12.969;
     14.260 48.111 2.730 -1.000 160.198;
    23.768 49.1221 2.730 1.310 499.701;
    23.350 48.219 2.730 -0.859 2956.793;
    25.911 49.839 2.730 -0.819 472.729;
    16.548 48.700 2.720 -1.000 704.558;
     12.14 48.589 2.730 -1.000 10707.436;
      26.040 59.00 2.710 0.640 36.153;
      80.000 63.820 2.720 7.469 219.887;
     54.487 63.871 2.740 6.440 45.212;
    80.000 70.00  2.670 10.010 10.619;
     57.192 65.410 2.720 2.780 30.129;
      44.987 62.429 2.730 1.890 24.952;
    64.010 69.341 2.740 4.090 12.438;
     25.143 65.731 2.820 0.630 12.969  
    ]';
%归一化
for i=1:5
P(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:))); 
end

for i=1:5
P_test(i,:)=(p_test(i,:)-min(p_test(i,:)))/(max(p_test(i,:))-min(p_test(i,:))); 
end

[pc,score,latent,tsquare] = princomp(P'); 
P2=score(:,1:2);
PP=P2';
net=newsom(minmax(PP),[6 7]);
net.trainParam.epochs=100;
net=train(net,PP);
y=sim(net,PP);
yc=vec2ind(y);
yc

%BP算法
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;
           0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];
net=newff(minmax(P),[18,3],{'tansig','logsig'});
net.trainParam.epochs=500;
net.trainParam.goal=0.01;
net=init(net);
net=train(net,P,T);
p_test=[0.26884 0.83238 0.44118 0.14805 0.00011756]';
Y=sim(net,p_test);

   
   
   
   
   
   
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -