Workshop 1: Perceptron อย่างง่าย กับ Artificial Neural Network
Workshop นี้แสดงการทำงานของ Perceptron (หรือ Neuron คือความหมายเดียวกัน) ที่รับสัญญาณหรือข้อมูล Input 2 ค่า ได้แก่ x1 และ x2
ตัวอย่าง 1: กรณี Input x1, x2 มีค่าดังตารางต่อไปนี้ (สมมุติให้ weight ใช้ค่าสุ่มเริ่มต้น ดังใน ตารางเช่นกัน)
ถ้ากำหนดให้ค่าตัดสินหรือจุดตัด Threshold: (t) = 0 ไดอะแกรมจะเป็นดังนี้
ทำการคำนาณจะได้ค่าผลรวม s หรือ Sum ดังนี้
s = W0 + (w1 * x1) + (w2* x2)
5 = -0.5 + (0.5 * 1) + (0.5 * 1)
s = 0.5
ผลรวม s=0.5 และกรณีนี้ใช้ค่า Threshold (t)=0 เมื่อเปรียบเทียบผลรวม s กับ t จะได้ว่า s >=t ทำให้ผลลัพธ์ Output ที่ได้ มีค่าเท่ากับ 1
ดังนั้น จะได้ว่า เมื่อ Input X1=1 , X2=1 ผลลัพธ์ Output จะมีค่าเป็น 1 (Output ในที่นี้ก็เทียบได้กับผลการทำนายหรือ Prediction ในงาน Ma-chine Learning นั่นเอง) ถ้าเขียนในเชิงภาษาคอมพิวเตอร์ Input=[1, 1] ได้ค่า y=1
กรณีใช้ Python Numpy ทำการคำนวณโดยใช้การคูณด้วย Dot product ใช้โค้ดดังนี้
import numpy as np
w0 = -.5
x = [[1],
[1]]
w = [.5, .5]
w = np.array(w)
x = np.array(x)
s = w0 + np.dot(w, x)
print(s)
Code language: Python (python)
–> x ในตัวอย่างอยู่ในรูป 1D Tensor (vector 1 คอลัมน์ 2 แถว หรือ 1 column 2 ows) จะเขียนในรูปแบบ x = [1, 1] ก็ได้ (2 columns 1 row)
–> w ในตัวอย่างอยู่ในรูป 1D Tensor (vector 2 คอลัมน์ 1 แถว หรือ 2 columns 1 row)
ผลลัพธ์จะได้ s=0.5 เท่ากับการคำนวณด้วยมือ (ข้อสังเกต Dot product ของเวกเตอร์คูณกันจะได้ผลลัพธ์เป็น Scalar)