Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. # OR
  2.  
  3. input = [-1 0 0; -1 0 1; -1 1 0; -1 1 1];
  4. desired_out = [-1; 1; 1; 1];
  5. number_of_inputs = rows(input);
  6.  
  7. bias = -1;
  8. coeff = 0.05;
  9.  
  10. # Get weights between -0.5 and 0.5
  11. weights = rand(3,1) .- 0.5;
  12.  
  13. iterations = 10000;
  14.  
  15. out = zeros(4,1);
  16.  
  17. for i = 1:iterations
  18. for j = 1:number_of_inputs
  19. h = input(j,:) * weights;
  20. out(j) = sign(h);
  21. delta = desired_out(j) - out(j);
  22.  
  23. # Update weights -> Wnew = Wold + DeltaW
  24. for k = 1:3
  25. weights(k,1) = weights(k, 1) + coeff * delta * input(j, k);
  26. end
  27. end
  28. end
  29.  
  30. disp(out);
  31.  
  32. # AND
  33.  
  34. input = [-1 0 0; -1 0 1; -1 1 0; -1 1 1];
  35. desired_out = [-1; -1; -1; 1];
  36. number_of_inputs = rows(input);
  37.  
  38. bias = -1;
  39. coeff = 0.05;
  40.  
  41. # Get weights between -0.5 and 0.5
  42. weights = rand(3,1) .- 0.5;
  43.  
  44. iterations = 10000;
  45.  
  46. out = zeros(4,1);
  47.  
  48. for i = 1:iterations
  49. for j = 1:number_of_inputs
  50. h = input(j,:) * weights;
  51. out(j) = sign(h);
  52. delta = desired_out(j) - out(j);
  53.  
  54. # Update weights -> Wnew = Wold + DeltaW
  55. for k = 1:3
  56. weights(k,1) = weights(k, 1) + coeff * delta * input(j, k);
  57. end
  58. end
  59. end
  60.  
  61. disp(out);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement