মডেলের সফলতা কীভাবে মাপি
এই পাঠে যা শিখবেন
- Confusion Matrix — Classification মেট্রিকের ভিত্তি
- Accuracy, Precision, Recall, F1 — কোনটি কখন
- ROC ও AUC — Threshold-নিরপেক্ষ মূল্যায়ন
- Regression-এ MAE, MSE, RMSE, R²
- Multi-class Macro vs Micro average
১ · Accuracy যথেষ্ট নয় কেন?
Accuracy = সঠিক উত্তরের অনুপাত। সরল এবং স্বজ্ঞাত। কিন্তু imbalanced ডেটায় অত্যন্ত বিভ্রান্তিকর।
উদাহরণ
একটি ক্যান্সার-ডিটেক্টর। জনসংখ্যার ১% ক্যান্সার রোগী। AI সবাইকে "ক্যান্সার নেই" বলল — accuracy ৯৯%! কিন্তু একজন রোগীও ধরা পড়ল না। একদম অকেজো।
২ · Confusion MatrixConfusion Matrixactual বনাম predicted ক্লাসের ২x২ (binary) বা NxN (multi-class) ছক — TP, TN, FP, FN আলাদা দেখায়। প্রায় সব classification metric এই ছক থেকে বের হয়। — সব Classification metric-এর মা
Binary classification-এ — actual ও predicted-এর ৪টি সম্ভাবনা:
| Predicted: Positive | Predicted: Negative | |
|---|---|---|
| Actual: Positive | TP True Positive |
FN False Negative |
| Actual: Negative | FP False Positive |
TN True Negative |
- TPTP · True Positiveমডেল "positive" বলেছে এবং সত্যিই positive — সঠিক শনাক্তকরণ।: সঠিকভাবে Positive বলেছে।
- TNTN · True Negativeমডেল "negative" বলেছে এবং সত্যিই negative — সঠিকভাবে নেতিবাচক।: সঠিকভাবে Negative বলেছে।
- FPFP · False Positiveমডেল "positive" বলেছে কিন্তু আসলে negative — false alarm. Spam filter-এ জরুরি মেইলকে spam বলার মতো।: Negative-কে ভুলে Positive বলেছে (false alarm, Type I errorType I errorStatistics-এ false positive. True null hypothesis reject করা — যেমন সুস্থ মানুষকে রোগী বলা। Significance level $\alpha$ এই error rate control করে।)।
- FNFN · False Negativeমডেল "negative" বলেছে কিন্তু আসলে positive — মিস। ক্যান্সার-শনাক্তকরণে রোগীকে "সুস্থ" বলার মতো বিপজ্জনক।: Positive-কে মিস করেছে (Type II error)।
৩ · Confusion Matrix থেকে ৪টি মেট্রিক
Accuracy
$$\text{Accuracy} = \dfrac{TP + TN}{TP + TN + FP + FN}$$
"কতটা ঠিক বলেছে"
Precision
$$\text{Precision} = \dfrac{TP}{TP + FP}$$
"যাদের Positive বলেছি — তাদের কতজন আসলেই Positive?" (False alarm-এ গুরুত্ব)
Recall (Sensitivity)
$$\text{Recall} = \dfrac{TP}{TP + FN}$$
"যারা আসলে Positive — তাদের কতজন ধরতে পেরেছি?" (Miss-এ গুরুত্ব)
F1 Score
$$F_1 = 2 \cdot \dfrac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}$$
Precision ও Recall-এর harmonic mean — দু'টোই কম থাকলে F1 কম। Imbalanced ডেটায় সবচেয়ে নির্ভরযোগ্য single number.
৪ · Precision বনাম Recall — কখন কোনটি গুরুত্বপূর্ণ?
False Positive বেশি costly? → Precision-এ ফোকাস।
False Negative বেশি costly? → Recall-এ ফোকাস।
উদাহরণ ১ — Spam Filter
FP: জরুরি ই-মেইল spam-এ চলে গেলে — গ্রাহক হারানোর সম্ভাবনা।
FN: spam ইনবক্সে এলে — বিরক্তিকর কিন্তু সহনীয়।
→ Precision বেশি গুরুত্বপূর্ণ।
উদাহরণ ২ — ক্যান্সার শনাক্তকরণ
FP: সুস্থ মানুষকে ভুলে রোগী বলেছে — অতিরিক্ত পরীক্ষা, কিন্তু জীবন সংশয় নেই।
FN: রোগীকে মিস করেছে — মৃত্যু হতে পারে।
→ Recall বেশি গুরুত্বপূর্ণ।
উদাহরণ ৩ — fraud detection
সাধারণত — দু'টোই গুরুত্বপূর্ণ। F1 বা even একটু balanced দেখুন।
৫ · ROC Curve ও AUC
Classification মডেল প্রায়ই একটি probability দেয় (যেমন ০.৭৫)। আমরা একটি threshold বেছে — উপরে হলে Positive বলি। Threshold বদলালে — Precision/Recall বদলায়।
ROC CurveROC Curve · Receiver Operating Characteristicবিভিন্ন threshold-এ True Positive Rate বনাম False Positive Rate-এর গ্রাফ। Threshold-নিরপেক্ষভাবে মডেলের ranking quality বুঝতে। = বিভিন্ন threshold-এ True Positive Rate (Recall) বনাম False Positive Rate-এর গ্রাফ।
AUC (Area Under Curve) = এই curve-এর নিচে এলাকা। ০ থেকে ১। ১ মানে নিখুঁত মডেল। ০.৫ মানে এলোমেলো।
PR-AUC vs ROC-AUC: Imbalanced ডেটায় PR-AUC বেশি informative — ROC-AUC overoptimistic হতে পারে।
৬ · Python-এ Classification Metrics
import numpy as np
# Actual labels (1 = Positive, 0 = Negative)
y_true = np.array([1, 0, 1, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 1, 0, 0, 1, 1, 0, 1])
# Model predictions
y_pred = np.array([1, 0, 1, 0, 0, 1, 1, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 1, 1, 1])
# Confusion matrix manually
TP = np.sum((y_true == 1) & (y_pred == 1))
TN = np.sum((y_true == 0) & (y_pred == 0))
FP = np.sum((y_true == 0) & (y_pred == 1))
FN = np.sum((y_true == 1) & (y_pred == 0))
print(f"TP={TP}, TN={TN}, FP={FP}, FN={FN}")
accuracy = (TP + TN) / (TP + TN + FP + FN)
precision = TP / (TP + FP) if TP + FP > 0 else 0
recall = TP / (TP + FN) if TP + FN > 0 else 0
f1 = 2 * precision * recall / (precision + recall) if precision + recall > 0 else 0
print(f"\nAccuracy: {accuracy:.4f}")
print(f"Precision: {precision:.4f}")
print(f"Recall: {recall:.4f}")
print(f"F1 Score: {f1:.4f}")
৭ · Multi-class — Macro বনাম Micro Average
৩+ ক্লাসে — প্রতিটি ক্লাসের জন্য আলাদা precision/recall. সারসংক্ষেপ করার দু'টি উপায় —
- Macro: প্রতিটি ক্লাসের মেট্রিক বের করে গড়। প্রতিটি ক্লাস সমান গুরুত্বপূর্ণ।
- Micro: সব TP/FP/FN একসাথে যোগ করে গণনা। বড় ক্লাসগুলো বেশি প্রভাব ফেলে।
- Weighted: ক্লাস-আকারের ভিত্তিতে ওজনযুক্ত গড়।
Imbalanced ডেটায় — সাধারণত Macro F1 ভালো, কারণ ছোট ক্লাসকে উপেক্ষা করে না।
৮ · Regression-এর Metrics
সংখ্যা পূর্বাভাসের জন্য — different metric:
MAEMAE · Mean Absolute Errorpredicted ও actual-এর পরম পার্থক্যের গড়। মূল এককেই থাকে — ব্যাখ্যা সহজ। outlier-এ MSE-র মতো অতি-সংবেদনশীল নয়। — Mean Absolute Error
$$\text{MAE} = \dfrac{1}{n}\sum_{i=1}^{n} |y_i - \hat{y}_i|$$
সরাসরি গড় error — ব্যাখ্যা সহজ। "গড়ে ৫ লক্ষ টাকা ভুল"।
MSEMSE · Mean Squared Errorerror-এর বর্গের গড়। বড় ভুলকে অনেক বড় penalty দেয়। smooth ও differentiable — regression training-এর প্রিয় loss. — Mean Squared Error
$$\text{MSE} = \dfrac{1}{n}\sum_{i=1}^{n} (y_i - \hat{y}_i)^2$$
বড় error-কে অনেক বড় penalize করে। Differentiable — তাই ML training-এ loss.
RMSE — Root MSE
$$\text{RMSE} = \sqrt{\text{MSE}}$$
Original একক ফিরিয়ে আনে। সবচেয়ে বেশি ব্যবহৃত।
R²R² · R-squared / Coefficient of Determinationমডেল target-এর variance-এর কত শতাংশ ব্যাখ্যা করে। ১ = নিখুঁত, ০ = mean predict-এর সমান, <০ = তার চেয়েও খারাপ। (Coefficient of Determination)
$$R^2 = 1 - \dfrac{\sum (y_i - \hat{y}_i)^2}{\sum (y_i - \bar{y})^2}$$
"আমার মডেল targeted variance-এর কত শতাংশ ব্যাখ্যা করে?" — ০ থেকে ১। ১ মানে নিখুঁত। <০ মানে — গড় predict-ও তুলনায় খারাপ।
import numpy as np
# বাড়ির সত্য দাম (লক্ষ টাকা) ও মডেলের পূর্বাভাস
y_true = np.array([75, 90, 45, 110, 65, 85, 70])
y_pred = np.array([72, 95, 40, 105, 70, 80, 78])
mae = np.mean(np.abs(y_true - y_pred))
mse = np.mean((y_true - y_pred) ** 2)
rmse = np.sqrt(mse)
# R²
ss_res = np.sum((y_true - y_pred) ** 2)
ss_tot = np.sum((y_true - y_true.mean()) ** 2)
r2 = 1 - ss_res / ss_tot
print(f"MAE = {mae:.2f} লক্ষ টাকা")
print(f"MSE = {mse:.2f}")
print(f"RMSE = {rmse:.2f} লক্ষ টাকা")
print(f"R² = {r2:.4f}")
৯ · Beyond Numbers — Qualitative মূল্যায়ন
সংখ্যা সব নয়। বাস্তব AI-তে কয়েকটি বিষয়ও দেখুন —
- Failure analysis: মডেল কোথায় কোথায় ভুল করছে — pattern আছে কি?
- Bias check: বিভিন্ন গোষ্ঠীতে accuracy কি একই?
- Edge case test: অস্বাভাবিক input-এ কী করে?
- User study: বাস্তব ব্যবহারকারীরা কী ভাবেন?
- LatencyLatencyএকটি input-এর উত্তর পেতে যত সময় লাগে। Real-time AI (চ্যাটবট, search)-এ critical metric — ms-এ মাপা হয়।: উত্তর দিতে কত সময়?
- Cost: InferenceInferencetrain-শেষ মডেল ব্যবহার করে নতুন input-এ prediction বের করার ধাপ। Production AI-র চলমান কাজ — training একবার, inference লক্ষ-কোটি বার।-এ কত টাকা প্রতি কল?
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ "ROC-AUC ০.৯০" — শুনে অনেকে impressed. কিন্তু imbalanced ডেটায় এটা misleading. কেন PR-AUC তুলনায় better? কখন কোনটি দেখবেন?
এই subtlety — ML-এ underrated অথচ critical. ROC-AUC সব দেখলে production AI অনেক ভুলে পড়ে।
(১) ROC Curve বনাম PR Curve:
- ROC: TPR (Recall) vs FPR — y-axis recall, x-axis false alarm rate.
- PR: Precision vs Recall — y-axis precision, x-axis recall.
- দু'টি curve = same data, different perspective.
(২) Imbalance-এর প্রভাব:
- ৯৯% Negative, ১% Positive (rare disease)।
- FPR = FP/(FP+TN) — denominator-এ TN বিশাল।
- FP যতই বাড়ুক — FPR ছোট থাকে (TN dominant)।
- ROC curve "ভাল" দেখায় — false sense of security.
(৩) Concrete উদাহরণ:
- Dataset: ১,০০০ negative, ১০ positive.
- Model predicts top 50 as positive: ৫টি correct, ৪৫টি wrong.
- FPR = 45/1000 = 0.045 — looks good.
- Precision = 5/50 = 0.10 — looks bad!
- একই model, দু'টি দৃষ্টি।
(৪) যখন ROC-AUC ভাল:
- Balanced classes (50-50)।
- Both classes equally important.
- Standard benchmark comparison.
(৫) যখন PR-AUC জরুরি:
- Imbalanced (rare positive class)।
- Positive class বেশি important.
- Information retrieval (search, recommendations)।
- Anomaly/fraud detection.
- Disease detection (rare condition)।
(৬) Random baseline:
- ROC: random model = 0.5 (universal)।
- PR: random = positive class proportion (varies!)।
- ৫% positive → random PR-AUC = 0.05 only.
- PR-AUC 0.30 = ৬x improvement (impressive)।
(৭) Visualization clarity:
- ROC curve quickly approaches top-left → overoptimistic.
- PR curve dramatic shape changes → real trade-off visible.
- Stakeholder communication-এ PR clearer.
(৮) Production decision making:
- Threshold selection on PR curve.
- "How many false alarms can we tolerate?" → precision target.
- "How many cases can we miss?" → recall target.
- F-beta score: $F_\beta = (1+\beta^2) \cdot \frac{P \cdot R}{\beta^2 P + R}$।
- $\beta = 2$: recall 2x weight; $\beta = 0.5$: precision 2x.
(৯) Practical scenarios:
- Spam filter: PR-AUC critical (don't lose important mails)।
- Medical screening: Both — maximize recall under precision constraint.
- Recommendation: PR-AUC at top-k (precision@10)।
- Search: Precision@k, NDCG.
(১০) Calibration matters:
- Probability score-গুলো actually probability নাই হতে পারে।
- Reliability diagram check.
- Calibrated হলে — threshold selection meaningful.
(১১) Common mistakes:
- Reporting only ROC-AUC on imbalanced data.
- Comparing models across different class balances.
- Ignoring per-class metrics.
- Single point on curve (single threshold) only.
(১২) Bangladesh use cases:
- Health screening (TB, cancer): PR-AUC primary, ROC secondary.
- Loan default: Imbalanced, PR-AUC + business cost-aware.
- Pirated content detection: Few positives, PR critical.
- Crop disease: Rare disease classes, macro-F1.
মূল উপলব্ধি: Single number metric — illusion. Imbalanced ডেটায় ROC-AUC misleading, PR-AUC honest. Always context-aware metric choice. Senior ML engineer = knows which to trust when.
প্র ০২ "আমার model 92% accurate" — boss-এর কাছে গর্বে বলবেন? Senior ML engineer প্রথম যে ৫টি প্রশ্ন করবেন আপনাকে?
এই question — ML engineer-এর maturity test. জুনিয়র "wow" বলে; senior interrogate করেন।
প্রশ্ন ১: "Class distribution কী?"
- ৯২% accuracy + ৯২% majority class = useless model.
- Class imbalance prove or refute.
- Always confusion matrix demand.
প্রশ্ন ২: "Test set কেমন? কতবার দেখেছ?"
- Hold-out test? Cross-validation?
- Single eval বা multiple?
- Test set leakage check হয়েছে?
- Group/time split correct?
প্রশ্ন ৩: "Per-class performance কী?"
- Class A: 99%, Class B: 50% — overall 92% misleading.
- Per-class precision, recall, F1.
- Failure modes identify.
প্রশ্ন ৪: "Baseline-এর সাথে compare করেছ?"
- Random predictor: ৫০%।
- Always-majority: ৭০%? ৮০%?
- Simple logistic regression baseline?
- Improvement Δ — meaningful?
প্রশ্ন ৫: "Production environment কেমন?"
- Latency requirement?
- Memory/cost?
- Real-world distribution = test distribution?
- Domain shift expected?
আরও গভীর প্রশ্ন:
- "Confidence interval কী?" — point estimate vs range.
- "Calibration কেমন?" — probability scores trustworthy?
- "Bias subgroups-এ কেমন?" — fairness check.
- "Adversarial robustness?" — small perturbation-এ কেমন?
- "Failure mode catalog?" — কোথায় কেন ভুল?
Common red flags:
- "৯৯% accuracy" — leakage সন্দেহ।
- "একটি single number" — incomplete picture.
- "Baseline নাই" — improvement unmeasured.
- "Test set ৫০ samples" — variance high.
- "Train accuracy ৯৯%, test ৯২%" — overfit warning.
Stakeholder communication:
- Boss-এর কাছে যাবার আগে — পুরো picture প্রস্তুত।
- Confusion matrix, per-class metrics, baseline comparison.
- Honest discussion of limitations.
- Future improvement plan.
Practical communication:
- "৯২% overall accuracy" — start with context.
- "Class A: 95%, B: 88%" — granular.
- "Baseline 70%, our 92% — 22% absolute improvement"।
- "Test on 10,000 examples, 95% CI: 91.5-92.5%"।
- Deployment recommendation.
Anti-pattern:
- "৯২% — let's deploy!" — premature.
- Single experiment, no replication.
- Cherry-picked test set.
- Hyperparameter tuned on test set.
মূল উপলব্ধি: Single number — ML communication-এর সবচেয়ে dangerous habit. ৯২% — meaningless without context. Senior engineer পাঁচটি query চালিয়ে decompose করেন। Junior to senior transition = thinking in distributions, not points.
প্র ০৩ "Calibration" — model-এর probability score কতটা trustworthy. কেন important? Modern Deep Learning models কেন প্রায়ই overconfident? কীভাবে fix?
Calibration — production AI safety-র key topic. Confidence score actually probability হলেই decision-making সুন্দর। Modern DL এই দিকে problematic.
(১) Calibration কী?
- Model predicts 80% confidence → 80% of those should actually be positive.
- Perfect calibration: prediction = actual probability.
- Miscalibration: 90% confidence কিন্তু actual 60% — overconfident.
(২) কেন important?
- Decision making — confidence threshold-এ depend করে।
- Risk assessment — wrong probability = wrong risk.
- Human-AI collaboration — trust calibrated AI.
- Uncertainty quantification — production critical.
(৩) Reliability Diagram:
- x-axis: predicted probability bin.
- y-axis: actual fraction positive.
- Diagonal = perfect calibration.
- Above = underconfident, below = overconfident.
(৪) Expected Calibration Error (ECE):
- Bins-এ predictions ভাগ।
- Each bin: |avg predicted - avg actual|।
- Weighted by bin size.
- 0 = perfect, higher = worse.
(৫) Modern DL overconfident কেন?
- Cross-entropy loss পুশ করে probability extremes-এ (0 or 1)।
- Network capacity বিশাল — train data-এ overfit.
- Batch normalization, dropout — calibration disturb.
- Guo et al. (2017): "On Calibration of Modern Neural Networks" — ResNet, DenseNet সবই miscalibrated.
(৬) Calibration techniques:
-
Platt Scaling:
- Sigmoid fit on logits.
- $P = \sigma(a \cdot z + b)$।
- Validation set-এ optimize.
-
Temperature Scaling:
- Single parameter $T$।
- $P_i = \text{softmax}(z_i / T)$।
- $T > 1$: smoother distribution.
- Simple, effective for DL.
-
Isotonic Regression:
- Non-parametric monotonic mapping.
- More flexible than Platt.
- Need more data.
(৭) Implementation:
import numpy as np
from scipy.optimize import minimize
# Temperature scaling
def cross_entropy(T, logits, labels):
probs = softmax(logits / T)
return -np.mean(np.log(probs[range(len(labels)), labels] + 1e-9))
result = minimize(cross_entropy, x0=1.0, args=(val_logits, val_labels))
T = result.x[0]
# Apply T at inference time
(৮) Beyond Calibration — Uncertainty:
- Aleatoric: data noise — irreducible.
- Epistemic: model uncertainty — reducible with data.
- MC Dropout — কম খরচে Bayesian approximation.
- Ensemble — multiple models, variance = uncertainty.
(৯) Production examples:
- Self-driving: brake decision threshold calibrated.
- Medical: triage based on confidence.
- Loan approval: probability of default = expected loss.
- Content moderation: high-confidence auto-action, low → human review.
(১০) Conformal Prediction:
- Distribution-free uncertainty.
- "95% prediction interval" guaranteed.
- Modern alternative to calibration.
(১১) LLM context:
- Hallucination = miscalibrated confidence.
- "Self-confidence" assessment hard.
- Anthropic, OpenAI research: instruct LLM to express uncertainty.
- Token probability ≠ semantic certainty.
(১২) Bangladesh context:
- Medical AI: calibration কঠিনভাবে required.
- Bangla NLP: limited data — uncertainty wider.
- Public-facing AI: "I don't know" allowed কি না?
- Educational tool: confidence display students-কে।
(১৩) Common mistakes:
- Threshold selection without calibration check.
- Probability-as-truth in downstream pipelines.
- Calibration on test set (cheating)।
- Single calibration globally — should be per-class.
মূল উপলব্ধি: Confident wrong > uncertain right — false. Calibration = honest AI. ৯০% confidence-এ ৯০% accuracy — production trust-এর foundation. Modern DL miscalibration default — fix-এর effort price-of-deployment.
প্র ০৪ "Bias detection" — different demographic-এ accuracy আলাদা। কীভাবে measure? Fairness metrics কী? Bangladesh AI deployment-এ এটা কেন critical?
Algorithmic fairness — modern AI ethics-এর core. Production AI deploy করতে গেলে fairness audit required (অনেক jurisdiction-এ legal mandate)।
(১) Bias-এর source:
- Historical bias: Past data-এ society-এর bias embedded.
- Sampling bias: কিছু group underrepresented.
- Label bias: Annotators-এর implicit bias.
- Algorithmic bias: Optimization artifacts.
- Deployment bias: Different group-এ different usage pattern.
(২) Fairness Metrics — Group:
-
Demographic Parity:
- $P(\hat{Y}=1 | A=0) = P(\hat{Y}=1 | A=1)$।
- সব group-এ equal positive rate.
- সমস্যা: ground truth ভিন্ন হলে problematic.
-
Equal Opportunity:
- $P(\hat{Y}=1 | Y=1, A=0) = P(\hat{Y}=1 | Y=1, A=1)$।
- সব group-এ equal recall.
- True positive-এ fairness.
-
Equalized Odds:
- Equal opportunity + equal FP rate.
- Stronger constraint.
-
Calibration parity:
- সব group-এ same calibration.
- Probability score equally meaningful.
(৩) Individual Fairness:
- "Similar individuals → similar predictions"।
- Distance-based formalization.
- Group fairness-এর সাথে tension.
(৪) Impossibility theorem:
- Chouldechova (২০১৭), Kleinberg (২০১৬): সব fairness criteria simultaneously satisfy অসম্ভব।
- Trade-off explicit হতে হবে।
- Context-specific choice.
(৫) Detection workflow:
- Protected attributes identify (age, gender, location, religion)।
- Per-group metrics calculate.
- Statistical significance test.
- Practical significance assess.
- Disaggregated reporting.
(৬) Tools:
- Fairlearn (Microsoft): Python library.
- AI Fairness 360 (IBM): Comprehensive toolkit.
- What-If Tool (Google): Interactive analysis.
- Aequitas: Bias audit reports.
(৭) Mitigation strategies:
-
Pre-processing:
- Reweighting samples.
- Disparate impact remover.
- Sampling strategies.
-
In-processing:
- Fairness-constrained optimization.
- Adversarial debiasing.
- Multi-objective loss.
-
Post-processing:
- Threshold adjustment per group.
- Calibration per group.
- Output transformation.
(৮) Famous failure cases:
- COMPAS (criminal recidivism): black defendants-এর FP rate বেশি।
- Amazon hiring: men preferred (২০১৮ scrapped)।
- Apple Card: women lower credit limits.
- Healthcare AI: less care recommended for black patients.
(৯) LLM fairness:
- Stereotype amplification.
- Toxicity towards minorities.
- Representation gaps.
- RLHF helps but doesn't solve.
(১০) Bangladesh-specific concerns:
-
Religion bias:
- Name-based discrimination.
- Loan approval, hiring.
- Sensitive attribute → বিশেষ care.
-
Gender:
- Workplace AI — female underrepresentation.
- Health AI — pregnancy bias.
-
Geographic:
- Dhaka vs rural — service quality.
- Hill tracts populations underrepresented.
-
Disability:
- Accessibility consideration.
- Speech recognition — speech impairment.
-
Socioeconomic:
- Education level proxies.
- Access to digital services.
(১১) Legal landscape:
- EU AI Act (২০২৪): high-risk AI fairness audit required.
- US: Equal Credit Opportunity Act, Fair Housing Act.
- Bangladesh: Data Protection Act ২০২৩।
- Industry standards evolving.
(১২) Practical advice:
- Diverse team — different perspectives catch bias.
- Stakeholder consultation.
- Continuous monitoring (not one-time check)।
- Transparent reporting.
- Easy redress for affected users.
(১৩) Future directions:
- Causal fairness frameworks.
- Counterfactual fairness.
- Long-term fairness dynamics.
- Participatory ML — community involvement.
মূল উপলব্ধি: Accuracy alone insufficient. Disaggregated, fair-aware metrics — production AI minimum. বাংলাদেশের সমাজ-বৈচিত্র্যে — bias detection extra critical. ভাল ML engineer accuracy চান, দারুণ ML engineer accuracy + fairness চান। নৈতিকতা = engineering quality.
অনুশীলন
-
হিসাব করুন: Confusion matrix — TP=40, FP=10, FN=20, TN=30. Accuracy, Precision, Recall, F1 বের করুন।
- Total = 40+10+20+30 = 100.
- Accuracy = (40+30)/100 = 0.70 (70%)।
- Precision = 40/(40+10) = 40/50 = 0.80 (80%)।
- Recall = 40/(40+20) = 40/60 = 0.667 (67%)।
- F1 = 2 · (0.80 × 0.667)/(0.80 + 0.667) = 1.067/1.467 ≈ 0.727।
ব্যাখ্যা: Recall (67%) বেশ কম — 60টি actual positive-এর 20টি missed. যদি FN-এর খরচ বেশি হয় (যেমন cancer), তাহলে threshold কমিয়ে recall বাড়াতে হবে।
-
সিদ্ধান্ত নিন: এই পরিস্থিতিগুলোতে কোন metric বেশি গুরুত্বপূর্ণ?
- একটি বিচার-আদালতের জন্য সম্ভাব্য অপরাধী চেনা
- সিনেমার জন্য recommendation
- বিমানের ত্রুটি আগে ধরা
- আদালত (অপরাধী চেনা): Precision বেশি গুরুত্বপূর্ণ। FP = নিরপরাধকে অপরাধী বলা — অমার্জনীয় অবিচার। "নিরপরাধকে সাজা না দেওয়াই বেশি গুরুত্বপূর্ণ অপরাধী মুক্ত হওয়ার চেয়ে" (Blackstone's ratio)। তবু — fairness across communities equally critical.
- সিনেমা recommendation: দু'টোই matter, কিন্তু Precision@K (top-10 suggestion-এ কতটা ভাল) main metric. Click-through rate, watch-completion rate. Recall-এ obsess করা লাগে না — সব movie suggest করা impossible.
- বিমান ত্রুটি: Recall অত্যন্ত গুরুত্বপূর্ণ। FN = ত্রুটি miss = catastrophic loss. FP (false alarm → inspection) আশঙ্কাজনক না — checking cost << crash cost. Recall ৯৯%+ target, precision যতটা reasonable.
-
চিন্তা করুন: একজন ML প্রকৌশলী বললেন তার মডেল ৯৮% accurate. আপনি প্রথম যে ৩টি প্রশ্ন করবেন?
- "Class distribution কী? Test set-এ majority class কত শতাংশ?" — যদি majority ৯৭% হয়, ৯৮% accuracy = baseline + 1%, almost useless.
- "Per-class performance show করো — confusion matrix?" — overall ৯৮% কিন্তু rare class-এ ০% recall হতে পারে।
- "Test set কীভাবে split করেছ? Leakage check কী?" — group/time/duplicate leakage সম্ভব। ৯৮% accuracy সাধারণত suspect.
আরও follow-up: Cross-validation করেছ? Baseline-এর সাথে compare? Production environment match? Confidence interval? ৩০ second-এ ১০টি প্রশ্ন।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পাঠ ২৯ · Overfitting বনাম Generalization পরবর্তী পাঠ Train accuracy ৯৯%, Test ৭০% — এই gap-এর কাহিনী।
- পাঠ ২৭ · ডেটাসেট আগের পাঠ Train/Val/Test বিভাজন — কোথায় metric measure.
- পাঠ ২৬ · বাস্তব সমস্যা থেকে AI এই পাঠের সাথে সম্পর্কিত Loss vs Metric এর প্রথম পরিচয় — problem framing.
- সব AI Courses দেখুন ABCL TECH Python, ML, DL, NLP, CV, GenAI, RL, MLOps — সব AI কোর্স একসাথে।