নিখুঁত ফেয়ারনেসের অসম্ভাব্যতা
এই পাঠে যা শিখবেন
- ইম্পসিবিলিটি থিওরেমের বিবৃতি — কেন ক্যালিব্রেশন ও ইকুয়ালাইজড অডস একসাথে পূরণ করা সাধারণত অসম্ভব
- এর পেছনের গাণিতিক অন্তর্দৃষ্টি — PPV, TPR, FPR ও বেস রেটের মধ্যে সম্পর্ক
- এই তত্ত্ব কীভাবে L11-এর COMPAS কেস স্টাডিকে ব্যাখ্যা করে
- একাধিক সিনারিও জুড়ে একটি সত্যিকারের কম্পিউটেড সুইপ — বেস-রেট গ্যাপ বাড়ার সাথে সাথে ট্রেড-অফ বাড়ার প্রমাণ
- এই তত্ত্বের ব্যবহারিক অর্থ — কেন এটি ফেয়ারনেস-নিয়ে-কাজ করাকে অর্থহীন করে না
১ · প্রশ্নটি — একসাথে সব মেট্রিক্স সন্তুষ্ট করা যায় কি?
L10-এ আমরা তিনটি ফেয়ারনেস মেট্রিক্স সংজ্ঞায়িত করেছি: ডেমোগ্রাফিক প্যারিটি, ইকুয়ালাইজড অডস, ও ক্যালিব্রেশন। L11-এ আমরা দেখেছি একটি বাস্তব-বিশ্বের বিতর্কে (COMPAS) একটি মডেল ক্যালিব্রেটেড হওয়া সত্ত্বেও ইকুয়ালাইজড অডসে ব্যর্থ হয়েছিল। স্বাভাবিক প্রশ্ন: এটি কি একটি নির্দিষ্ট মডেলের নকশাগত ভুল, নাকি এর পেছনে গভীরতর কোনো কারণ আছে?
ফেয়ারনেস-ইন-মেশিন-লার্নিং গবেষণায় (মূলত ২০১৬-১৭ সালের কয়েকটি স্বাধীন গবেষণাপত্রে) এই প্রশ্নের একটি কঠোর গাণিতিক উত্তর প্রতিষ্ঠিত হয়েছে — এবং উত্তরটি অনেকের জন্যই প্রত্যাশার বিপরীত।
২ · ইম্পসিবিলিটি থিওরেম
সাধারণভাবে বললে: যদি দুটি গ্রুপের প্রকৃত বেস রেট (base rate/prevalence) ভিন্ন হয়, তাহলে একটি প্রেডিকশন মডেল একই সাথে (ক) ক্যালিব্রেটেড থাকতে পারে না এবং (খ) উভয় গ্রুপে সমান TPR ও FPR-ও থাকতে পারে না — একেবারে ব্যতিক্রমী/ডিজেনারেট পরিস্থিতি ছাড়া (যেমন মডেলটি ১০০% নির্ভুল হলে, অথবা বেস রেট দুই গ্রুপেই হুবহু সমান হলে)। এটি কোনো নির্দিষ্ট অ্যালগরিদমের সীমাবদ্ধতা নয় — এটি সংখ্যার একটি অনিবার্য ফলাফল, যেকোনো মডেলের জন্যই সত্য।
৩ · কেন এটি সত্য — গাণিতিক অন্তর্দৃষ্টি
একটি গ্রুপের বেস রেট $p$ (প্রকৃতপক্ষে পজিটিভ হওয়ার হার), TPR, FPR ও ক্যালিব্রেশন (PPV)-এর মধ্যে বেইজ থিওরেমের একটি সরাসরি সম্পর্ক আছে:
$$PPV = \frac{TPR \cdot p}{TPR \cdot p + FPR \cdot (1-p)}$$এই ফর্মুলাটি পুনর্বিন্যাস করলে পাওয়া যায়:
$$\frac{TPR}{FPR} = \frac{PPV}{1-PPV} \cdot \frac{1-p}{p}$$লক্ষ্য করুন — যদি $PPV$ (ক্যালিব্রেশন) একটি নির্দিষ্ট মান স্থির রাখা হয়, তাহলে $TPR/FPR$-এর অনুপাত সরাসরি বেস রেট $p$-এর উপর নির্ভরশীল হয়ে যায়। দুই গ্রুপের $p$ ভিন্ন হলে, একই $PPV$ বজায় রাখতে $TPR$ ও $FPR$-এর সমন্বয় ভিন্ন হতে বাধ্য — অর্থাৎ TPR ও FPR দুটোই সব গ্রুপে হুবহু সমান রাখা (ইকুয়ালাইজড অডস) আর সম্ভব থাকে না। এটিই ঠিক L11-এ আমাদের সিন্থেটিক ডেমোতে দেখা গিয়েছিল।
৪ · COMPAS-এর সাথে সংযোগ
L11-এ আমরা দেখেছি ২০১৬ সালের ProPublica তদন্তে COMPAS-এর ক্যালিব্রেশন গ্রুপ জুড়ে প্রায় সমান পাওয়া গিয়েছিল, অথচ FPR/FNR স্পষ্টভাবে ভিন্ন ছিল, এবং Northpointe/Equivant পাল্টা দাবি করেছিল টুলটি ভালোভাবে ক্যালিব্রেটেড। এই পাঠের থিওরেম অনুযায়ী — যদি গ্রুপগুলোর প্রকৃত রিসিডিভিজম বেস রেট ভিন্ন থাকে (যা বাস্তবে বিভিন্ন সামাজিক-অর্থনৈতিক ও ঐতিহাসিক কারণে ঘটতে পারে), তাহলে এই দুটি পর্যবেক্ষণ — "সমান ক্যালিব্রেশন" ও "ভিন্ন FPR/FNR" — একই সাথে সত্য হওয়াটাই গাণিতিকভাবে প্রত্যাশিত, কোনো উদ্ভট কাকতালীয় ঘটনা নয়। দুই পক্ষই সত্য বলছিল; সমস্যাটি ছিল "কোন একক মেট্রিক্স ফেয়ারনেসের সম্পূর্ণ সংজ্ঞা" এই ধারণাতেই।
৫ · একটি সত্যিকারের সুইপ — বেস-রেট গ্যাপ যত বাড়ে, ট্রেড-অফ তত বাড়ে
নিচের কোডে L10-এর ক্যালকুলেটর প্যাটার্ন পুনরায় ব্যবহার করে একটি সহায়ক ফাংশন লেখা হয়েছে যা একটি নির্দিষ্ট বেস রেট, লক্ষ্য-TPR ও লক্ষ্য-ক্যালিব্রেশন (PPV) থেকে সরাসরি একটি বৈধ কনফিউশন ম্যাট্রিক্স তৈরি করে (উপরের ফর্মুলা থেকেই derive করা)। এরপর গ্রুপ A-এর বেস রেট ৫০%-এ স্থির রেখে, গ্রুপ B-এর বেস রেট ধাপে ধাপে ৫০% থেকে ১০%-এ নামিয়ে আনা হচ্ছে (অর্থাৎ বেস-রেট গ্যাপ ক্রমশ বাড়ছে) — প্রতিটি ধাপে TPR ও ক্যালিব্রেশন একই লক্ষ্যে রাখার চেষ্টা করে দেখা হচ্ছে FPR-এর গ্যাপ কীভাবে বদলায়।
def build_confusion_matrix(n, base_rate, target_tpr, target_ppv):
actual_positive = round(n * base_rate)
actual_negative = n - actual_positive
TP = round(actual_positive * target_tpr)
FN = actual_positive - TP
# ক্যালিব্রেশন (PPV) স্থির রাখতে প্রয়োজনীয় FP: PPV = TP / (TP + FP) => FP = TP * (1 - PPV) / PPV
FP = round(TP * (1 - target_ppv) / target_ppv)
TN = actual_negative - FP
return {"TP": TP, "FP": FP, "FN": FN, "TN": TN}
def fairness_metrics(cm):
TP, FP, FN, TN = cm["TP"], cm["FP"], cm["FN"], cm["TN"]
actual_positive = TP + FN
actual_negative = FP + TN
predicted_positive = TP + FP
return {
"tpr": TP / actual_positive if actual_positive else 0,
"fpr": FP / actual_negative if actual_negative else 0,
"calibration_ppv": TP / predicted_positive if predicted_positive else 0,
}
TARGET_TPR = 0.5 # সব সিনারিওতেই TPR ৫০%-এ স্থির রাখার লক্ষ্য (একটি ইকুয়ালাইজড-অডস লক্ষ্য)
TARGET_PPV = 0.7 # সব সিনারিওতেই ক্যালিব্রেশন ৭০%-এ স্থির রাখার লক্ষ্য
N = 1000
BASE_RATE_A = 0.5 # গ্রুপ A-এর বেস রেট সব সিনারিওতে অপরিবর্তিত
scenarios = [0.5, 0.4, 0.3, 0.2, 0.1] # গ্রুপ B-এর বেস রেট -- ধাপে ধাপে গ্রুপ A থেকে দূরে সরে যাচ্ছে
cm_a = build_confusion_matrix(N, BASE_RATE_A, TARGET_TPR, TARGET_PPV)
m_a = fairness_metrics(cm_a)
print(f"গ্রুপ A বেস রেট {BASE_RATE_A*100:.0f}% (সব সিনারিওতে স্থির) -- TPR: {m_a['tpr']*100:.1f}%, FPR: {m_a['fpr']*100:.1f}%, ক্যালিব্রেশন: {m_a['calibration_ppv']*100:.1f}%")
print()
print(f"{'গ্রুপ B বেস রেট':>16} | {'বেস-রেট গ্যাপ':>14} | {'গ্রুপ B FPR':>12} | {'FPR গ্যাপ (pp)':>15}")
for base_rate_b in scenarios:
cm_b = build_confusion_matrix(N, base_rate_b, TARGET_TPR, TARGET_PPV)
m_b = fairness_metrics(cm_b)
base_rate_gap = abs(BASE_RATE_A - base_rate_b) * 100
fpr_gap = abs(m_a["fpr"] - m_b["fpr"]) * 100
print(f"{base_rate_b*100:>14.0f}% | {base_rate_gap:>13.0f}pp | {m_b['fpr']*100:>11.1f}% | {fpr_gap:>14.1f}")
এই থিওরেমের মানে এই নয় যে ফেয়ারনেস-নিয়ে-কাজ করা অর্থহীন — বরং এর ব্যবহারিক অর্থ হলো: (১) একটি মডেল ডিজাইন করার আগে সচেতনভাবে ঠিক করতে হবে প্রেক্ষাপটে কোন মেট্রিক্স সবচেয়ে গুরুত্বপূর্ণ (L12-এর মিটিগেশন কৌশলগুলো সেই নির্বাচিত মেট্রিক্সের জন্যই প্রয়োগ করতে হবে), (২) যেখানেই সম্ভব অন্তর্নিহিত বেস-রেট গ্যাপের প্রকৃত কারণ (প্রায়ই L09-এর ঐতিহাসিক/রিপ্রেজেন্টেশন বায়াস) কমানোর চেষ্টা করা উচিত, এবং (৩) "আমাদের মডেল ফেয়ার" — এই দাবি সবসময় "কোন মেট্রিক্স অনুযায়ী ফেয়ার" এই প্রশ্নের সাথে সুনির্দিষ্টভাবে যুক্ত থাকা উচিত। এটিই এই মডিউলের (M3) সবচেয়ে গুরুত্বপূর্ণ শিক্ষা।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ উপরের সুইপে বেস-রেট গ্যাপ ও FPR গ্যাপের মধ্যে সম্পর্কটি কেমন দেখা গেল, এবং এটি একটি কাকতালীয় প্যাটার্ন নাকি একটি অনিবার্য গাণিতিক ফলাফল?
বেস-রেট গ্যাপ বাড়ার সাথে সাথে FPR গ্যাপও ধারাবাহিকভাবে বেড়েছে। এটি কাকতালীয় নয় — এটি সরাসরি $PPV = \frac{TPR \cdot p}{TPR \cdot p + FPR \cdot (1-p)}$ ফর্মুলার একটি অনিবার্য গাণিতিক ফলাফল: $TPR$ ও $PPV$ স্থির রাখলে $FPR$-এর মান বেস রেট $p$-এর একটি নির্দিষ্ট, পূর্বানুমানযোগ্য ফাংশন হয়ে যায়।
প্র ০২ এই থিওরেম কীভাবে L11-এর COMPAS বিতর্ককে ব্যাখ্যা করে — ProPublica ও Northpointe উভয়ই কি "ভুল" ছিল?
না, কেউই "ভুল" ছিল না। এই থিওরেম দেখায় যে গ্রুপগুলোর বেস রেট ভিন্ন থাকলে, একটি টুল একই সাথে ক্যালিব্রেটেড (Northpointe-এর দাবি) হতে পারে এবং তবুও FPR/FNR-এ ভিন্নতা (ProPublica-এর দাবি) থাকতে পারে — দুটোই একই সাথে সত্য হতে পারে, বরং গাণিতিকভাবে এটিই প্রত্যাশিত। প্রকৃত মতবিরোধটি তথ্যগত নয়, বরং মূল্যবোধগত — কোন ফেয়ারনেস মেট্রিক্সকে অগ্রাধিকার দেওয়া উচিত, তা নিয়ে।
প্র ০৩ এই থিওরেম কি বোঝায় যে ফেয়ারনেস মেট্রিক্স মাপা বা বায়াস কমানোর চেষ্টা করা (L10-L12) অর্থহীন, যেহেতু "নিখুঁত ফেয়ারনেস" যাইহোক অসম্ভব?
না। থিওরেমটি বলে "সব মেট্রিক্স একসাথে নিখুঁতভাবে সন্তুষ্ট করা" অসম্ভব হতে পারে — এটি বলে না যে মেট্রিক্স উন্নত করার চেষ্টা অর্থহীন। L12-এর মিটিগেশন কৌশলগুলো একটি সচেতনভাবে নির্বাচিত মেট্রিক্সের গ্যাপ বাস্তবে উল্লেখযোগ্যভাবে কমাতে পারে (যেমন আমরা সত্যিই গণনা করে দেখেছিলাম)। মূল শিক্ষা হলো: কোন মেট্রিক্স অগ্রাধিকার পাচ্ছে তা স্বচ্ছভাবে ঘোষণা করা এবং সেই সিদ্ধান্তের পেছনের যুক্তি ব্যাখ্যা করা জরুরি — নীরবে "আমরা ফেয়ার" দাবি করা যথেষ্ট নয়।
অনুশীলন
-
চিন্তা করুন: উপরের কোড সেলে
TARGET_TPR-কে0.5থেকে0.8-এ বাড়ালে (অর্থাৎ আরও কঠোর ইকুয়ালাইজড-অডস লক্ষ্য), FPR গ্যাপের ঊর্ধ্বমুখী প্রবণতাটি কি এখনও দেখা যাবে বলে আপনার ধারণা?হ্যাঁ, প্রবণতাটি এখনও দেখা যাবে (বেস-রেট গ্যাপ বাড়ার সাথে FPR গ্যাপও বাড়বে), তবে প্রতিটি সিনারিওর FPR ও FPR গ্যাপ — দুটোরই মান আগের চেয়ে বড় হবে, কারণ ফর্মুলা অনুযায়ী FPR সরাসরি $TPR$-এর সমানুপাতিক — তাই $TPR$ বাড়ালে একই বেস-রেট গ্যাপে FPR গ্যাপও বড় হয়ে যায়।
-
পরীক্ষা করুন: উপরের কোড সেলে
TARGET_TPR = 0.5-কেTARGET_TPR = 0.8-এ পরিবর্তন করে Run চেপে আপনার অনুমান যাচাই করুন।পরিবর্তনের পর দেখা যাবে ঊর্ধ্বমুখী প্রবণতা অক্ষুণ্ণ থাকে (বেস-রেট গ্যাপ বাড়লে FPR গ্যাপও বাড়ে), কিন্তু প্রতিটি সংখ্যা আগের তুলনায় বড়— যেমন গ্রুপ A-এর FPR প্রায় ২১% থেকে বেড়ে প্রায় ৩৪%-এ পৌঁছাবে, এবং সর্বোচ্চ বেস-রেট গ্যাপে (৪০pp) FPR গ্যাপ প্রায় ১৯pp থেকে বেড়ে প্রায় ৩০pp-এর কাছাকাছি হবে — নিশ্চিত করে যে $TPR$ লক্ষ্য যত কঠোর হয়, ট্রেড-অফও তত তীব্র হয়।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পরবর্তী পাঠ L14 AI-তে প্রাইভেসি কেন একটি বিশেষ সমস্যা — মডিউল ৪-এর শুরু, ডেটা মিনিমাইজেশন, k-অ্যানোনিমিটি ও ডিফারেনশিয়াল প্রাইভেসির দিকে।
- কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৫৭টি পাঠ নৈতিক ফ্রেমওয়ার্ক, বায়াস-ফেয়ারনেস, প্রাইভেসি, ট্রান্সপারেন্সি, AI অ্যালাইনমেন্ট, জেনারেটিভ AI/LLM এথিক্স, সামাজিক প্রভাব, গভর্নেন্স ও রেগুলেশন, সেক্টর-স্পেসিফিক এথিক্স ও এক্সিস্টেনশিয়াল রিস্ক বিতর্ক।
- Ethics in Computing & AI Safety কোর্স সহোদর কোর্স সাধারণ কম্পিউটিং এথিক্স, প্রফেশনাল এথিক্স ও সেফটি-ক্রিটিক্যাল কেস স্টাডির একটি বিস্তৃত সার্ভে।