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

📄 artmap_shell.m

📁 ARTMAP的MATLAB工具箱
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% artmap_shell.m%% Description: a sample program of how to use a single ARTMAP network%% Authors: Suhas Chelian, Norbert Kopco%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear all;traceInit = 0; % Toggle this if you want to see how the network was               % initializedtraceTrain = 0;% Toggle this if you want to see what weights the               % network developed after training%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Data% These are the points given in Fig. 10 of the dARTMAP paper% (Carpenter et al, 1998).  You can check the weights by toggling% "traceTrain".input = [.8,.5; .5,.2; .8,.8; .7,.1; 1,1; 1,1; .6,.4; .2,.3];output = [2; 2; 1; 1; 1; 1; 2; 2];TEST_N = 8;	%// Number of testing pointste_input = [.2,.9; .9,.6; .6,.6; .9,.8; .7,.5; .2,.7; .4,.9; .9,.7];te_output = [2; 2; 1; 2; 1; 2; 2; 2];% Uncomment these lines to use the large training sets% load input.dat;% load output.dat;train = [input, output];trainN = size(input,1);%trainN = 5;% Uncomment these lines to use the large testing sets% load te_input.dat;% load te_output.dat;test = [te_input, te_output];testN = size(te_input,1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Initdisp( 'Initializing' );MAPTYPE = 4;M = 2;L = 2;MAX_F2_SIZE = 100;defaultParams = 1;myVarargin = cell(1,6);myVarargin{1} = .01;			% alphamyVarargin{2} = 1;			% pmyVarargin{3} = 1;			% betamyVarargin{4} = -.001;			% epsilonmyVarargin{5} = 0;			% rho_a_barmyVarargin{6} = .99;                    % rho_abmyVarargin{7} = myVarargin{1}*M;	% Tu% Uncomment these lines to configure even more% myVarargin{8} = 0; % Weber% myVarargin{9} = 1; % CBD% myVarargin{10} = 0; % Train WTA% myVarargin{11} = 1; % Train ICG% myVarargin{12} = 1; % Train IC% myVarargin{13} = 1; % Test IC% myVarargin{14} = 0; % Test WTA% myVarargin{15} = 0; % Test SCG% myVarargin{16} = 1; % Test ICG% myVarargin{17} = 0; % DO_OLD_Tj% myVarargin{18} = 1; % DO_KAPPA_VECif ( defaultParams == 0 )	artmap_net = artmap_init( MAPTYPE, M, L, MAX_F2_SIZE,...			  defaultParams, myVarargin );else	artmap_net = artmap_init( MAPTYPE, M, L, MAX_F2_SIZE,...			  defaultParams );endif ( artmap_net.fail == 1 )  disp( 'artmap_init failed!' );  quit;endif ( traceInit )  artmap_netend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TrainforceInputHC = 0;forceOutputHC = 0;verbose = 1;defaultEpochs = 1;myVarargin2 = cell(1,3);myVarargin2{1} = 3;			% EPOCHSmyVarargin2{2} = 1;			% shufflemyVarargin2{3} = 0;			% shuffleSeedif ( defaultEpochs == 1 )  [artmap_net] = artmap_train_large( artmap_net, train, trainN,...				   forceInputHC, forceOutputHC, ...				   verbose, defaultEpochs );else  [artmap_net] = artmap_train_large( artmap_net, train, trainN,...				   forceInputHC, forceOutputHC, ...				   verbose, defaultEpochs, myVarargin2 ...				     );endif ( traceTrain )%  Uncomment this line to see the entire network%  artmap_net  disp( 'C' );  artmap_net.C  disp( 'tau_ij' );  artmap_net.tau_ij(:, 1:artmap_net.C)  disp( 'tau_ji' );  artmap_net.tau_ji(1:artmap_net.C, :)  disp( 'c' );  artmap_net.c(1:artmap_net.C)  disp( 'kappa' );  if ( artmap_net.DO_KAPPA_VEC == 0 )    artmap_net.kappa(1:artmap_net.C)  else    artmap_net.kappa(1:artmap_net.C,:)  endend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TestforceInputHC = 0;forceOutputHC = 0; % Verbose level of 3 only good for small testing setsif ( testN <= 10 )  verbose = 3;else  verbose = 2;end[artmap_net, pc, correct, bigSigma, bigY] = artmap_test_large( artmap_net, test, testN,...				   forceInputHC, forceOutputHC, verbose );disp( sprintf( 'Percent Correct: %3.2f%%', pc*100 ) );

⌨️ 快捷键说明

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