Advertisement
Guest User

gradient descent

a guest
Nov 13th, 2015
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 0.59 KB | None | 0 0
  1. %data = csvread('train.csv');
  2.  
  3. trainingSetSize = 250;
  4.  
  5. for i = 1:trainingSetSize
  6.     img = data(i, 2:end);
  7.     for j = 1:length(img)
  8.         if img(j) > 0
  9.             img(j) = 1;
  10.         end
  11.     end
  12.     data(i, 2:end) = img;
  13. end
  14.  
  15. function v = adjustWeights(w, trainingSet, learningRate)
  16.     dw = zeros(1, length(w));
  17.     for i = 1:size(trainingSet, 1)
  18.         t = trainingSet(i, 1);
  19.         x = trainingSet(i, 2:end);
  20.         dw = dw + (dot(w, x) - t) * x;
  21.     end
  22.     v = w - learningRate * dw;
  23. end
  24.  
  25. w = rand(1, 28*28);
  26. learningRate = 0.001;
  27. for i = 1:10
  28.     w = adjustWeights(w, data(1:trainingSetSize, :), learningRate / i);
  29. end
  30.  
  31. w
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement