পাঠ ২৪ · ৩৫-এর মধ্যে · মডিউল ৬
Home / AI Courses / Math for AI & ML / সম্ভাবনার স্বতঃসিদ্ধ

সম্ভাবনার স্বতঃসিদ্ধ ও শর্তাধীন সম্ভাবনা

Axioms of probability & conditional probability
১২ মিনিট পড়া মধ্যম · Intermediate NumPy কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • স্যাম্পল স্পেস, ইভেন্ট ও সম্ভাবনার আনুষ্ঠানিক (formal) সংজ্ঞা
  • কলমোগোরভের তিনটি স্বতঃসিদ্ধ এবং সেগুলো থেকে সরাসরি প্রমাণিত কিছু উপ-ফলাফল
  • শর্তাধীন সম্ভাবনা ও স্বাধীনতার সংজ্ঞা এবং পার্থক্য
  • মোট সম্ভাবনার সূত্র দিয়ে একটি বাস্তব স্প্যাম-ফিল্টার সমস্যা সমাধান — যা L28-এ সম্পূর্ণ হবে

১ · স্যাম্পল স্পেস ও ইভেন্ট

যেকোনো এলোমেলো (random) পরীক্ষার সম্ভাব্য সব ফলাফলের সেটকে বলা হয় স্যাম্পল স্পেসSample Space ($\Omega$)একটি এলোমেলো পরীক্ষার সম্ভাব্য সব ফলাফলের সম্পূর্ণ সেট।, চিহ্ন $\Omega$। যেমন একটি সাধারণ ছক্কা ফেললে $\Omega=\{1,2,3,4,5,6\}$। এই স্যাম্পল স্পেসের যেকোনো উপসেট (subset) একটি ইভেন্ট (event) — যেমন "জোড় সংখ্যা ওঠা" ইভেন্টটি হলো $A=\{2,4,6\}\subseteq\Omega$।

ML-এর প্রেক্ষাপটে স্যাম্পল স্পেস হতে পারে "একটি ইমেইল স্প্যাম নাকি স্প্যাম নয়" ($\Omega=\{\text{স্প্যাম}, \text{স্প্যাম নয়}\}$), অথবা "একটি ছবি কোন ১০টি ক্লাসের একটির অন্তর্গত" — যেকোনো পরিস্থিতিতেই একই আনুষ্ঠানিক কাঠামো কাজ করে।

২ · কলমোগোরভের স্বতঃসিদ্ধ

সম্ভাবনা তত্ত্বের পুরো ভবন মাত্র তিনটি স্বতঃসিদ্ধ (axiom) এর উপর দাঁড়িয়ে আছে, যা ১৯৩৩ সালে আন্দ্রেই কলমোগোরভ প্রস্তাব করেন। প্রতিটি ইভেন্ট $A\subseteq\Omega$-এর জন্য —

কলমোগোরভের তিনটি স্বতঃসিদ্ধ

১. নন-নেগেটিভিটি: $P(A)\geq 0$ — কোনো সম্ভাবনা ঋণাত্মক হতে পারে না।
২. নরমালাইজেশন: $P(\Omega)=1$ — সম্পূর্ণ স্যাম্পল স্পেসের সম্ভাবনা সবসময় $1$।
৩. যোগযোগ্যতা (countable additivity): যদি $A$ ও $B$ পরস্পর বিচ্ছিন্ন (disjoint, অর্থাৎ $A\cap B=\emptyset$) হয়, তাহলে $P(A\cup B)=P(A)+P(B)$।

এই তিনটি স্বতঃসিদ্ধ থেকেই সরাসরি বেশ কিছু দরকারি ফলাফল প্রমাণ করা যায়। যেমন —

  • পরিপূরক নিয়ম: $P(A^c)=1-P(A)$, কারণ $A$ এবং $A^c$ (A নয় এমন) পরস্পর বিচ্ছিন্ন এবং $A\cup A^c=\Omega$, তাই axiom ৩ ও ২ থেকে $P(A)+P(A^c)=P(\Omega)=1$।
  • খালি সেটের সম্ভাবনা: $P(\emptyset)=0$ (উপরের নিয়মে $A=\Omega$ বসিয়ে)।
  • ইনক্লুশন-এক্সক্লুশন: $A$, $B$ বিচ্ছিন্ন না হলেও সাধারণভাবে $P(A\cup B)=P(A)+P(B)-P(A\cap B)$ — কারণ $A\cap B$ অংশটুকু দুইবার গোনা হয়ে যায়।
লক্ষ করুন — এই স্বতঃসিদ্ধগুলো কখনো বলে না সম্ভাবনা কীভাবে নির্ধারণ করতে হবে (সেটা বাস্তব সমস্যা-নির্ভর); এরা শুধু বলে যেকোনো বৈধ সম্ভাবনা-ফাংশনকে অবশ্যই এই তিনটি নিয়ম মানতে হবে। একটি মডেলের আউটপুট (যেমন softmax) সম্ভাবনা বলে দাবি করলে সেটাও এই তিনটি নিয়ম মানছে কি না যাচাই করা যায়।

৩ · শর্তাধীন সম্ভাবনা

প্রায়ই আমরা জানতে চাই — একটি ঘটনা $B$ ঘটেছে এটা জানার পরে, আরেকটি ঘটনা $A$ ঘটার সম্ভাবনা কত বদলায়। এটাই শর্তাধীন সম্ভাবনাConditional Probabilityএকটি ঘটনা ঘটেছে জেনে আরেকটি ঘটনার হালনাগাদ করা সম্ভাবনা। — সংজ্ঞা অনুযায়ী (যখন $P(B)>0$):

$$P(A\mid B)=\frac{P(A\cap B)}{P(B)}$$

স্বজ্ঞাগতভাবে — আমরা স্যাম্পল স্পেসটিকে ছোট করে শুধু $B$-এর মধ্যে সীমাবদ্ধ করে ফেলছি (যেন $B$-ই এখন নতুন "পুরো জগৎ"), এবং তার মধ্যে $A\cap B$-এর অংশটুকু কতটা তা মাপছি। উদাহরণ — একটি তাসের প্যাক থেকে একটি তাস তোলা হলো, এবং বলা হলো সেটি একটি "রাজা বা রানী বা গোলাম" (face card, $B$)। এখন $A=$ "তাসটি হরতনের (hearts)" হওয়ার সম্ভাবনা — $P(B)=12/52$ (৩টি face card × ৪টি suit), $P(A\cap B)=3/52$ (হরতনের ৩টি face card), তাই $P(A\mid B)=\frac{3/52}{12/52}=\frac{1}{4}$ — যেটা আসলে যুক্তিসঙ্গত, কারণ প্রতিটি suit-এ face card-এর অনুপাত সমান।

৪ · স্বাধীনতা (Independence)

দুটি ইভেন্ট $A$ ও $B$ কে স্বাধীনIndependent Eventsএকটির ফলাফল জানলে অন্যটির সম্ভাবনার কোনো পরিবর্তন হয় না। বলা হয় যদি একটি ঘটেছে জানার পরও অন্যটির সম্ভাবনা অপরিবর্তিত থাকে, অর্থাৎ $P(A\mid B)=P(A)$। শর্তাধীন সম্ভাবনার সংজ্ঞায় এটি বসিয়ে সমতুল্য (equivalent) ও বেশি ব্যবহৃত রূপ পাওয়া যায় —

$$P(A\cap B)=P(A)\,P(B) \quad \text{(A, B স্বাধীন হলে)}$$

এই রূপটি সুবিধাজনক কারণ এটি প্রতিসম (symmetric) — $A$ ও $B$-এর মধ্যে কৃত্রিম কোনো ক্রম নেই, এবং $P(B)=0$ হলেও সংজ্ঞাহীন হয়ে যায় না। ML-এ "iid" (independent and identically distributed) অনুমান — যেমন প্রশিক্ষণ ডেটার প্রতিটি স্যাম্পল একে অপরের থেকে স্বাধীন — ঠিক এই সংজ্ঞার উপরেই দাঁড়িয়ে আছে; likelihood ফাংশনকে একটি গুণফল (product) হিসেবে লেখার (L30) মূল কারণও এটাই।

স্বাধীনতা ≠ পরস্পর বিচ্ছিন্নতা (disjoint)। এই দুটি ধারণা প্রায়ই গুলিয়ে ফেলা হয়। $A$ ও $B$ বিচ্ছিন্ন মানে তারা একসাথে ঘটতেই পারে না ($A\cap B=\emptyset$) — বাস্তবে এটি বরং চরম নির্ভরশীলতার একটি রূপ, কারণ একটি ঘটলে অন্যটি ঘটার সম্ভাবনা ঠিক শূন্যে নেমে যায়। দুটি বিচ্ছিন্ন ইভেন্ট (যাদের সম্ভাবনা শূন্য নয়) কখনোই স্বাধীন হতে পারে না।

৫ · মোট সম্ভাবনার সূত্র

ধরুন স্যাম্পল স্পেস $\Omega$-কে কয়েকটি পরস্পর-বিচ্ছিন্ন অংশ $B_1, B_2, \dots, B_n$-এ ভাগ করা যায় (যাদের মিলিত ইউনিয়ন পুরো $\Omega$)। তাহলে যেকোনো ইভেন্ট $A$-এর সম্ভাবনা এই অংশগুলোর উপর শর্তাধীন সম্ভাবনার একটি ভারযুক্ত (weighted) যোগফল হিসেবে লেখা যায় —

$$P(A)=\sum_{i=1}^n P(A\mid B_i)\,P(B_i)$$

এটাকে মোট সম্ভাবনার সূত্র (law of total probability) বলা হয়। এটি অত্যন্ত ব্যবহারিক, কারণ প্রায়ই $P(A)$ সরাসরি হিসাব করা কঠিন, কিন্তু কিছু "কারণ" বা "পরিস্থিতি" ($B_i$) অনুযায়ী ভাগ করলে প্রতিটি অংশের শর্তাধীন সম্ভাবনা সহজেই জানা থাকে।

একটি স্প্যাম-ফিল্টার উদাহরণ। ধরা যাক একটি ইমেইল ইনবক্সে $40\%$ ইমেইল স্প্যাম ($P(\text{স্প্যাম})=0.4$), বাকি $60\%$ প্রকৃত ইমেইল ($P(\text{স্প্যাম}^c)=0.6$)। স্প্যাম ইমেইলে "free" শব্দটি থাকার সম্ভাবনা $P(\text{free}\mid\text{স্প্যাম})=0.6$, কিন্তু প্রকৃত ইমেইলেও মাঝে মাঝে "free" শব্দটি থাকে — $P(\text{free}\mid\text{স্প্যাম}^c)=0.05$। এখন প্রশ্ন — এলোমেলোভাবে একটি ইমেইল বেছে নিলে তাতে "free" শব্দটি থাকার সামগ্রিক সম্ভাবনা $P(\text{free})$ কত? এখানে সরাসরি $P(\text{free})$ জানা নেই, কিন্তু স্প্যাম/নন-স্প্যাম শর্তে ভাগ করে মোট সম্ভাবনার সূত্র প্রয়োগ করা যায় — $$P(\text{free})=P(\text{free}\mid\text{স্প্যাম})P(\text{স্প্যাম})+P(\text{free}\mid\text{স্প্যাম}^c)P(\text{স্প্যাম}^c)$$ $$P(\text{free})=(0.6)(0.4)+(0.05)(0.6)=0.24+0.03=0.27$$ অর্থাৎ ইনবক্সের প্রায় $27\%$ ইমেইলে "free" শব্দটি থাকবে। এই একই সংখ্যাগুলো (এবং এই ফলাফল $0.27$) পরের পাঠ L28-এ আবার ব্যবহৃত হবে — সেখানে আমরা উল্টো প্রশ্নটি করব: "free" শব্দটি দেখে ইমেইলটি স্প্যাম হওয়ার সম্ভাবনা কত? সেই প্রশ্নের উত্তরই বেইজ থিওরেম।

নিচের কোডে আমরা এই স্প্যাম-ফিল্টার পরিস্থিতিটি বাস্তবে সিমুলেট করছি — লক্ষ লক্ষ ইমেইল "তৈরি" করে দেখছি যে Monte Carlo সিমুলেশন থেকে পাওয়া অভিজ্ঞতামূলক (empirical) সম্ভাবনা হাতে-হিসাব করা $0.27$-এর কাছাকাছি আসে কি না।

Python · NumPy
import numpy as np
np.random.seed(0)

n = 1_000_000

# ধাপ ১: প্রতিটি ইমেইল স্প্যাম কি না ঠিক করা — P(স্প্যাম) = 0.4
is_spam = np.random.rand(n) < 0.4

# ধাপ ২: প্রতিটি ইমেইলের জন্য "free" শব্দ থাকার শর্তাধীন সম্ভাবনা বসানো
#   স্প্যাম হলে 0.6, না হলে 0.05 — np.where দিয়ে ভেক্টরাইজড শর্ত প্রয়োগ
p_free_given_type = np.where(is_spam, 0.6, 0.05)

# ধাপ ৩: সেই সম্ভাবনা অনুযায়ী "free" শব্দ থাকা/না-থাকা সিদ্ধান্ত
has_free = np.random.rand(n) < p_free_given_type

empirical_P_free = has_free.mean()
theoretical_P_free = 0.6 * 0.4 + 0.05 * 0.6

print("অভিজ্ঞতামূলক P(free)  =", round(empirical_P_free, 4))
print("তাত্ত্বিক P(free)       =", round(theoretical_P_free, 4))

    
মূল কথা · Key takeaway

তিনটি স্বতঃসিদ্ধ থেকে শুরু করে আমরা শর্তাধীন সম্ভাবনা, স্বাধীনতা ও মোট সম্ভাবনার সূত্র পেলাম — এই তিনটিই পরের চারটি পাঠের (L25-L28) ভিত্তি। বিশেষভাবে, মোট সম্ভাবনার সূত্র এবং শর্তাধীন সম্ভাবনার সংজ্ঞা একসাথে বসালেই L28-এ আমরা সরাসরি বেইজ থিওরেম ডেরাইভ করব।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ দুটি ইভেন্ট $A$ ও $B$-এর সম্ভাবনা যথাক্রমে $P(A)=0.5$ এবং $P(B)=0.5$, এবং তারা স্বাধীন। তাহলে $P(A\cup B)$ কত?

ইনক্লুশন-এক্সক্লুশন নিয়মে $P(A\cup B)=P(A)+P(B)-P(A\cap B)$। স্বাধীনতার কারণে $P(A\cap B)=P(A)P(B)=0.25$। তাই $P(A\cup B)=0.5+0.5-0.25=0.75$। লক্ষ করুন — যদি তারা বিচ্ছিন্ন (disjoint) হতো, তাহলে $P(A\cap B)=0$ হতো এবং $P(A\cup B)=1.0$ হতো, কিন্তু স্বাধীন ও বিচ্ছিন্ন এক জিনিস নয়, তাই উত্তর ভিন্ন।

প্র ০২ উপরের স্প্যাম উদাহরণে, যদি $P(\text{free}\mid\text{স্প্যাম}^c)=0.6$-ও হতো (অর্থাৎ স্প্যাম ও নন-স্প্যাম উভয়েই "free" শব্দ সমান হারে থাকত), তাহলে এই শব্দটি স্প্যাম শনাক্ত করতে কতটা কার্যকর হতো?

একদমই কার্যকর হতো না। যদি $P(\text{free}\mid\text{স্প্যাম})=P(\text{free}\mid\text{স্প্যাম}^c)$ হয়, তাহলে "free" শব্দ থাকা বা না-থাকা ইমেইলটি স্প্যাম কি না — এই তথ্যের সাথে স্বাধীন হয়ে যায় (সংজ্ঞা অনুযায়ী)। অর্থাৎ শব্দটি দেখে স্প্যাম হওয়ার সম্ভাবনার কোনো আপডেট হবে না — posterior সমান prior-এর সমান থাকবে। একটি ভালো ফিচার হওয়ার শর্তই হলো এই দুই শর্তাধীন সম্ভাবনা যতটা সম্ভব ভিন্ন হওয়া।

প্র ০৩ কেন কলমোগোরভের স্বতঃসিদ্ধে "$P(A)\leq 1$" আলাদা করে বলা হয়নি, অথচ এটা আমরা সবসময় সত্য বলে জানি?

কারণ এটি বাকি তিনটি স্বতঃসিদ্ধ থেকেই প্রমাণযোগ্য, তাই আলাদা axiom হিসেবে যোগ করার দরকার নেই — একটি ভালো axiom সিস্টেমে কোনো redundancy রাখা হয় না। প্রমাণ: $A\subseteq\Omega$ হলে $A$ এবং $\Omega\setminus A$ (অর্থাৎ $A^c$) পরস্পর বিচ্ছিন্ন এবং তাদের ইউনিয়ন $\Omega$। তাই axiom ৩ থেকে $P(A)+P(A^c)=P(\Omega)=1$ (axiom ২)। যেহেতু axiom ১ অনুযায়ী $P(A^c)\geq0$, তাই $P(A)=1-P(A^c)\leq 1$।

অনুশীলন

  1. হিসাব করুন: একটি সুষম ছক্কা একবার ফেলা হলো। $A=$ "৪ এর চেয়ে বড় সংখ্যা" এবং $B=$ "জোড় সংখ্যা"। $P(A\mid B)$ বের করুন।

    $\Omega=\{1,2,3,4,5,6\}$, $A=\{5,6\}$, $B=\{2,4,6\}$, তাই $A\cap B=\{6\}$। $P(B)=3/6=1/2$, $P(A\cap B)=1/6$। সূত্র অনুযায়ী $P(A\mid B)=\frac{1/6}{1/2}=\frac{1}{3}$।

  2. যাচাই করুন: কোড সেলে p_free_given_type-এর মান দুটি (0.6 ও 0.05) কে সমান একটি মান (যেমন 0.3, 0.3) করে দিয়ে আবার Run করুন। empirical P(free) কী মানে স্থির হয়, এবং কেন সেটাই যুক্তিসঙ্গত?

    যখন উভয় শর্তাধীন সম্ভাবনা সমান ($p$), তখন মোট সম্ভাবনার সূত্র অনুযায়ী $P(\text{free})=p\cdot P(\text{স্প্যাম})+p\cdot P(\text{স্প্যাম}^c)=p(P(\text{স্প্যাম})+P(\text{স্প্যাম}^c))=p\cdot 1=p$। অর্থাৎ empirical মান প্রায় $0.3$-এ স্থির হবে — এটাই স্বাধীনতার আরেকটি রূপ, শব্দটির উপস্থিতি স্প্যাম হওয়ার সাথে কোনো সম্পর্ক রাখে না।

  3. প্রমাণ করুন: দেখান যে যদি $A$ ও $B$ স্বাধীন হয়, তাহলে $A$ ও $B^c$-ও স্বাধীন।

    $A = (A\cap B)\cup(A\cap B^c)$ এবং এই দুই অংশ পরস্পর বিচ্ছিন্ন, তাই axiom ৩ অনুযায়ী $P(A)=P(A\cap B)+P(A\cap B^c)$। স্বাধীনতার কারণে $P(A\cap B)=P(A)P(B)$, তাই $P(A\cap B^c)=P(A)-P(A)P(B)=P(A)(1-P(B))=P(A)P(B^c)$ — যা ঠিক $A$ ও $B^c$ স্বাধীন হওয়ার সংজ্ঞা।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

পূর্ববর্তী পাঠ
Momentum, RMSProp ও Adam — আধুনিক অপ্টিমাইজারের গণিত