পারসেপট্রন
Perceptron কী?
Perceptron হলো সবচেয়ে সরল ধরনের নিউরাল নেটওয়ার্ক — মাত্র একটি নিউরন। এটি input নেয়, weight দিয়ে গুণ করে, যোগ করে, এবং একটি threshold-এর সাথে তুলনা করে binary output (0 বা 1) দেয়।
Perceptron Learning Rule
Perceptron-এর জাদু হলো — এটা নিজে শিখতে পারে। কীভাবে? যখনই ভুল করে, weight একটু adjust করে।
এখানে η (eta) হলো learning rate।
উদাহরণ — AND Gate শেখানো
AND gate: শুধু দুই input-ই 1 হলে output 1, নইলে 0। Perceptron দিয়ে এটা শেখাই।
import numpy as np
# AND gate ডেটা
X = np.array([[0,0], [0,1], [1,0], [1,1]])
y = np.array([0, 0, 0, 1])
# initial weights ও bias
w = np.zeros(2)
b = 0
lr = 0.1
def predict(x):
return 1 if np.dot(w, x) + b >= 0 else 0
# Training
for epoch in range(20):
for xi, yi in zip(X, y):
y_pred = predict(xi)
error = yi - y_pred
w += lr * error * xi
b += lr * error
# Test
for xi in X:
print(xi, "->", predict(xi))Perceptron-এর সীমাবদ্ধতা — XOR সমস্যা
Perceptron শুধু linearly separable সমস্যা সমাধান করতে পারে। AND, OR সহজেই — কিন্তু XOR? অসম্ভব। কারণ XOR-এর true/false points একটা সরলরেখা দিয়ে আলাদা করা যায় না।
সমাধান — Multi-Layer Perceptron (MLP)
একটি Perceptron-এর বদলে কয়েকটি Perceptron স্তরে স্তরে সাজালে — তৈরি হয় MLP। MLP যেকোনো জটিল function approximate করতে পারে (Universal Approximation Theorem)।
সাধারণ ভুল ধারণা
- "Perceptron সবকিছু শিখতে পারে" — না, শুধু linear সমস্যা।
- "Perceptron = MLP" — না, MLP হলো বহু Perceptron-এর সমন্বয়।
অনুশীলন
১. উপরের কোড পরিবর্তন করে OR gate শেখান।
২. একই কোডে XOR gate শেখাতে চেষ্টা করুন — দেখুন accuracy 50%-এ আটকে যায়।
৩. learning rate পরিবর্তন করে দেখুন কখন দ্রুত converge হয়।
মিনি প্রজেক্ট
sklearn.datasets.make_blobs) নিয়ে Perceptron train করুন। শেষে decision boundary plot করুন।ইন্টারভিউ প্রশ্ন
- Perceptron Learning Rule ব্যাখ্যা করুন।
- XOR সমস্যা কী এবং কেন Perceptron এটা সমাধান করতে পারে না?
- MLP কীভাবে XOR সমাধান করে?
- Universal Approximation Theorem কী?
সারসংক্ষেপ
- Perceptron = সবচেয়ে সরল শেখার যোগ্য নিউরন।
- Linearly separable সমস্যা সমাধান করতে পারে।
- XOR সমস্যার কারণে AI Winter — MLP দিয়ে সমাধান।
- পরের অধ্যায়ে শিখব activation function — যেটা MLP-কে শক্তিশালী করে।