📚 সমস্ত অধ্যায় দেখুন
অধ্যায়/ফেজ 0 · Phase 0 · Foundation
0.3২৫ মিনিট পড়া3 / 68

Math for ML — Linear Algebra, Calculus, Probability

Mathematics

Vector, matrix, derivative, probability — সহজ ভাষায় intuition।

Hook — গণিত কেন ভয় পাবে না

অনেকে ভাবে ML মানে কঠিন গণিত — calculus, linear algebra, probability সব একসাথে। সত্যি কথা — তোমাকে PhD level math জানতে হবে না। দরকার শুধু intuition — কেন এই formula, কী ঘটছে ভেতরে।

এই অধ্যায়ে আমরা ৩টি স্তম্ভ ছুঁয়ে যাব — Linear Algebra, Calculus আর Probability।

১. Linear Algebra — Vector ও Matrix

Vector হলো সংখ্যার একটি তালিকা — যেমন একজন student এর [marks, hours, attendance] = [85, 6, 90]। প্রতিটি data point আসলে high-dimensional space এর একটি vector।

v = [v₁, v₂, v₃, …, vₙ]

Matrix হলো vector এর collection — অর্থাৎ একটি table। ML এ পুরো dataset একটি matrix X, যেখানে প্রতি row একটি sample, প্রতি column একটি feature।

X ∈ ℝ^(m×n), m = sample count, n = feature count

Dot Product — দুটি vector কতটা মিলে

a · b = Σ aᵢ · bᵢ

Neural network এর প্রতিটি neuron এর কাজ আসলে একটি dot product — input vector আর weight vector এর।

২. Calculus — পরিবর্তনের গণিত

Derivative হলো — একটি function কতটা দ্রুত বদলাচ্ছে। f(x) = x² হলে, df/dx = 2x — মানে x যত বাড়ে, slope তত বাড়ে।

df/dx = lim_(h→0) [f(x+h) − f(x)] / h

ML এ loss function এর derivative দেখে আমরা বুঝি — কোন দিকে parameter বদলালে loss কমবে। এটাই Gradient Descent এর মূল।

Partial Derivative

একাধিক variable থাকলে এক একটির derivative আলাদা করে নেওয়া হয় — সেটাই partial derivative। Loss L(w, b) এর জন্য ∂L/∂w আর ∂L/∂b আলাদা।

∇L = [∂L/∂w, ∂L/∂b]

Chain Rule — Backpropagation এর হৃদয়

dy/dx = (dy/du) · (du/dx)

Neural network এ এক layer এর output পরের layer এর input। Chain rule দিয়ে আমরা শেষ থেকে শুরু পর্যন্ত gradient flow করাই।

৩. Probability — অনিশ্চয়তার ভাষা

ML কখনো 100% নিশ্চিত হতে পারে না — সবসময় probability দেয়। “এই email 92% chance এ spam।”

P(A) ∈ [0, 1], ΣP(all outcomes) = 1

Conditional Probability ও Bayes Theorem

P(A|B) = P(B|A) · P(A) / P(B)

Naive Bayes classifier পুরোপুরি এই formula এর উপর দাঁড়িয়ে আছে। Spam detection, medical diagnosis — সব জায়গায় এটি।

Distribution

  • Normal/Gaussian — bell curve, natural data এ।
  • Bernoulli — yes/no event।
  • Binomial — n বার এর মধ্যে k বার success।

Code — NumPy দিয়ে math

linear_algebra.py
import numpy as np

# Vector
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

print("Dot product:", np.dot(a, b))     # 32
print("Norm of a:", np.linalg.norm(a))  # length

# Matrix
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

print("Matrix multiply:\n", A @ B)
print("Inverse of A:\n", np.linalg.inv(A))
print("Eigenvalues:", np.linalg.eigvals(A))
calculus_numeric.py
# Numerical derivative of f(x) = x^2 at x = 3
def f(x): return x ** 2

h = 1e-5
x = 3
derivative = (f(x + h) - f(x)) / h
print("df/dx at x=3:", derivative)   # ~6.0
probability.py
import numpy as np

# 1000 coin tosses
tosses = np.random.choice(["H", "T"], size=1000)
p_head = np.mean(tosses == "H")
print("P(Head):", p_head)

# Gaussian distribution
samples = np.random.normal(loc=0, scale=1, size=10000)
print("Mean:", samples.mean(), "Std:", samples.std())

Common Mistakes

সাবধান

গণিত মুখস্থ করার জিনিস না — intuition তৈরি করার জিনিস।

  • Matrix multiplication এ A·B ≠ B·A — order important।
  • Derivative শূন্য মানে minimum না — saddle point ও হতে পারে।
  • Independent ≠ Mutually exclusive — দুটি আলাদা জিনিস।
  • Probability কে percentage এর সাথে গুলিয়ে ফেলা।

Practice Tasks

  • Task 1: হাতে কাগজে [2,3] আর [4,1] এর dot product বের করো, তারপর NumPy দিয়ে মিলিয়ে দেখো।
  • Task 2: f(x) = 3x² + 2x এর derivative লিখো, x=5 এ মান বের করো।
  • Task 3: একটি dice ২ বার ছুড়লে sum = 7 এর probability বের করো।

Mini Project — Gradient Descent by Hand

f(w) = (w − 4)² function এর জন্য gradient descent লেখো। w = 0 থেকে শুরু করে learning rate 0.1 দিয়ে ২০ step চালাও। প্রতিটি step এর w ও loss print করো — দেখো কীভাবে w → 4 এ পৌঁছায়।

Bonus

Matplotlib দিয়ে loss vs step graph আঁকো — convergence curve টা দেখতে অসাধারণ লাগবে।

Summary

এক নজরে

Linear Algebra = data এর ভাষা, Calculus = শেখার ভাষা, Probability = অনিশ্চয়তার ভাষা।

  • Vector, matrix, dot product — data representation।
  • Derivative, gradient, chain rule — optimization।
  • Probability, Bayes — uncertainty modeling।