Perceptron and Delta rule training for the NN ไกรฤกษ์ เชยชื่น, M.Eng. Electrical
Perceptron Architecture: สำหรับ 1 Neural, อินพุต จำนวน n ตัว Activation function 1 b X1 w1 เมื่อ θ คือ เทรโชลด์ (threshold) ซึ่ง เป็นค่าคงที่ wi Xi Y wn Xn
Perceptron (Cont.) Algorithm: สามารถใช้ได้กับทั้ง Input แบบ binary (0,1) และ bipolar (1, -1) Output แบบ bipolar (1, -1) Step0: - กำหนดค่าเริ่มต้นให้กับ weight, w1, w2, …, wi,…, wn และ bias, b (เพื่อความง่ายเรามักกำหนด w = 0 และ b = 0) กำหนด learning rate (อัตราการเรียนรู้) , α ( ) (เพื่อความง่ายเรามักกำหนด α = 1) - กำหนดเทรโชลด์ เป็นค่าคงที่ที่ไม่เป็นค่า ลบ
Perceptron (Cont.) Algorithm: สามารถใช้ได้กับทั้ง Input แบบ binary (0,1) และ bipolar (1, -1) Output แบบ bipolar (1, -1) Step1: ทำซ้ำ Step2 – 5 จนว่า เงื่อนไขใน Step5 จะเป็นเท็จ (false) Step2: ทำซ้ำ Step2 – 4 ในแต่ละคู่ input (x1,x2,…,xn) กับ target output, t (1 หรือ -1) Step3: คำนวณ real output, y ดังนี้
Perceptron (Cont.) Algorithm: สามารถใช้ได้กับทั้ง Input แบบ binary (0,1) และ bipolar (1, -1) Output แบบ bipolar (1, -1) Step4: ปรับค่า weight และ bias โดย If (ถ้า) target output (t) ≠ real output (y) else (มิฉะนั้นแล้ว)
Perceptron (Cont.) Algorithm: สามารถใช้ได้กับทั้ง Input แบบ binary (0,1) และ bipolar (1, -1) Output แบบ bipolar (1, -1) Step5: ทดสอบเงื่อนไขการหยุด โปรแกรม If (ถ้า) weight ใน Step2 ไม่เปลี่ยนแปลง ให้หยุดโปรแกรม else (มิฉะนั้นแล้ว) ไปทำ Step1
ตัวอย่าง: Perceptron : สำหรับ AND function กำหนดให้ Input แบบ binary (0,1) และ Output แบบ bipolar (1, -1) ตารางการทำงานของ AND x1 x2 1 (bias) Target output 1 -1 Step0: กำหนดค่าเริ่มต้น weight, w1 = 0, w2 = 0 และ bias, b = 0 กำหนด learning rate (อัตราการเรียนรู้) , α = 1 กำหนด เทรโชลด์, θ = 0.2
ตัวอย่าง: Perceptron : สำหรับ AND function Step0 input y_in Real output, y Target output, t Weight change,Δw New weight (x1 x2 1) (Δw1 Δw2 Δb) (w1 w2 b) (0 0 0) (1 1 1) 1 (1 1 1) + =
ตัวอย่าง: Perceptron : สำหรับ AND function input y_in Real output, y Target output, t Weight change,Δw New weight (x1 x2 1) (Δw1 Δw2 Δb) (w1 w2 b) (รอบที่ 1) (0 0 0) (1 1 1) 1 (1 1 1) (1 0 1) 2 -1 (-1 0 -1) (0 1 0) (0 1 1) (0 -1 -1) (0 0 -1) (0 0 1) (0 0 -1) (0 0 -2) (รอบที่ 2) (1 1 0) (0 1 -1) -2 (0 0 0)
ตัวอย่าง: Perceptron : สำหรับ AND function input y_in Real output, y Target output, t Weight change,Δw New weight (x1 x2 1) (Δw1 Δw2 Δb) (w1 w2 b) (รอบที่ 3 - 9) ทำเป็นการบ้าน (0 0 0) … (รอบที่ 10) (1 1 1) (2 3 -4) (1 0 1) (0 1 1) (0 0 1)
1 X1 X2 Y b=-4 w1=2 w2=3 + - x2 x1 (1) (2)
การบ้าน: AND function โดย input และ output เป็น bipolar x1 x2 1 (bias) Target output -1 1