پرسپترون

الپرسپترون Perceptron هو أحد أبسط أنواع الشبكات العصبونية أمامية التغذية Feed-Forward ، حيث لا يحتوي على طبقة عصبونات خفية بل تنتقل المعلومات المدخلة من الطبقة الأمامية إلى النهائية مباشرة. أول من استحدث شبكة الپرسپترون كان فرانك روزنبلات عام 1957 في جامعة كورنل.

التعريف

يستخدم الپرسپترون القيم الذاتية للمصفوفات لتمثل الشبكات العصبونية أمامية التغذية وهو a tertiary classifier that maps its input (a binary vector) to an output value (a single binary value) across the matrix.

where is a vector of real-valued weights and is the dot product (which computes a weighted sum). is the 'bias', a constant term that does not depend on any input value.


مثال

A perceptron (X1, X2 input, X0*W0=b, TH=0.5) learns how to perform a NAND function:

المـُدخل Initial المـُخرج النهائي
Threshold معدل التعلم Sensor values المـُخرج المرغوب الأوزان المحسوب المجموع الشبكة الخطأ التصحيح الأوزان
TH LR X0 X1 X2 Z w0 w1 w2 C0 C1 C2 S N E R W0 W1 W2
X0 x w0 X1 x w1 X2 x w2 C0+C1+C2 IF(S>TH,1,0) Z-N LR x E
0.5 0.1 1 0 0 1 0 0 0 0 0 0 0 0 1 +0.1 0.1 0 0
0.5 0.1 1 0 1 1 0.1 0 0 0.1 0 0 0.1 0 1 +0.1 0.2 0 0.1
0.5 0.1 1 1 0 1 0.2 0 0.1 0.2 0 0 0.2 0 1 +0.1 0.3 0.1 0.1
0.5 0.1 1 1 1 0 0.3 0.1 0.1 0.3 0.1 0.1 0.5 0 0 0 0.3 0.1 0.1
0.5 0.1 1 0 0 1 0.3 0.1 0.1 0.3 0 0 0.3 0 1 +0.1 0.4 0.1 0.1
0.5 0.1 1 0 1 1 0.4 0.1 0.1 0.4 0 0.1 0.5 0 1 +0.1 0.5 0.1 0.2
0.5 0.1 1 1 0 1 0.5 0.1 0.2 0.5 0.1 0 0.6 1 0 0 0.5 0.1 0.2
0.5 0.1 1 1 1 0 0.5 0.1 0.2 0.5 0.1 0.2 0.8 1 -1 -0.1 0.4 0 0.1
0.5 0.1 1 0 0 1 0.4 0 0.1 0.4 0 0 0.4 0 1 +0.1 0.5 0 0.1
0.5 0.1 1 0 1 1 0.5 0 0.1 0.5 0 0.1 0.6 1 0 0 0.5 0 0.1
0.5 0.1 1 1 0 1 0.5 0 0.1 0.5 0 0 0.5 0 1 +0.1 0.6 0.1 0.1
0.5 0.1 1 1 1 0 0.6 0.1 0.1 0.6 0.1 0.1 0.8 1 -1 -0.1 0.5 0 0
0.5 0.1 1 0 0 1 0.5 0 0 0.5 0 0 0.5 0 1 +0.1 0.6 0 0
0.5 0.1 1 0 1 1 0.6 0 0 0.6 0 0 0.6 1 0 0 0.6 0 0
0.5 0.1 1 1 0 1 0.6 0 0 0.6 0 0 0.6 1 0 0 0.6 0 0
0.5 0.1 1 1 1 0 0.6 0 0 0.6 0 0 0.6 1 -1 -0.1 0.5 -0.1 -0.1
0.5 0.1 1 0 0 1 0.5 -0.1 -0.1 0.5 0 0 0.5 0 1 +0.1 0.6 -0.1 -0.1
0.5 0.1 1 0 1 1 0.6 -0.1 -0.1 0.6 0 -0.1 0.5 0 1 +0.1 0.7 -0.1 0
0.5 0.1 1 1 0 1 0.7 -0.1 0 0.7 -0.1 0 0.6 1 0 0 0.7 -0.1 0
0.5 0.1 1 1 1 0 0.7 -0.1 0 0.7 -0.1 0 0.6 1 -1 -0.1 0.6 -0.2 -0.1
0.5 0.1 1 0 0 1 0.6 -0.2 -0.1 0.6 0 0 0.6 1 0 0 0.6 -0.2 -0.1
0.5 0.1 1 0 1 1 0.6 -0.2 -0.1 0.6 0 -0.1 0.5 0 1 +0.1 0.7 -0.2 0
0.5 0.1 1 1 0 1 0.7 -0.2 0 0.7 -0.2 0 0.5 0 1 +0.1 0.8 -0.1 0
0.5 0.1 1 1 1 0 0.8 -0.1 0 0.8 -0.1 0 0.7 1 -1 -0.1 0.7 -0.2 -0.1
0.5 0.1 1 0 0 1 0.7 -0.2 -0.1 0.7 0 0 0.7 1 0 0 0.7 -0.2 -0.1
0.5 0.1 1 0 1 1 0.7 -0.2 -0.1 0.7 0 -0.1 0.6 1 0 0 0.7 -0.2 -0.1
0.5 0.1 1 1 0 1 0.7 -0.2 -0.1 0.7 -0.2 0 0.5 0 1 +0.1 0.8 -0.1 -0.1
0.5 0.1 1 1 1 0 0.8 -0.1 -0.1 0.8 -0.1 -0.1 0.6 1 -1 -0.1 0.7 -0.2 -0.2
0.5 0.1 1 0 0 1 0.7 -0.2 -0.2 0.7 0 0 0.7 1 0 0 0.7 -0.2 -0.2
0.5 0.1 1 0 1 1 0.7 -0.2 -0.2 0.7 0 -0.2 0.5 0 1 +0.1 0.8 -0.2 -0.1
0.5 0.1 1 1 0 1 0.8 -0.2 -0.1 0.8 -0.2 0 0.6 1 0 0 0.8 -0.2 -0.1
0.5 0.1 1 1 1 0 0.8 -0.2 -0.1 0.8 -0.2 -0.1 0.5 0 0 0 0.8 -0.2 -0.1
0.5 0.1 1 0 0 1 0.8 -0.2 -0.1 0.8 0 0 0.8 1 0 0 0.8 -0.2 -0.1
0.5 0.1 1 0 1 1 0.8 -0.2 -0.1 0.8 0 -0.1 0.7 1 0 0 0.8 -0.2 -0.1

Note: Initial weight equals final weight of previous iteration. A too high learning rate makes the perceptron periodically oscillate around the solution. A possible enhancement is to use starting with n=1 and incrementing it by 1 when a loop in learning is found.

المصادر

وصلات خارجية


الكلمات الدالة: