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.
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.
Algılayıcı Matlab kodu aşağıda verilmiştir.
- inputs = [ 0 0 ; -1 0.5 ; 0.5 -0.5 ; -0.3 0];
- desired = [1 ; -1 ; 1 ; -1];
- outputs = [0 ; 0 ; 0 ; 0];
- weights = [ 0 ; 0 ];
- bias = -1;
- lamda =0.5;
- iteration = 100;
- break_value = 0;
- for i.html">i = 1 : iteration
- if desired(k) == outputs(k)
- continue;
- else
- adding = inputs(k , : ) * weights + bias;
- if adding < 0
- adding = -1;
- else
- adding = 1;
- end
- outputs(k) = adding;
- if adding ~= desired(k)
- if adding == -1
- weights = weights + lamda * inputs(k , : )';
- else
- weights = weights - lamda * inputs(k , : )';
- end
- end
- if outputs == desired
- 'training was completed'
- break_value = 1;
- break;
- end
- end
- end
- if break_value == 1
- break;
- end
- end
- for k = -1 :0.05 : 1
- for j.html">j = -1 :0.05 : 1
- if adding < 0
- hold on;
- else
- hold on;
- end
- end
- end
- %legend('Negative(-1)', 'Positive(1)')