Advertisement
Guest User

Perceptron - 2019-01-08

a guest
Jan 8th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 2.26 KB | None | 0 0
  1. % Σε Octave για κάποιον λόγο το διάγραμμα κάνει θέλει πολύ περισσότερο χρόνο για να εμφανιστεί (την 1η φορά)
  2.  
  3. |||||||||||||||||||||||////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\|||||||||||||||||||||||
  4.  
  5. main.m
  6.  
  7. x = [0 0 1 1 ; 0 1 0 1]
  8. w0 = -1
  9. w = [2 ; 1]
  10. u = w'*x+w0
  11. %f = logsig(u) %Για Octave αυτή η γραμμή να είναι σχόλιο
  12. f = 1 ./ (1 + exp(-u)) %Για Octave αυτή η γραμμή να μην είναι σχόλιο
  13.  
  14. [z] = sxediasi(x,w,w0)
  15.  
  16. b=1; %Ρυθμός μάθησης
  17. counter=0;
  18. while (u(1,1)>=0 || u(1,2)>=0 || u(1,3)>=0 || u(1,4)<=0)
  19.     [w,w0]=kyklos(u,w,w0,x,b)
  20.     %kyklos()
  21.     u=w'*x+w0
  22.     counter=counter+1;
  23.     [z] = sxediasi2(x,w,w0)
  24.  
  25. end
  26.  
  27. [z] = sxediasi1(x,w,w0)
  28.  
  29. %for i=1:3
  30. %if u(1,1)
  31. %Wafter=Wbef-b*x
  32. %if u(1,1)<=0
  33. %    Wafter=Wbef+b*x
  34.  
  35. |||||||||||||||||||||||////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\|||||||||||||||||||||||
  36.  
  37. kyklos.m
  38.  
  39. function [w,w0]=kyklos(u,w,w0,x,b) %Κύκλος εκπαίδευσης
  40.  
  41. for i=1:3
  42.     if (u(1,i)>=0)
  43.         w(1)=w(1)-b*x(1,i)
  44.         w(2)=w(2)-b*x(2,i)
  45. %        w(3)=w(3)-b*x(3,i)
  46.         w0=w0-b
  47.     end
  48. end
  49. i=4;
  50. if (u(1,4)<=0)
  51.     w0=w0+b
  52.     w(1)=w(1)+b*x(1,i)
  53.     w(2)=w(2)+b*x(2,i)
  54. %    w(3)=w(3)+b*x(3,i)
  55. end
  56.  
  57. %for i=1:4
  58. %    u= w'*x+w0
  59. %end
  60.  
  61. |||||||||||||||||||||||////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\|||||||||||||||||||||||
  62.  
  63. sxediasi.m
  64.  
  65. function [z] = sxediasi(x,w,w0)
  66.  
  67. for k=-1:3
  68.     c=k+2;
  69.     u(c) = - (w(1,1)/w(2,1))*k -  w0/w(2,1);
  70.     x1(c)=k;
  71. end
  72. plot(x1,u,'b')
  73. axis([-2 2 -2 2])
  74. hold on
  75. plot(x(1,:),x(2,:),'*')
  76.  
  77. |||||||||||||||||||||||////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\|||||||||||||||||||||||
  78.  
  79. sxediasi1.m
  80.  
  81. function [z] = sxediasi(x,w,w0)
  82.  
  83. for k=-1:3
  84.     c=k+2;
  85.     u(c) = - (w(1,1)/w(2,1))*k -  w0/w(2,1);
  86.     x1(c)=k;
  87. end
  88. plot(x1,u,'r')
  89. axis([-2 2 -2 2])
  90. hold on
  91. plot(x(1,:),x(2,:),'*')
  92.  
  93. |||||||||||||||||||||||////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\|||||||||||||||||||||||
  94.  
  95. sxediasi2.m
  96.  
  97. function [z] = sxediasi(x,w,w0)
  98.  
  99. for k=-1:3
  100.     c=k+2;
  101.     u(c) = - (w(1,1)/w(2,1))*k -  w0/w(2,1);
  102.     x1(c)=k;
  103. end
  104. plot(x1,u,'g')
  105. axis([-2 2 -2 2])
  106. hold on
  107. plot(x(1,:),x(2,:),'*')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement