Chapter 09
লস ফাংশন
Loss Functions
🎬 মডেল কীভাবে জানে যে সে ভুল করেছে?
একটি পরীক্ষায় ছাত্রকে নম্বর দেওয়া হয় — সে কত সঠিক উত্তর দিয়েছে। মডেলের ক্ষেত্রেও তাই — Loss Function-ই বলে দেয় মডেল কতটা ভুল করেছে। যত কম loss, তত ভালো মডেল।
Regression Loss
Mean Squared Error (MSE)
MSE = (1/n) Σ (y_true - y_pred)²
বড় ভুলকে বেশি penalize করে (square করার কারণে)। House price prediction-এর মতো regression-এ ব্যবহৃত।
import numpy as np
def mse(y_true, y_pred):
return np.mean((y_true - y_pred) ** 2)Mean Absolute Error (MAE)
MAE = (1/n) Σ |y_true - y_pred|
Outlier-এর প্রতি কম sensitive। যখন ডেটায় outlier থাকে, MAE বেশি ভালো।
Classification Loss
Binary Cross-Entropy
BCE = -(1/n) Σ [y log(p) + (1-y) log(1-p)]
Binary classification (Cat/Dog, Spam/Not Spam)। Sigmoid output-এর সাথে জোড়া।
def bce(y_true, y_pred, eps=1e-12):
y_pred = np.clip(y_pred, eps, 1 - eps)
return -np.mean(y_true * np.log(y_pred) + (1-y_true) * np.log(1-y_pred))Categorical Cross-Entropy
CCE = -Σ y_true · log(y_pred)
Multi-class classification (10 digits, 1000 ImageNet classes)। Softmax output-এর সাথে জোড়া।
def cce(y_true, y_pred, eps=1e-12):
y_pred = np.clip(y_pred, eps, 1.0)
return -np.sum(y_true * np.log(y_pred), axis=1).mean()কোন Loss কখন?
টাস্ক
Loss
Output Activation
Regression
MSE / MAE
None (linear)
Binary Classification
Binary Cross-Entropy
Sigmoid
Multi-class Classification
Categorical Cross-Entropy
Softmax
Multi-label
Binary Cross-Entropy
Sigmoid (per class)
Segmentation
Dice Loss / Cross-Entropy
Softmax / Sigmoid
একটা ছোট্ট example
# True label: class 2 (one-hot)
y_true = np.array([[0, 0, 1, 0]])
# Model output (after softmax)
y_pred = np.array([[0.1, 0.2, 0.6, 0.1]])
print("Cross-Entropy:", -np.sum(y_true * np.log(y_pred)))
# 0.5108Loss-এর Intuition
🔑 কী হচ্ছে আসলে?
Cross-Entropy পরিমাপ করে — predicted probability সত্যি class-এ কতটা confident। যত বেশি confident সত্যিতে, তত কম loss। যদি সঠিক class-এ probability 1 হয়, loss = 0।
সাধারণ ভুল ধারণা
⚠️ যা এড়িয়ে চলবেন
- Classification-এ MSE — কাজ করে না ভালো।
log(0)— তাই সবসময় ছোট epsilon দিয়ে clip করুন।- Loss ও Metric একই না — Accuracy ভিন্ন জিনিস।
অনুশীলন
১. y_true = [3.0, 5.0, 2.5], y_pred = [2.8, 5.2, 3.0] — MSE ও MAE বের করুন।
২. Binary Cross-Entropy হাতে calculate করুন y=1, p=0.9 এবং y=1, p=0.1-এর জন্য।
মিনি প্রজেক্ট
🚀 আজকের চ্যালেঞ্জ
একটি random 5-class classifier-এর output (softmax) generate করুন, true label one-hot করুন, এবং Categorical Cross-Entropy বের করুন। 1000 sample-এ গড় বের করুন।
ইন্টারভিউ প্রশ্ন
- MSE ও MAE-এর পার্থক্য।
- Cross-Entropy কী এবং কেন classification-এ ব্যবহৃত।
- Loss ও Metric-এর পার্থক্য।
- Binary ও Categorical Cross-Entropy কখন ব্যবহার করেন?
সারসংক্ষেপ
✨ এই অধ্যায়ে যা শিখলাম
- Loss = মডেলের ভুলের পরিমাপ।
- Regression → MSE/MAE; Classification → Cross-Entropy।
- পরের অধ্যায়ে শিখব — এই loss থেকে শুরু করে কীভাবে নেটওয়ার্ক নিজেকে ঠিক করে (Backpropagation)।