www.pudn.com > SOM_Bp_HybridNetwork_matlab_emulator.rar > SOM_00.m


%------  SOM test -------- 
clear 
clc 
echo off 
% --------------- initial the parameter 
out_num = 2;                  % 输出节点数目 
input_num = 7;                % 输入节点数目 
Epochs = 100;                  % 训练周期 
% --------------- read data from the file 
base_path = 'E:\SOMBP\data_source\feature02\'; 
I1 = load([base_path,'apen.txt']);           % 1 >> 2        1.2563    1.8150         
I2 = load([base_path,'kc.txt']);             % 0 >> 1        0.6299    0.9611 
I3 = load([base_path,'mir.txt']);            % 0 >> 5        0.4802    4.0544 
I4 = load([base_path,'asm.txt']);            % 0 >> 0.01    0.0004    0.0037 
I5 = load([base_path,'idm.txt']);            % 0 >> 0.5       0.0663    0.2906 
% I1 = load([base_path,'apen2.txt']); 
% I2 = load([base_path,'kc2.txt']); 
% I3 = load([base_path,'mir2.txt']); 
% I4 = load([base_path,'asm2.txt']); 
% I5 = load([base_path,'idm2.txt']); 
 
P = [I1';I2';I3';I4';I5']; 
MinMaxValue = minmax(P); 
 
% NEWSOM ---- create the som net 
net = newsom( MinMaxValue,[out_num]); 
net.trainParam.epochs = Epochs; 
 
% TRAIN ----- train the net 
begin_time = clock; 
[net,tr,Y,E,Pf,Af] = train(net,P); 
cost_time = etime(clock,begin_time) 
 
% OOTPUT ----- out put the som data which made as the bp input data 
SOMresult = net.IW{1}*P; 
save SOMresult.mat SOMresult;