← All lessons
0255

Bias & Fairness

A model has no opinions — but its training data does. If historical decisions were skewed, a model trained on them learns the skew as if it were truth, and often amplifies it. This is not a rare glitch: it has appeared in hiring tools, loan approvals, and face recognition in production.

Both groups here are equally creditworthy; only the historical approval record is skewed. Raise the skew and watch the model's approval rates split — even though it was never shown anyone's group. It finds PROXIES (pincode, occupation, spending patterns) that correlate with group, and reproduces the past. Turn on the audit: measuring outcomes per group and rebalancing the data pulls rates back toward true merit. Fairness must be engineered and monitored; it never happens by default.

Both groups are equally creditworthy — the skew is in past human decisions, not in merit.

Group A
85% approved
Group B
16% approved

⚠ The model approves equally-qualified applicants at 85% vs 16%. It never saw anyone's group label — it found proxies (pincode, occupation, spending patterns) and reproduced the historical skew, slightly amplified.

\u201cThe algorithm decided\u201d is never a complete answer — models optimise for patterns in their data, including patterns we wish weren't there.

Check yourself

The team removed the group column from the data, yet the model still discriminates. How?

Go deeper (free): Google ML Crash Course — Fairness

Next: Explainability (XAI)