Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.75 KB | None | 0 0
  1. % 3.
  2. maxHiddenNeuronCount = 10;
  3.  
  4. for hiddenNeuronCount = 1:maxHiddenNeuronCount
  5.    net = train_net(trainData(:,1), trainData(:,2), hiddenNeuronCount);
  6.    Z = calc_jacobian(net, trainData);
  7.    rankZ(hiddenNeuronCount) = rank(Z);
  8.    q(hiddenNeuronCount) = 2*net.layerweights{2,1}.size(2)+(net.layerweights{2,1}.size(2)+1)*1;
  9.    
  10.    [U W V] = svd(Z);
  11.    VW = V./repmat([diag(W)]', size(V,1), 1);
  12.    ZTZ1 = inv(VW*VW)*V';
  13.    diagH(:, hiddenNeuronCount) = diag(Z * ZTZ1 * Z');
  14.    hVariance(hiddenNeuronCount) = var(diagH(:, hiddenNeuronCount));
  15.    
  16.    if(q(hiddenNeuronCount) ~= rankZ(hiddenNeuronCount))
  17.        hVariance(hiddenNeuronCount) = 0;
  18.    end
  19.    
  20.    if(hVariance(hiddenNeuronCount) > 1)
  21.        hVariance(hiddenNeuronCount) = 1;
  22.    end
  23. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement