📚 সমস্ত অধ্যায় দেখুন
অধ্যায়/ফেজ 3 · Phase 3 · Advanced ML
3.5১৮ মিনিট পড়া24 / 68

Bias-Variance Tradeoff

Bias-Variance

Overfit আর underfit এর গণিত।

Hook — Dartboard এর গল্প

Dart ছুঁড়ে কেউ সবগুলো center এর পাশে এক জায়গায় ফেলেছে (low variance, high bias)। আরেকজন এদিক ওদিক ছড়িয়ে ফেলেছে কিন্তু গড়ে center এ (low bias, high variance)। ভালো model — দুটোই কম।

Concept — তিন উপাদান

E[(y − ŷ)²] = Bias² + Variance + Irreducible Noise
  • Bias — model এর সরলীকরণ থেকে ভুল (underfit)।
  • Variance — training data এর প্রতি sensitivity (overfit)।
  • Noise — কমানো অসম্ভব, data এর inherent randomness।

Diagnose কীভাবে

  • High bias — train ও test দুটোই কম accuracy।
  • High variance — train অনেক ভালো, test অনেক কম।
  • Just right — দুটোই ভালো, gap ছোট।
Tool

Learning Curve plot করলে গল্পটা চোখে দেখা যায়।

কীভাবে ঠিক করব

  • High bias → বড় model, feature বাড়াও, regularization কমাও।
  • High variance → বেশি data, regularization বাড়াও, simpler model, ensemble (bagging)।

Code — Learning Curve

learning_curve.py
import numpy as np, matplotlib.pyplot as plt
from sklearn.model_selection import learning_curve
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_breast_cancer

X, y = load_breast_cancer(return_X_y=True)
sizes, tr, te = learning_curve(
    DecisionTreeClassifier(max_depth=None, random_state=0),
    X, y, cv=5, train_sizes=np.linspace(0.1, 1.0, 8)
)
plt.plot(sizes, tr.mean(1), label="Train")
plt.plot(sizes, te.mean(1), label="Validation")
plt.xlabel("Training size"); plt.ylabel("Accuracy"); plt.legend(); plt.show()

Common Mistakes

  • শুধু test score দেখে judge — train score ছাড়া diagnose অসম্পূর্ণ।
  • Overfit হলে শুধু model বদলানো — data বাড়ানো সবচেয়ে কার্যকর প্রায়শই।

Summary

এক নজরে

Bias-Variance tradeoff = সব ML problem এর মূল debug ভাষা।