Probability Density Estimation
এই পাঠে যা শিখবেন
- Density এবং Distribution-এর গাণিতিক পার্থক্য
- Non-parametric (histogram, KDE) ও parametric (Gaussian fit, GMM) পদ্ধতি
- Maximum Likelihood Estimation (MLE) — generative training-এর মূল objective
- High-D-তে density estimation কেন কঠিন — এবং neural approach কেন প্রয়োজন
১ · Density কী
Probability Density FunctionPDFএকটি function $p(x)$ যা প্রতিটি point-এ "ঘনত্ব" বলে। Continuous variable-এ probability শূন্য একটি point-এ — কিন্তু density (per unit volume) থাকে। Integral $\int p(x) dx = 1$। $p(x)$ — একটি function যা প্রতিটি $x$-এ "কত ঘন" data — সেটা বলে। Discrete-এ আমরা probability mass বলি $P(x)$; continuous-এ density $p(x)$।
Density-র দু'টি মূল constraint:
$$p(x) \geq 0 \quad \text{সর্বদা}, \qquad \int_{-\infty}^{\infty} p(x) \, dx = 1$$
Density $p(x_0)$ probability নয় — এটি $1$-এর চেয়ে বড়ও হতে পারে।
Probability পেতে integral দরকার: $P(a \leq x \leq b) = \int_a^b p(x) \, dx$।
Continuous-এ exact point-এ probability শূন্য।
২ · Density estimation — মূল প্রশ্ন
আমার কাছে $n$টি sample আছে — $x_1, x_2, \ldots, x_n$ — কোনো অজানা distribution থেকে। প্রশ্ন: এই sample থেকে underlying $p(x)$ recover করি কীভাবে?
৩ · Histogram — সবচেয়ে সরল
$x$-এর range-কে $K$টি bin-এ ভাগ করুন। প্রতিটি bin-এ কতগুলো sample পড়ছে গুনুন। তারপর normalize করুন:
$$\hat{p}(x) = \frac{\#\{x_i \in \text{bin}(x)\}}{n \cdot \text{bin width}}$$
সমস্যা:
- Bin width বাছা arbitrary — অনেক bin = noisy; অল্প bin = oversmooth।
- Discontinuous (step function) — derivative নেই।
- $d$-D-তে $K^d$ bin দরকার — exponential explosion। $d = 10$-এ ১০ million bin!
৪ · Kernel Density Estimation (KDE)
Histogram-এর smoother বিকল্প। প্রতিটি sample-এর জায়গায় একটি ছোট bell-curve (kernel) বসান, তারপর সব যোগ করুন:
$$\hat{p}(x) = \frac{1}{n h} \sum_{i=1}^{n} K\left(\frac{x - x_i}{h}\right)$$
যেখানে $K$ একটি kernel (সাধারণত Gaussian), $h$ bandwidth (smoothing parameter)। ছোট $h$ = wiggly; বড় $h$ = oversmooth।
সুবিধা: Smooth, continuous, derivative আছে।
সমস্যা: Storage = $O(n)$ (সব sample রাখতে হয়); high-D-এ এখনো ব্যর্থ।
৫ · Parametric — Gaussian fit
Distribution-এর shape আগে থেকে assume — তারপর parameter fit। সবচেয়ে common: Gaussian।
$$p(x; \mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)$$
Maximum Likelihood EstimationMLEParameter বাছার সবচেয়ে common method — যে parameter-এ training data-র probability সর্বোচ্চ। Generative AI-র সব training (LLM, VAE, Flow) MLE-এর কোনো না কোনো রূপ। দিয়ে — best $\mu, \sigma$ বের করি যেখানে training data-র total probability সর্বোচ্চ:
$$\hat{\mu} = \frac{1}{n} \sum_{i=1}^{n} x_i, \qquad \hat{\sigma}^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \hat{\mu})^2$$
সুবিধা: অল্প parameter (২টি), efficient, scalable।
সমস্যা: Real data প্রায়ই Gaussian-এর মতো না — multimodal, skewed, heavy-tailed।
৬ · Gaussian Mixture Model (GMM)
একটিই Gaussian যথেষ্ট না? — কয়েকটি যোগ করুন:
$$p(x) = \sum_{k=1}^{K} \pi_k \cdot \mathcal{N}(x; \mu_k, \Sigma_k), \quad \sum_k \pi_k = 1$$
$K$ component, প্রতিটির নিজস্ব mean, covariance, weight। EM algorithmExpectation-MaximizationGMM, HMM-র parameter শেখার iterative algorithm। E-step: assignment guess। M-step: parameter update। Converges to local optimum। দিয়ে fit।
GMM ১৯৭৭-এর Dempster-Laird-Rubin paper থেকে — speech recognition (পূর্ব-DL যুগে), anomaly detection, customer segmentation-এ অপরিহার্য।
৭ · Curse of dimensionality — high-D-এর সমস্যা
১-D-এ KDE perfectly কাজ করে। ১০-D-এ আংশিক। ১,০০০-D-এ (একটি ছবির অর্ধেক)? — সম্পূর্ণ ব্যর্থ।
- $d$-D-এ density estimation-এর sample complexity $O(n^{-1/(4+d)})$ — exponentially deteriorate।
- ৩২×৩২ RGB ছবি = ৩,০৭২-D। এ space-এ KDE meaningless।
- Volume-এর প্রায় সবটুকু "edge"-এ — center "empty"।
৮ · Modern density estimator — preview
- Autoregressive (PixelCNN, GPT): $p(x) = \prod_i p(x_i | x_{
- Normalizing Flow: Invertible neural network — exact likelihood compute।
- VAE: Variational lower bound — approximate likelihood।
- Diffusion: Score function $\nabla_x \log p(x)$ — density-র gradient শেখে।
- GAN: Implicit — likelihood compute করে না, শুধু sample।
৯ · Python-এ density estimation
NumPy ও SciPy দিয়ে চারটি method একসাথে।
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
# একটি bimodal distribution থেকে sample (২টি Gaussian-এর mix)
np.random.seed(42)
data = np.concatenate([
np.random.normal(-2, 1, 300), # cluster 1
np.random.normal(3, 0.5, 200) # cluster 2
])
x_grid = np.linspace(-6, 6, 200)
# (1) Histogram
hist_density, bins = np.histogram(data, bins=30, density=True)
# (2) KDE
kde = stats.gaussian_kde(data, bw_method=0.3)
kde_density = kde(x_grid)
# (3) Single Gaussian fit (MLE)
mu, sigma = data.mean(), data.std()
gauss_density = stats.norm.pdf(x_grid, mu, sigma)
# (4) GMM (sklearn)
from sklearn.mixture import GaussianMixture
gmm = GaussianMixture(n_components=2).fit(data.reshape(-1, 1))
gmm_density = np.exp(gmm.score_samples(x_grid.reshape(-1, 1)))
print(f"Single Gaussian: mu={mu:.2f}, sigma={sigma:.2f}")
print(f"GMM components: means={gmm.means_.flatten().round(2)}")
print(f"GMM weights: {gmm.weights_.round(2)}")
print("\n→ একটি Gaussian bimodal data fit করে না ভালো; GMM করে।")
১০ · Maximum Likelihood — MLE-র গভীরে
Generative AI-র train objective প্রায় সবসময় MLE-র কোনো রূপ। Idea: training data-র total log-likelihood সর্বোচ্চ করুন:
$$\theta^* = \arg\max_\theta \sum_{i=1}^{n} \log p_\theta(x_i)$$
LLM-এ এটাই "next-token prediction"। GPT train মানে — Wikipedia-র প্রতি token-এর likelihood maximize। VAE-তে — ELBO (lower bound on likelihood)। Diffusion — denoising loss = noisy likelihood।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ "Curse of dimensionality" density estimation-কে কীভাবে ভাঙে — ঠিক কোন গাণিতিক phenomenon-এ? এবং deep generative model কীভাবে এই curse এড়ায়?
Bellman ১৯৬১-এ "curse of dimensionality" শব্দটি ব্যবহার করেন। Density estimation-এ এটা সবচেয়ে devastating।
গাণিতিক phenomenon — ৫টি দিক:
- (১) Volume concentration: $d$-D unit cube-এ thin shell-এ (boundary)-এ volume-এর $1 - (1-\epsilon)^d \approx 1$ যেখানে $d$ বড়। ১,০০০-D-এ ৯৯.৯৯% volume edge-এ — center "empty"।
- (২) Distance concentration: high-D-এ random point pair-এর distance প্রায় constant। "নিকটতম" আর "দূরতম"-এর পার্থক্য vanishingly small (Beyer et al., ১৯৯৯)।
- (৩) Sample sparsity: Naive estimator-এ $n^{-1/(4+d)}$ rate। $d = 100$-এ — $\epsilon = 0.1$ accuracy পেতে $n = 10^{40}$ sample দরকার। universe-এর atom-এর চেয়ে বেশি।
- (৪) Neighborhood empty: KDE বা k-NN-এ "neighbor-এর density"-এর জন্য পর্যাপ্ত neighbor সংগ্রহ করতে — bandwidth space-এর প্রায় সবটুকু cover করতে হয়।
- (৫) Integration intractable: Normalization constant $\int p(x) dx$ compute অসম্ভব high-D-এ।
Deep generative কীভাবে এড়ায়:
- Manifold hypothesis exploit: Real data $\mathbb{R}^{d}$-এর ক্ষুদ্র manifold-এ থাকে। ৩২×৩২ ছবি technically ৩,০৭২-D, কিন্তু "natural images" হয়তো ৫০-D manifold-এ।
- Inductive bias via architecture: CNN spatial locality assumes; Transformer attention pattern; Diffusion smooth interpolation। এই bias দিয়ে effective dimensionality কমে।
-
Factorization: Autoregressive $p(x) = \prod p(x_i|x_{
- Latent variable models: $p(x) = \int p(x|z)p(z)dz$ যেখানে $z$ low-D। VAE, GAN — দু'টোতেই।
- Score-based: Diffusion শুধু $\nabla_x \log p(x)$ শেখে — full density compute না করেই sample।
- Implicit modeling: GAN density compute না করে শুধু sample — likelihood evaluate এড়ায়।
Theoretical foundation:
- Manifold dimension $m \ll d$ হলে — sample complexity $n^{-1/(4+m)}$ — $d$-এর উপর depend করে না।
- Universal approximation theorem — neural network যেকোনো smooth function approximate করতে পারে।
- SGD-এর implicit regularization — flat minima generalize ভালো।
একটি practical example:
- StyleGAN ১৬,৩৮৪-D image space-এ photorealistic faces generate করে।
- কিন্তু "human faces" হয়তো ৫০০-D manifold-এ।
- Latent $z \in \mathbb{R}^{512}$ এই manifold parametrize করে।
- Curse এড়ানো গেছে — কারণ inductive bias + data abundance।
মূল উপলব্ধি: Curse of dimensionality গাণিতিকভাবে অপরিহার্য — কিন্তু real data low-D structure-এ থাকে। Deep generative model এই structure শেখে। তাই "curse" না — বরং "blessing of structure"। এটাই deep learning-এর philosophical foundation।
প্র ০২ Maximum Likelihood Estimation (MLE) — generative AI-র training objective। কিন্তু MLE-র সমস্যা কী, কেন কখনো KL divergence, কখনো adversarial loss — ভিন্ন objective ব্যবহার করা হয়?
MLE statistical estimation-এর "default" — Fisher (১৯২২)-এর contribution। কিন্তু generative AI-তে MLE সবসময় ideal না।
MLE কী আসলে:
- Goal: $\theta^* = \arg\max_\theta \mathbb{E}_{x \sim p_{\text{data}}}[\log p_\theta(x)]$।
- Equivalent: $\arg\min_\theta \text{KL}(p_{\text{data}} \| p_\theta)$।
- "Forward KL" — model data-এ যেখানে probability আছে, সেখানেও probability দিতে চেষ্টা করে।
MLE-র সমস্যা — ৫টি:
- (১) Mode covering bias: MLE = forward KL = "all modes covered" — মডেল data-র সব mode include করতে চেষ্টা করে। Mode miss করলে penalty বড় (log 0 = ∞)।
- (২) Mean over modes — blurriness: Image generation-এ MLE প্রায়ই blurry output। কারণ uncertainty থাকলে — MLE average বাছে।
- (৩) Density ≠ perceptual quality: High likelihood মানে নয় human-perceived quality high। GAN-এর low-likelihood image often more realistic-looking।
- (৪) Likelihood উন্নত হলেও sample খারাপ হতে পারে: Theis et al. (২০১৬) দেখাল likelihood ও sample quality decoupled হতে পারে।
- (৫) Implicit model-এ unavailable: GAN, score-based — exact likelihood compute করে না; MLE infeasible।
Alternative objectives — কোথায় কোনটি:
- Reverse KL (Variational Inference): $\text{KL}(p_\theta \| p_{\text{data}})$ — "mode seeking"। Single mode pick করে clean। VAE-এর ELBO এর variant।
- JS Divergence (original GAN): Symmetric। Training stable when balanced — কিন্তু gradient vanish issue।
- Wasserstein Distance (WGAN, ২০১৭): Geometric — earth-mover। Smooth gradient, mode collapse less।
- Adversarial loss: Implicit metric — discriminator define করে। Sample quality-এ better।
- Score matching (Diffusion): $\mathbb{E}\|\nabla \log p_\theta - \nabla \log p_{\text{data}}\|^2$ — normalization constant এড়ায়।
- RLHF (modern LLM): Human preference reward — beyond likelihood। "Helpful, harmless, honest"।
Practical pattern:
- LLM pretraining: MLE (next-token cross-entropy)।
- LLM fine-tuning: SFT (still MLE) → RLHF (preference)।
- Diffusion: Denoising score matching (MLE-related)।
- GAN: Adversarial (non-MLE)।
- VAE: ELBO (MLE lower bound)।
একটি subtle paradox:
- MLE asymptotically optimal — infinite data + correct family-এ।
- Real-world: family misspecified, data finite। তাই alternative objective practical-এ ভালো।
- "Right" objective = end goal-এর সাথে aligned। Image quality? GAN। Density estimation? Flow। Reasoning? RLHF।
মূল উপলব্ধি: Objective choice = engineering decision, philosophy না। MLE perfect না, কিন্তু default starting point। Generative AI-র history অনেকটা "MLE-এর সমস্যা ও alternative-এর evolution"।
প্র ০৩ Bangladesh-এর CMSME loan default prediction-এ density estimation কীভাবে সাহায্য করতে পারে? Discriminative classifier-এর তুলনায় কী advantage?
বাংলাদেশের ৭৮ লক্ষ Cottage, Micro, Small & Medium Enterprise (CMSME) — অনেকেরই formal credit history নেই। Default prediction critical কিন্তু challenging।
Traditional approach (discriminative):
- Logistic regression / XGBoost — features (revenue, location, sector, owner age) → default probability।
- সমস্যা: default rate ~৩-৫% — extreme imbalance।
- Feature missing হলে — handling tricky।
- "Why declined?" — বুঝানো কঠিন (regulatory issue)।
- New business pattern — train-এ ছিল না — fail।
Density-based approach:
- Step 1: "Successful business"-এর density $p(x | \text{healthy})$ শেখা — GMM, autoencoder বা normalizing flow দিয়ে।
- Step 2: নতুন application-এ likelihood compute। Low likelihood = anomaly = potential default।
- Bonus: এই approach unsupervised-ও কাজ করে — যেখানে label rare।
Concrete advantages:
- Imbalance-অসংবেদনশীল: Healthy business data-ই ৯৫%। Density model এই majority ভালো শেখে।
- Novel pattern detection: COVID-এর মতো shock-এ — pattern shift instantly detect।
- Missing data robust: Generative model marginalize করতে পারে missing feature।
- Confidence quantification: Likelihood = continuous risk score। "Tier 1 (high risk), Tier 2 (mid)" — natural।
- Synthetic counter-factual: "এই business যদি $50K loan পায় — performance কেমন হবে?" — generative model simulate।
Hybrid system — production-এ best:
- Layer 1: Density-based screening (broad anomaly)।
- Layer 2: Discriminative classifier (known default patterns)।
- Layer 3: Human underwriter (high-stakes decisions)।
- Layer 4: Continuous monitoring — distribution drift alert।
Bangladesh-specific challenges:
- Data scarcity: CIB data limited। Alternative data (mobile usage, electricity bill, supplier transactions) দরকার।
- Privacy regulation: Data Protection Act ২০২৩ — sensitive feature carefully।
- Cultural pattern: "Eid season"-এ revenue spike, "monsoon"-এ dip — generative model ঋতু-aware হতে হবে।
- Informal economy: Cash transaction dominant — formal record incomplete।
- Fairness: Geographic, religious, gender bias avoid করতে হবে — model audit critical।
Real-world parallel:
- India-র Credit Vidya, Lenddo — alternative data + ML credit scoring।
- Kenya-র Tala — mobile usage pattern → credit।
- Bangladesh-এ bKash + AI = enormous opportunity।
মূল উপলব্ধি: Density estimation শুধু academic concept না — emerging market-এ financial inclusion-এর চাবিকাঠি। যেখানে label scarce, distribution shifting, fairness critical — density-based approach essential। বাংলাদেশের পরবর্তী fintech wave এই foundation-এ build হবে।
প্র ০৪ "Likelihood = 0.95" শুনতে ভালো — কিন্তু high-D-এ likelihood প্রায়ই misleading। Nalisnick et al. (২০১৯)-এর paradox কী, এবং এটা কেন matters?
Nalisnick, Matsukawa, Teh, Gorur, Lakshminarayanan-এর ২০১৯-এর ICLR paper "Do Deep Generative Models Know What They Don't Know?" — generative AI-র সবচেয়ে disturbing finding।
The paradox:
- CIFAR-10 ছবিতে train করা একটি Glow (normalizing flow) model।
- Test time-এ — SVHN (door numbers) ছবি দেখানো — completely different distribution।
- Expected: SVHN-এ likelihood low (out-of-distribution)।
- Actual: SVHN-এ likelihood higher than CIFAR-10 itself!
- Same pattern PixelCNN, VAE-এ replicated।
কেন এটা ঘটে — তিনটি ব্যাখ্যা:
- (১) Pixel-level statistics: SVHN ছবি smooth — কম pixel variation। High-D Gaussian-এ smooth ছবি high likelihood। CIFAR-এর texture-rich ছবি লোয়ার।
- (২) Volume vs typical set: High-D-এ likelihood ও typical set ভিন্ন জিনিস। True samples typical set-এ থাকে, high likelihood region-এ না সবসময়।
- (৩) Model capacity asymmetric: Model "low-frequency" pattern শিখে, "high-frequency" structure miss করে। Smooth out-of-distribution ছবি model-এর low-freq prior-এ fit।
Why this matters — practical implications:
- Anomaly detection unreliable: Likelihood-based anomaly detection production-এ failure-prone।
- OOD detection harder: "Did the model see this kind of data before?" — hard to answer।
- Model evaluation flawed: Higher likelihood ≠ better generative model। Sample quality (FID, IS) ব্যবহার করতে হয়।
- Safety implication: Self-driving, medical AI — uncertainty estimate-এ বিশ্বাস করা ঝুঁকি।
Subsequent research — solutions:
- Likelihood ratio (Ren et al., ২০১৯): Model likelihood / background likelihood — relative score।
- Typicality test: "Sample-এর likelihood typical set-এর সমান?" — distribution-test।
- Energy-based models: Learning relative density আরো reliable।
- Ensemble + Bayesian uncertainty: Multiple model-এর agreement OOD detect।
একটি deeper philosophical lesson:
- "Probability" আমাদের intuition mostly low-D থেকে। High-D-এ অনেক jargon counter-intuitive।
- "More likely" ≠ "more typical" ≠ "more in-distribution"।
- Density-র interpretation careful হতে হয় — especially neural network-এ।
Bangladesh context:
- Fraud detection model-এ "likelihood threshold" naive use করলে — false security।
- Medical AI-এ rare disease detect করতে — likelihood-based screening unreliable।
- Always validate on diverse OOD data; ensemble + multiple metrics use।
মূল উপলব্ধি: Density estimation মৌলিক, কিন্তু high-D-এ subtle। "Likelihood high মানে model জানে" — naive। Modern generative AI-তে likelihood একটি signal, definitive answer না। Research community এই lesson hard way শিখেছে — production-এ এই humility important।
অনুশীলন
-
হিসাব করুন: ৫টি data point: $\{2, 4, 4, 6, 8\}$। MLE দিয়ে best Gaussian fit করুন — $\hat{\mu}, \hat{\sigma}^2$ কত?
$\hat{\mu} = (2+4+4+6+8)/5 = 24/5 = 4.8$
$\hat{\sigma}^2 = \frac{1}{5}\sum (x_i - 4.8)^2 = \frac{1}{5}(7.84 + 0.64 + 0.64 + 1.44 + 10.24) = \frac{20.8}{5} = 4.16$
$\hat{\sigma} = 2.04$।
(Note: unbiased variance-এ divisor $n-1 = 4$ — তখন $\hat{\sigma}^2 = 5.2$।)
-
Code চেষ্টা: $1,000$টি sample উৎপন্ন করুন একটি bimodal distribution থেকে — দু'টি Gaussian (mean -3, +3, std 1)। তারপর single Gaussian fit ও GMM(২) fit করে log-likelihood compare করুন।
import numpy as np from sklearn.mixture import GaussianMixture from scipy import stats data = np.concatenate([ np.random.normal(-3, 1, 500), np.random.normal( 3, 1, 500) ]).reshape(-1, 1) # Single Gaussian mu, sigma = data.mean(), data.std() ll_single = stats.norm.logpdf(data, mu, sigma).sum() # GMM gmm = GaussianMixture(n_components=2).fit(data) ll_gmm = gmm.score(data) * len(data) print(f"Single Gaussian log-lik: {ll_single:.1f}") print(f"GMM(2) log-lik: {ll_gmm:.1f}") print(f"GMM-এ improvement: {ll_gmm - ll_single:.1f}")GMM-এর log-likelihood অনেক বেশি — কারণ bimodal structure capture করে।
-
ভাবুন: Daraz-এ একটি product-এর order-time pattern (ঘণ্টা ০-২৩) — কোন density estimator ব্যবহার করবেন? Why?
Best choice: GMM বা KDE।
- Order-time multimodal — সকাল ১০টা, দুপুর ১টা, রাত ৯টা — তিনটি peak।
- Single Gaussian fit করবে না — unimodal assume করে।
- Histogram discrete, derivative নেই — recommendation system-এ awkward।
- GMM(K=3) — smooth, parametric, interpretable।
- KDE — non-parametric backup, যদি peak সংখ্যা না জানা।
Practical use: anomaly time detect (৪টা ভোরে massive order = bot), demand forecasting (প্রতি ঘণ্টায় কতগুলো order expected)।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পাঠ ৪ · Latent Variable Models পরবর্তী পাঠ $p(x) = \int p(x|z)p(z)dz$ — high-D density-র modular approach।
- পাঠ ২ · Discriminative vs Generative আগের পাঠ Density estimation কেন generative-এর কেন্দ্রে।
- পাঠ ১৩ · DDPM এই পাঠের সাথে সম্পর্কিত Diffusion model = score-based density learning। আজকের SOTA।
- সব AI Courses দেখুন ABCL TECH Python, ML, DL, NLP, CV, GenAI, RL, MLOps — সব AI কোর্স একসাথে।