SHARE
TWEET

Untitled

a guest Oct 17th, 2019 131 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function data = coach(P,filter,act_func,learningstyle,learningfunc)
  2.             trainingfunc = '';
  3.             hardlim_flag = 0;
  4.             if strcmp(learningstyle,'Incremental') == 1
  5.                 % set layer transfer function [purelin or any other]
  6.                 keySet = {'gradient rule','gradient rule improved with momentum','hebb rule','hebb rule with decaying weight','Widrow-Hoff learning rule'};
  7.                 valueSet = {'learngd','learngdm','learnh','learnhd','learnwh'};
  8.                 M = containers.Map(keySet,valueSet);
  9.                 trainingfunc = M(learningfunc);
  10.              else
  11.                  keySet = {'gradient descent','gradient descent with adaptive learning rate','gradient with moment','Levenberg-Marquardt','scaled conjugate gradient'};
  12.                  valueSet = {'traingd','traingda','traingdm','trainlm','trainscg'};
  13.                  M = containers.Map(keySet,valueSet);
  14.                  trainingfunc = M(learningfunc);
  15.             end
  16.            
  17.             AT = load('PerfectArial.mat');
  18.            
  19.             T1 = AT.Perfect;
  20.             T=[];
  21.             for c = 1:50
  22.             T =[T T1];
  23.             end
  24.            
  25.             switch filter      
  26.                 case 'Perceptron'
  27.                     perc = perceptron;
  28.                     perc = train(perc,P,T);    
  29.                 case 'Associative Memory'
  30.                     classifier.performParam.lr = 0.5; % learning rate
  31.                     classifier.trainParam.goal = 1e-6; % goal=objective
  32.                     W = T*pinv(P);
  33.                     P = W * P;                
  34.             end
  35.    
  36.              switch act_func      
  37.                 case 'Hardlim'    
  38.                      act_func='hardlim';
  39.                      hardlim_flag = 1;
  40.                  case 'Linear'    
  41.                      act_func = 'purelin';
  42.                 otherwise      
  43.                     act_func = 'logsig' ;  
  44.                        
  45.              end
  46.              
  47.             T=[];
  48.             for c = 1:50
  49.                 T =[T eye(10)];
  50.             end
  51.            
  52.             if hardlim_flag == 1
  53.              classifier = perceptron;
  54.              classifier = configure(classifier,P, T);
  55.  
  56.            
  57.             W1=rand(10,256);
  58.             b1=rand(10,1);
  59.              
  60.             classifier.IW{1,1}=W1;
  61.             classifier.b{1,1}=b1;
  62.             classifier = train(classifier, P, T);
  63.            
  64.             else
  65.          
  66.             classifier = network;
  67.             classifier.numInputs = 1;
  68.             classifier.inputs{1}.size = 256;
  69.             %set the number of layers
  70.             classifier.numLayers = 1;
  71.             classifier.layers{1}.size = 10;
  72.            
  73.             %connect input to layer 1
  74.             classifier.inputConnect(1) = 1;
  75.             %connect bias to layer 1
  76.             classifier.biasConnect(1) = 1;
  77.             classifier.outputConnect(1) = 1;
  78.  
  79.             %nect(1) = 1;
  80.      
  81.            
  82.             %learningfunc = '';
  83.            
  84.              
  85.             if strcmp(learningstyle,'Incremental') == 1
  86.                      % set layer transfer function [purelin or any other]
  87.                        classifier.layers{1}.transferFcn = act_func;
  88.               classifier.trainFcn = 'trainlm';
  89.                 classifier.inputweights{1,1}.learnFcn= trainingfunc;
  90.                 classifier = train(classifier,P,T) ; % train network
  91.  
  92.             else
  93.                    classifier.layers{1}.transferFcn = act_func;
  94.                  
  95.                     %chamo a funcao train
  96.                     classifier.trainFcn = trainingfunc;
  97.                     classifier = trainc(classifier,P,T) ; % train network
  98.                    
  99.             end
  100.             end
  101.                        
  102.             %DADOS AQUI PARA ESTUDO
  103.              P = load('t.mat');
  104.            
  105.              test = P.test;
  106.              result = classifier(test);
  107.              T = [eye(10) eye(10) eye(10) eye(10) eye(10) eye(10) eye(10) eye(10) eye(10) eye(10)];
  108.              performance = perform(classifier,T,result)
  109.             new = [];
  110.             [Maxs,I] = max(result);
  111.             counter = 0;
  112.             for i = 1:100
  113.                 if(mod(I(i),10)==i)
  114.                    counter = counter + 1;
  115.                 end
  116.             end
  117.              accuracy = counter/100
  118.              data = {filter, act_func, learningstyle, learningfunc, performance, accuracy};
  119. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top