Algılayıcı

Algılayıcıda toplama fonksiyonunun çıkışında elde edilen sonuç, McCulloch-Pitts modeli olarak bilinen eşik aktivasyon fonksiyonlu ile mantıksal çıkış elde edilir.

Adsız

Algılayıcıda parametre güncelleme işlemi aşağıdaki gibi yapılmaktadır. Algılayıcıda güncelleme işleminde beklenen çıkış negatif, elde edilen çıkış pozitifse güncelleme işleminde çıkarma işlemi yapılır. Beklenen çıkış pozitif, elde edilen çıkış negatif ise toplama işlemi yapılmaktadır.

Adsız

Algılayıcı Matlab kodu aşağıda verilmiştir.

  1.  
  2. inputs = [ 0 0 ; -1 0.5 ; 0.5 -0.5 ; -0.3 0];
  3. desired = [1 ; -1 ; 1 ; -1];
  4. outputs = [0 ; 0 ; 0 ; 0];
  5. weights = [ 0 ; 0 ];
  6.  
  7. bias = -1;
  8. lamda =0.5;
  9. iteration = 100;
  10. break_value = 0;
  11. for i.html">i = 1 : iteration
  12.     for k = 1 : length(outputs)
  13.         if desired(k) == outputs(k)
  14.             continue;
  15.         else
  16.            
  17.             adding = inputs(k , : ) * weights + bias;
  18.             if adding < 0
  19.                 adding = -1;
  20.             else
  21.                 adding = 1;
  22.             end
  23.             outputs(k) = adding;
  24.             if adding ~= desired(k)
  25.                 if adding == -1
  26.                     weights = weights + lamda * inputs(k , : )';
  27.                 else
  28.                      weights = weights - lamda * inputs(k , : )';
  29.                 end
  30.             end
  31.             if outputs == desired
  32.                 'training was completed'
  33.                 break_value = 1;
  34.                 break;
  35.             end
  36.         end
  37.     end
  38.     if break_value == 1
  39.         break;
  40.     end
  41. end
  42.  
  43.  
  44. for k = -1 :0.05 : 1
  45.     for j.html">j = -1 :0.05 : 1
  46.         adding = [k j.html">j]* weights + bias;
  47.         if adding < 0
  48.             hold on;
  49.             plot(k,j.html">j,'b*')
  50.         else
  51.             hold on;
  52.             plot(k,j.html">j,'r+')
  53.         end
  54.        
  55.     end
  56. end
  57. %legend('Negative(-1)', 'Positive(1)')