পাঠ ১৬ · ৩০-এর মধ্যে · মডিউল ২
Home / AI Courses / AI Foundations / সম্ভাবনার মূল

সম্ভাবনার মূল ধারণা

Probability fundamentals
৮ মিনিট পড়া শুরু · Beginner Python কোডসহ

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

  • Sample space, Event ও Probability — তিন মৌলিক ধারণা
  • সম্ভাবনার তিন স্বতঃসিদ্ধ (axioms) — যা সব নিয়মের মূল
  • Conditional probability — "যদি জানা থাকে এটা ঘটেছে…"
  • স্বাধীনতা (Independence) — দু'টি ঘটনা একে অপরকে প্রভাবিত করছে কি না

১ · কেন সম্ভাবনা?

বাস্তব জগৎ অনিশ্চিত। আগামীকাল বৃষ্টি হবে কি না — নিশ্চিত নয়। একটি ই-মেইল spam কি না — পুরো নিশ্চিত নয়। AI-এর কাজ সিদ্ধান্ত নেওয়া — কিন্তু সেই সিদ্ধান্ত প্রায়ই সম্ভাবনার মাধ্যমে।

ChatGPT যখন পরবর্তী শব্দ অনুমান করে — সে আসলে সম্ভাবনা হিসাব করছে। "এই বাক্যের পর 'খাবার' আসার সম্ভাবনা ১৫%, 'ঘর' আসার সম্ভাবনা ১২%…" — এমন।

২ · মৌলিক তিন ধারণা

Sample SpaceSample Space (Ω)একটি random পরীক্ষার সব সম্ভাব্য ফলাফলের সম্পূর্ণ সেট। যেমন — মুদ্রায় {H, T}। ($\Omega$)

একটি পরীক্ষা থেকে যত সম্ভাব্য ফলাফল হতে পারে — তার সম্পূর্ণ সেট।

  • একটি মুদ্রা ছোঁড়া: $\Omega = \{H, T\}$
  • একটি ছক্কা ছোঁড়া: $\Omega = \{1, 2, 3, 4, 5, 6\}$
  • আগামীকাল বৃষ্টি: $\Omega = \{\text{হবে}, \text{হবে না}\}$

EventEvent (A)Sample space-এর একটি উপসেট — যেসব ফলাফলে আমরা আগ্রহী। যেমন "জোড় সংখ্যা পড়া"। ($A$)

Sample space-এর একটি উপসেট — আমরা যে ফলাফলে আগ্রহী।

  • "ছক্কায় জোড় সংখ্যা পড়বে": $A = \{2, 4, 6\}$
  • "৩-এর বেশি পড়বে": $A = \{4, 5, 6\}$

Probability ($P(A)$)

Event ঘটার আত্মবিশ্বাসের পরিমাপ — $0$ থেকে $1$-এর মধ্যে একটি সংখ্যা।

সম্ভাবনার সংজ্ঞা

সমান-সম্ভাব্য ক্ষেত্রে: $P(A) = \dfrac{\text{event-এ অনুকূল ফলাফলের সংখ্যা}}{\text{মোট সম্ভাব্য ফলাফলের সংখ্যা}}$

ছক্কায় জোড় সংখ্যা পড়ার সম্ভাবনা: $P(\{2,4,6\}) = \dfrac{3}{6} = 0.5$ বা ৫০%।

৩ · সম্ভাবনার তিন স্বতঃসিদ্ধ

  1. অ-ঋণাত্মকতা: $P(A) \geq 0$ — সম্ভাবনা কখনো ঋণাত্মক নয়।
  2. স্বাভাবিকীকরণ: $P(\Omega) = 1$ — সব সম্ভাবনার যোগফল ১।
  3. যোগের নিয়ম: পরস্পর-বহির্ভূত (mutually exclusiveMutually Exclusiveদু'টি event একসাথে ঘটতে পারে না — overlap শূন্য। যেমন — ছক্কায় ২ ও ৫ একই throw-এ আসা অসম্ভব।) ঘটনার ক্ষেত্রে — $P(A \cup B) = P(A) + P(B)$

এই তিনটি থেকেই — সব সম্ভাবনার নিয়ম বের করা যায় (Kolmogorov ১৯৩৩)।

৪ · পরিপূরক — ComplementComplement (Aᶜ)একটি event-এর "বিপরীত" — A না-ঘটা। সম্ভাবনা $1 - P(A)$।

$A$ না-ঘটার সম্ভাবনা: $P(A^c) = 1 - P(A)$।

উদাহরণ — যদি বৃষ্টি হওয়ার সম্ভাবনা ০.৩ হয়, তবে বৃষ্টি না-হওয়ার সম্ভাবনা ০.৭।

৫ · Conditional ProbabilityConditional Probabilityএকটি event-এর সম্ভাবনা যখন আমরা জানি অন্য event ঘটেছে। চিহ্ন $P(A \mid B)$ — "B জানলে A-র সম্ভাবনা"। — শর্তাধীন সম্ভাবনা

প্রায়ই আমরা জানি $B$ ঘটেছে — তখন $A$ ঘটার সম্ভাবনা কত? এটিই $P(A \mid B)$।

সংজ্ঞা

$$P(A \mid B) = \dfrac{P(A \cap B)}{P(B)}$$ ($B$ ঘটা শর্তে, $A$ ঘটার সম্ভাবনা।)

উদাহরণ

ছক্কা ছুড়লেন। কেউ বলল — "জোড় সংখ্যা পড়েছে।" এখন ৪ পড়ার সম্ভাবনা?

  • $B$ = জোড় = $\{2, 4, 6\}$, $P(B) = \tfrac{3}{6}$
  • $A$ = ৪ পড়েছে = $\{4\}$, $P(A) = \tfrac{1}{6}$
  • $A \cap B = \{4\}$, $P(A \cap B) = \tfrac{1}{6}$
  • $P(A \mid B) = \dfrac{1/6}{3/6} = \tfrac{1}{3}$

অর্থ: জোড় পড়েছে এই তথ্যে আপনার বিশ্বাস সংকীর্ণ হয়ে গেছে — ৬ ফলাফল থেকে ৩ ফলাফলে। তাই ৪-এর সম্ভাবনা $\tfrac{1}{6}$ থেকে $\tfrac{1}{3}$।

বাস্তব AI-উদাহরণ: একটি মেডিকেল পরীক্ষা ৯৫% সঠিক। যদি পরীক্ষা পজিটিভ আসে — তবে আপনার আসলেই রোগ হওয়ার সম্ভাবনা কত? Conditional probability ছাড়া এই প্রশ্নের উত্তর দেওয়া যায় না। (এটি Bayes' theorem-এর গল্প — পাঠ ১৯-এ।)

৬ · IndependenceIndependenceদু'টি event স্বাধীন যদি একটির ঘটা অন্যটির সম্ভাবনাকে প্রভাবিত না করে। গাণিতিক — $P(A \cap B) = P(A) P(B)$। — স্বাধীনতা

দু'টি ঘটনা স্বাধীন যদি একটির সংঘটন অন্যটির সম্ভাবনাকে প্রভাবিত না করে।

$$A, B \text{ স্বাধীন} \;\iff\; P(A \cap B) = P(A) \cdot P(B)$$

উদাহরণ

  • দুটি আলাদা মুদ্রা ছোঁড়া — স্বাধীন। প্রথমটির ফল দ্বিতীয়টিকে প্রভাবিত করে না।
  • একই বাক্সে দু'বার বল তোলা (প্রথমবার রেখে আনা): স্বাধীন।
  • একই বাক্সে দু'বার বল তোলা (প্রথমবার রেখে না আনা): স্বাধীন নয় — দ্বিতীয়বার সম্ভাবনা পরিবর্তিত হয়।
সম্ভাবনার চারটি ধারণা — Venn dিয়ে Sample space, events, intersection, conditional Ω (Sample Space) A B A∩B (A∪B)ᶜ 📐 মূল সূত্র P(A∪B) = P(A)+P(B)−P(A∩B) P(A | B) = P(A∩B) / P(B) Independent: P(A∩B) = P(A)·P(B) P(Aᶜ) = 1 − P(A) ↑ Kolmogorov-র ৩ axiom থেকে AI-তে: ছবির class = probability vector; LLM token = probability distribution
সম্ভাবনার সব নিয়ম এই Venn-চিত্র + ৩ axiom থেকে আসে।

৭ · Python-এ সম্ভাবনা — সিমুলেশন

সংখ্যাগতভাবে সম্ভাবনা যাচাই — অনেক বার ছোঁড়া।

Python · NumPy
import numpy as np

# একটি ছক্কা ১০,০০০ বার ছুড়ি
np.random.seed(42)
rolls = np.random.randint(1, 7, size=10000)

# জোড় সংখ্যা পড়ার সম্ভাবনা
even = (rolls % 2 == 0)
print(f"P(জোড়) ≈ {even.mean():.4f}   (তত্ত্ব: 0.5)")

# 6 পড়ার সম্ভাবনা
six = (rolls == 6)
print(f"P(6)   ≈ {six.mean():.4f}   (তত্ত্ব: {1/6:.4f})")

# 4 পড়ার সম্ভাবনা — শর্তে যে জোড় পড়েছে
even_rolls = rolls[even]
four_given_even = (even_rolls == 4)
print(f"P(4 | জোড়) ≈ {four_given_even.mean():.4f}   (তত্ত্ব: {1/3:.4f})")

    
১০,০০০ ছোঁড়া দিয়ে আমরা তাত্ত্বিক সম্ভাবনার খুব কাছাকাছি পৌঁছাই। বড় সংখ্যার নিয়মLaw of Large Numbers (LLN)সংখ্যা যত বাড়বে, observed গড় expected মান-এর কাছে যাবে। Bernoulli (১৭১৩) প্রথম প্রমাণ। AI-তে — Monte Carlo methods, large-batch training, A/B testing — সবই LLN-এর উপর। ছোট sample size = unreliable estimate; বড় sample = converges to truth. (Law of Large Numbers) — সিমুলেশনই বাস্তব AI-তে অনেক সম্ভাবনা গণনায় সাহায্য করে।

৮ · AI-তে সম্ভাবনা কোথায়?

  • Classification: "এই ছবি বিড়ালের সম্ভাবনা ০.৮৫, কুকুরের ০.১৩, পাখির ০.০২" — softmaxSoftmaxএকটি function যা যে কোনো সংখ্যার ভেক্টরকে probability distribution-এ রূপান্তর করে — সব মান $0$-$1$ এবং যোগফল $1$। আউটপুট।
  • Language Model: পরবর্তী শব্দের সম্ভাবনা বণ্টন।
  • Spam filter: "এই ই-মেইল spam হওয়ার সম্ভাবনা ০.৯২।"
  • Recommender: "আপনি এই পণ্য কিনবেন এমন সম্ভাবনা ০.৭।"
  • Bayesian methodsBayesian Methodsসম্ভাবনাকে "বিশ্বাসের মাত্রা" হিসেবে দেখে — নতুন data পেলে belief update হয়। Bayes-এর সূত্র মূল ভিত্তি।: পুরো ML-এর একটি বিশাল শাখা সম্ভাবনার উপর ভিত্তি করে।
পরের পাঠে — সম্ভাবনার বণ্টন (Distribution) — কোন মানগুলো কতটা সম্ভাব্য, সেই পুরো ছবি। পাঠ ১৯-এ Bayes-এর উপপাদ্য — যেটা আজকের সম্ভাবনার সবচেয়ে শক্তিশালী টুল।

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

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

প্র ০১ মুদ্রা ১০ বার ছুড়ে পরপর ৫ বার Heads এসেছে। ১১তম-এ Heads আসার সম্ভাবনা কত? "৫ বার Heads, এবার Tails-ই হওয়া উচিত" — এই argument কেন ভুল?

এটি "Gambler's fallacy"-র classic উদাহরণ। সঠিক উত্তর: ০.৫।

কেন ০.৫:

  • প্রতিটি toss স্বাধীন (independent)। মুদ্রার "memory" নেই।
  • $P(H | \text{previous results}) = P(H) = 0.5$।
  • Coin remember করে না — physics শুধু সেই moment-এর forces.

"Tails-ই হওয়া উচিত" — এই intuition কেন ভুল:

  • মানুষ Law of Large Numbers ভুল ভাবে interpret করে।
  • LLN বলে — অনেক বার পরে গড় ০.৫-এ আসবে। কিন্তু "গড় correction" কোনো mechanism নেই।
  • "Random sequences"-এ মানুষ patterns দেখে — যা actually নেই।

Gambler's fallacy-র ক্লাসিক উদাহরণ:

  • Monte Carlo Casino, ১৯১৩ — roulette-এ ২৬ বার পরপর black. "এবার red হবে" — পন্টার massive bet. আরও black. বিশাল ক্ষতি।
  • লটারিতে "এই সংখ্যা কখনো আসেনি, এবার আসবে" — false.

উল্টো fallacy — Hot Hand:

  • "সে পরপর ৫ বার শুট মেরেছে, ৬-এও হবে।"
  • Pure independence-এ এটাও ভুল।
  • (কিন্তু basketball-এ recent গবেষণা দেখায় — কিছু hot hand effect বাস্তবে আছে; pure coin-এ না।)

AI-তে এর প্রাসঙ্গিকতা:

  • "মডেল ১০ বার ভুল করেছে, এবার সঠিক হবে" — false. AI deterministic; data unchanged থাকলে behavior একই।
  • SGD-র "momentum" — gambler's fallacy না; previous gradient-এর actual smoothing.
  • Ensemble methods — পক্ষপাত compensate, কিন্তু coin flip "correct" করার চেষ্টা না।

মূল উপলব্ধি: Independence respects না-করলে probability misuse. AI/data science-এ এই ভুল ক্যারিয়ার-শেষকারী।

প্র ০২ ChatGPT যখন next token predict করে — সে actually কী compute করে? "Probability distribution over vocabulary" বলতে কী বোঝায়?

এই প্রশ্নে modern LLM-এর হৃদয় খোলে।

Vocabulary:

  • GPT-৪-এ ~১০০,০০০ tokens (subword units, BPE বা SentencePiece)।
  • "hello" — একটি token; "Bangladesh" — দু'টি tokens (Banglade + sh)।
  • সব possible next-tokens-এর collection-ই vocabulary.

Forward pass output:

  • Input "The capital of France is" → embedding → transformer layers → final hidden state.
  • Final layer (LM head) — এই hidden state থেকে ১০০,০০০ logits (raw scores)।
  • Softmax: logits → probabilities. প্রতিটি token-এর জন্য $0 \leq p_i \leq 1$, $\sum p_i = 1$।

উদাহরণ output (simplified):

  • "Paris" → 0.85
  • "a" → 0.05
  • "the" → 0.03
  • "London" → 0.001
  • ...সব মিলিয়ে ১.০।

কী বলে:

  • মডেল "নিশ্চিত" না — এটা probability assignment.
  • উচ্চ probability = "মডেলের high confidence"।
  • Distribution-এর shape — uncertainty signal.

Sampling strategies:

  • Greedy: highest প্রotaba বাছুন। Deterministic, কিন্তু boring/repetitive.
  • Temperature: $p_i^{1/T}$। T = 1: original. T < 1: sharper. T = 0: greedy. T > 1: more random.
  • Top-k: top k tokens-এর মধ্যে sample.
  • Top-p (nucleus): cumulative probability p পর্যন্ত যত tokens — তাদের মধ্যে sample.
  • Beam search: top-k পথ একসাথে track.

Practical implications:

  • Same prompt, T > 0 → different responses (probabilistic)।
  • Temperature = 0 → deterministic (mostly)।
  • "Hallucination" — model high-probability assign করে wrong fact-এ।
  • Confidence calibration — actual accuracy-এর সাথে probability মেলে কি?

মূল উপলব্ধি: LLM = "next-token probability calculator"। Magic না, শুধু সম্ভাবনা। এই lens দিয়ে দেখলে — hallucination, sampling, prompt engineering সব meaningful.

প্র ০৩ "এই COVID test ৯৯% সঠিক" — কিন্তু আপনি পজিটিভ পেলেও আপনার আসলেই COVID হওয়ার সম্ভাবনা মাত্র ৫০%। কীভাবে এটি সম্ভব?

এই counterintuitive ফলাফল — Bayes' theorem-এর সবচেয়ে famous demonstration. AI-তে false positives বুঝতে এই ধারণা critical.

Setup:

  • Test sensitivity (true positive rate): 99% — অসুস্থ হলে test positive 99%।
  • Test specificity (true negative rate): 99% — সুস্থ হলে test negative 99%।
  • Disease prevalence: 1% — population-এর ১% COVID-positive.

১০,০০০ মানুষ-এর ভাবনা:

  • ১০০ আসলে অসুস্থ (1%)।
  • ৯,৯০০ সুস্থ।
  • অসুস্থদের মধ্যে — 99 জন test positive (true positive)।
  • সুস্থদের মধ্যে — 99 জন test positive (false positive — 1% of 9,900)।
  • মোট positive test = 99 + 99 = 198.
  • তাদের মধ্যে actually অসুস্থ = 99/198 = 50%।

Bayes-এর সূত্র:

$P(\text{disease} | +) = \frac{P(+ | \text{disease}) \cdot P(\text{disease})}{P(+)} = \frac{0.99 \times 0.01}{0.99 \times 0.01 + 0.01 \times 0.99} = 0.5$

মূল কারণ — "Base rate fallacy":

  • মানুষ test accuracy দেখে — "৯৯% accurate তাই ৯৯% নিশ্চিত"।
  • কিন্তু base rate (prevalence) বিবেচনা করে না।
  • Rare disease + imperfect test = অনেক false positive.

Prevalence বদলালে কী হয়:

  • Prevalence 50%-এ (যেমন epidemic peak): $P(\text{disease}|+) \approx 99\%$।
  • Prevalence 0.1%-এ (rare): $P(\text{disease}|+) \approx 9\%$।
  • Same test, completely different interpretation.

AI-তে directly applicable:

  • Fraud detection: 99.9% accurate model — কিন্তু fraud rate 0.01%, false positive বেশি।
  • Medical AI: "৯৯% accurate" claim — prevalence-এ depend.
  • Spam filter: Spam rare হলে — false positive (legitimate email-কে spam) আঘাতকর।
  • Anomaly detection: Anomaly rare = high false positive rate inevitable.

Solution:

  • Confirmatory test — first test positive হলে second test.
  • Precision-Recall tradeoff — accuracy alone misleading.
  • F1-score, AUC-PR for imbalanced data.
  • Posterior probability report করা — point estimate না।

মূল উপলব্ধি: "Test accuracy" + "prevalence" — দু'টিই দরকার। এই subtle math-এ AI/medicine/legal-এ অনেক বড় ভুল ঘটে। Bayes' theorem (পাঠ ১৯) — আজকের probabilistic thinking-এর core.

প্র ০৪ Probability-র দু'টি বড় philosophical interpretation — frequentist বনাম Bayesian. AI-তে কোনটি বেশি ব্যবহৃত? কেন?

এই argument ৩০০+ বছর পুরানো (Pascal, Bernoulli, Bayes vs Fisher, Neyman)। এখনো জীবিত।

Frequentist interpretation:

  • Probability = long-run frequency of events.
  • "Coin flip-এ Heads probability ০.৫" মানে — অনেকবার flip-এ proportion ০.৫-এ tend করবে।
  • Parameters (যেমন coin-এর true bias) — fixed, unknown.
  • Data — random.
  • Inference: confidence intervals, p-values, hypothesis tests.

Bayesian interpretation:

  • Probability = degree of belief.
  • "Coin probably fair" মানে — fairness-এ belief ০.৯।
  • Parameters — random, with prior distribution.
  • Data — fixed (observed)।
  • Inference: posterior probability, credible intervals.

একটি ক্লাসিক পার্থক্য:

  • "৯৫% confidence interval [10, 20]" (frequentist):
    • "যদি অনেক sample collect করি, এমন interval-এর ৯৫% true value cover করবে।"
    • এই specific interval cover করছে কি না — answer is yes/no, not probabilistic.
  • "৯৫% credible interval [10, 20]" (Bayesian):
    • "True value এই interval-এ থাকার probability ০.৯৫।"
    • সরাসরি interpretable — এই কারণে অনেকে preferred.

AI-তে কোনটি:

  • DL training: Mostly frequentist (MLE — maximum likelihood)। Loss = neg log-likelihood. Standard SGD.
  • Bayesian DL: Specialized field — variational inference, MC dropout. Uncertainty estimation important যেখানে।
  • RLHF: Preference modeling — Bayesian-flavored.
  • Naive Bayes (classic ML): নাম-ই Bayesian, কিন্তু practical implementation frequentist.
  • Probabilistic programming: Stan, PyMC, Pyro — pure Bayesian. ক্ষুদ্র data-তে শক্তিশালী।

কেন DL মূলত frequentist:

  • Big data-তে prior-এর প্রভাব vanish. Frequentist + Bayesian একই answer.
  • Bayesian inference computationally costly (MCMC, VI)। Big networks-এ infeasible.
  • Point estimates (best parameters) — production-এ যথেষ্ট।
  • Backprop নিজেই MLE optimization.

Bayesian renaissance:

  • Uncertainty quantification — safety-critical AI-তে critical.
  • Active learning — কোন data label করব?
  • Out-of-distribution detection — মডেল কি sure?
  • Model averaging — robust predictions.

মূল উপলব্ধি: Frequentist = "data থেকে point estimate"। Bayesian = "belief update with new evidence"। AI-তে দু'টিই — context-এ depend. Modern practice — pragmatic mix.

অনুশীলন

  1. হিসাব করুন: দুটি ছক্কা একসাথে ছুড়লেন।
    • মোট sample space কত?
    • যোগফল ৭ পাওয়ার সম্ভাবনা কত?
    • উভয় ছক্কায় একই সংখ্যা পড়ার সম্ভাবনা?
    • Sample space: $6 \times 6 = 36$ outcomes.
    • যোগফল ৭: $\{(1,6),(2,5),(3,4),(4,3),(5,2),(6,1)\}$ = ৬টি। $P = 6/36 = 1/6$।
    • একই সংখ্যা: $\{(1,1),(2,2),...(6,6)\}$ = ৬টি। $P = 6/36 = 1/6$।
  2. সিমুলেশন: উপরের কোডে দুটি ছক্কা ১০,০০০ বার ছুড়ুন। যোগফল ৭ আসার সম্ভাবনা যাচাই করুন।
    import numpy as np
    np.random.seed(42)
    d1 = np.random.randint(1, 7, 10000)
    d2 = np.random.randint(1, 7, 10000)
    sums = d1 + d2
    print(f"P(sum=7) ≈ {(sums == 7).mean():.4f} (theory: {1/6:.4f})")
  3. চিন্তা করুন: মুদ্রা ১০ বার ছোঁড়া — পরপর ৫ বার "Heads" এসেছে। ১১তম ছোঁড়ায় Heads আসার সম্ভাবনা কত? কেন?

    প্র ০১-এ বিস্তারিত আছে। সংক্ষেপে:

    • উত্তর: ০.৫।
    • মুদ্রা স্বাধীন (independent), কোনো memory নেই।
    • "৫ বার Heads, এবার Tails হওয়া উচিত" — Gambler's fallacy. ভুল।
    • Law of Large Numbers বলে long-run-এ ০.৫-এ converge — কিন্তু "correction mechanism" নেই।

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

কোড রানার কাজ না করলে? ব্রাউজারে কাজ না করলে Google Colab ব্যবহার করুন — Google-এর ফ্রি অনলাইন Python পরিবেশ, শুধু Gmail অ্যাকাউন্ট লাগে।
পূর্ববর্তী পাঠ
পাঠ ১৫ · গ্রেডিয়েন্ট ডিসেন্ট