import numpy as np
from scipy import stats
u = np.random.default_rng(0).uniform(0, 1, size=1_000_000)
print(f"Var(Unif(0,1)) ≈ {u.var():.5f} teorik 1/12 = {1/12:.5f}")
# Inverse-transform: Exp(2)
lam = 2.0
X = -np.log(1 - u) / lam
print(f"Mean(X) ≈ {X.mean():.4f} teorik 1/λ = {1/lam}")
ks_p = stats.kstest(X, "expon", args=(0, 1/lam)).pvalue
print(f"KS test p-değeri: {ks_p:.3f} (büyükse uyum iyi)")13 Kesikli vs Sürekli ve Uniform Dağılım
PDF, LOTUS, varyans, inverse-transform sampling
- Blitzstein’in videosu: YouTube — Lecture 12: Discrete vs. Continuous, the Uniform (≈50 dk)
- Okuma süresi: ≈28 dk
13.1 Bu Derste Ne Var?
Büyük geçiş: sürekli rastgele değişkenler. Toplam yerine integral, PMF yerine PDF.
- PDF (olasılık yoğunluk fonksiyonu): \(P(X = x) = 0\); olasılık integralle.
- PDF ↔︎ CDF: integral ve türev (FTC).
- Varyans: \(\text{Var}(X) = E(X^2) - (E X)^2\).
- Uniform, LOTUS, Uniform’un evrenselliği (inverse-transform sampling).
- PDF = yoğunluk (>1 olabilir!) → density estimation, normalizing flows, log-density.
- Varyans → gradyan varyansı (eğitim kararlılığı), bias-variance, \(\text{Var} \ge 0 \equiv E(X^2) \ge (EX)^2\) (Jensen).
- LOTUS \(E[g(X)] = \int g(x) f(x) dx\) → Monte Carlo’nun temeli; reparameterization trick.
- Uniform’un evrenselliği \(X = F^{-1}(U)\) → inverse-transform sampling: RNG’ler ve normalizing flows’un çekirdeği.
13.2 PDF Yoğunluktur — Olasılık Değil
Sürekli RV’de \(P(X = x) = 0\). Olasılık integralle:
\[ P(a \le X \le b) = \int_a^b f(x)\,dx \]
Geçerli PDF: \(f(x) \ge 0\) ve \(\int f = 1\). \(f\) 1’i aşabilir (alan 1 kaldıkça sorun yok).
“the keyword here is density … it’s not a probability, it’s a probability density.” — Blitzstein, 5:13
“PDF olasılık değil, >1 olabilir” pratikte kritik: normalizing flow log-density döndürür; bu pozitif/negatif olabilir, \(f\) kendisi 1’i aşar. Bir yoğunluğu olasılıkmış gibi “%120” demek tipik hatadır. Olasılık her zaman bir aralık üzerinden integraldir.
13.3 PDF ↔︎ CDF (FTC)
CDF, PDF’in integrali; PDF, CDF’in türevidir:
\[ F(x) = \int_{-\infty}^{x} f(t)\,dt, \qquad f(x) = F'(x) \]
Aralığın olasılığı: \(P(a \le X \le b) = F(b) - F(a)\). Süreklide \(<\) ile \(\le\) fark etmez.
13.4 Varyans ve Standart Sapma
\[ \text{Var}(X) = E[(X - EX)^2] = E(X^2) - (EX)^2 \]
\[ \text{SD}(X) = \sqrt{\text{Var}(X)} \]
\(E(X^2) \ge (EX)^2\) her zaman (Var \(\ge 0\)); eşitlik yalnız \(X\) sabitse — Ders 10 Jensen’in özel hali.
Varyans ML’de her yerde: gradyan varyansı (yüksekse eğitim kararsız → variance reduction, baseline), bias-variance ayrışımı, minibatch gradyan gürültüsü. \(\text{Var} = E(X^2) - (EX)^2\) formülü Jensen’in en sık kullanılan halidir.
13.5 Uniform Dağılım
Uniform(\(a, b\)): olasılık uzunlukla orantılı.
\[ f(x) = \frac{1}{b-a}, \quad F(x) = \frac{x-a}{b-a}, \quad E(X) = \frac{a+b}{2} \]
LOTUS ile \(\text{Var}(\text{Unif}(0,1)) = E(U^2) - (EU)^2 = 1/3 - 1/4 = 1/12\).
import numpy as np
import matplotlib.pyplot as plt
a, b = 0, 4
x = np.linspace(-1, 5, 500)
pdf = np.where((x >= a) & (x <= b), 1/(b-a), 0)
cdf = np.clip((x - a) / (b - a), 0, 1)
fig, axes = plt.subplots(1, 2, figsize=(11, 4.5))
ax = axes[0]
ax.fill_between(x, 0, pdf, color='#A51C30', alpha=0.5, label='f(x)')
ax.plot(x, pdf, color='#6B0E1B', linewidth=2.5)
# Bir aralığın olasılığı
mask = (x >= 1) & (x <= 2.5)
ax.fill_between(x[mask], 0, pdf[mask], color='#DD6B20', alpha=0.7,
label=f'P(1 ≤ X ≤ 2,5) = 1,5/4 = 0,375')
ax.set_xlabel('x', fontsize=12)
ax.set_ylabel('f(x)', fontsize=12)
ax.set_title('Uniform(0, 4) PDF — alan = olasılık', fontsize=12)
ax.legend(loc='upper right', fontsize=10)
ax.grid(True, alpha=0.3)
ax.set_ylim(-0.05, 0.4)
ax = axes[1]
ax.plot(x, cdf, color='#2C5282', linewidth=2.5, label='F(x)')
ax.axhline(0.625, color='#DD6B20', linestyle=':', alpha=0.7)
ax.axhline(0.25, color='#DD6B20', linestyle=':', alpha=0.7)
ax.fill_between([1, 2.5], [0.25, 0.25], [0.625, 0.625], color='#DD6B20', alpha=0.3)
ax.text(1.75, 0.4, 'F(2,5)−F(1)\n= 0,375', ha='center', fontsize=10, color='#6B0E1B', weight='bold')
ax.set_xlabel('x', fontsize=12)
ax.set_ylabel('F(x) = P(X ≤ x)', fontsize=12)
ax.set_title('Uniform(0, 4) CDF — doğrusal artar', fontsize=12)
ax.legend(loc='upper left', fontsize=10)
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()13.6 LOTUS: \(E[g(X)]\)
Naif: \(Y = g(X)\)’in dağılımını bul, sonra \(\int y f_Y(y) dy\). LOTUS der: gerek yok.
\[ E[g(X)] = \int g(x)\,f(x)\,dx \]
LOTUS = Monte Carlo’nun teorik temeli: \(E[g(X)]\)’i, \(X\)’ten örnekleyip \(g\)’yi uygulayıp ortalayarak kestirirsin — \(g(X)\)’in dağılımını bulmana gerek yok. \(E[\text{loss}], E[\text{ödül}]\) böyle hesaplanır. Reparameterization trick de LOTUS: \(X = g(\epsilon)\) yazıp \(E[\text{loss}(X)] = E_\epsilon[\text{loss}(g(\epsilon))]\) ile gradyan alınır (VAE eğitiminin kalbi).
13.7 Uniform’un Evrenselliği: Inverse-Transform Sampling
Şaşırtıcı güç: tek bir Uniform(0,1)’den istediğin dağılımı üretebilirsin.
Teorem: \(F\) bir CDF (kesin artan, sürekli). \(U \sim \text{Uniform}(0, 1)\) ile
\[ X = F^{-1}(U) \;\Rightarrow\; X \sim F \]
İspat: \(P(X \le x) = P(F^{-1}(U) \le x) = P(U \le F(x)) = F(x)\).
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
lam = 2.0
N = 50_000
U = np.random.uniform(0, 1, N)
X = -np.log(1 - U) / lam
fig, ax = plt.subplots(figsize=(10, 5))
ax.hist(X, bins=80, density=True, color='#A51C30', alpha=0.7,
edgecolor='#6B0E1B', label=f'X = -ln(1-U)/λ, N={N:,}')
xs = np.linspace(0, 4, 200)
pdf_exp = lam * np.exp(-lam * xs)
ax.plot(xs, pdf_exp, color='#1f2937', linewidth=2.5,
label=f'Teorik Exp(λ={lam}) PDF')
ax.set_xlabel('x', fontsize=12)
ax.set_ylabel('yoğunluk', fontsize=12)
ax.set_title(f'Inverse-transform: Uniform → Exp({lam}). Mean (sim): {X.mean():.3f}, teorik: {1/lam}',
fontsize=12)
ax.legend(loc='upper right', fontsize=11)
ax.set_xlim(0, 3)
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()Inverse-transform sampling = tüm RNG-tabanlı örneklemenin temeli ve RNG’lerin çalışma mantığı. Normalizing flows bunun öğrenilmiş, çok boyutlu, tersinir genellemesidir (basit tabandan örnekle, dönüşümle hedef yoğunluğa git). Kategorik için Gumbel-max de aynı ruhta. “Uniform’dan her şey üretilir.”
13.8 Bu Dersin Özeti
- Sürekli RV: \(P(X=x) = 0\); PDF \(f(x)\); olasılık = integral.
- PDF yoğunluktur: \(f \ge 0\), \(\int f = 1\), \(f > 1\) olabilir.
- PDF ↔︎ CDF: \(F = \int f\), \(f = F'\) (FTC).
- Varyans: \(E(X^2) - (EX)^2 \ge 0\); SD = \(\sqrt{\text{Var}}\).
- Uniform(\(a, b\)): \(f = 1/(b-a)\), \(E = (a+b)/2\), \(\text{Var}(\text{Unif}(0,1)) = 1/12\).
- LOTUS: \(E[g(X)] = \int g f \, dx\).
- Uniform’un evrenselliği: \(X = F^{-1}(U)\) → her dağılım.
Süreklilikte olasılık bir noktada değil, bir aralıkta yaşar — PDF yoğunluktur, integral alınca olasılık olur. LOTUS beklentiyi dağılımı bulmadan verir (Monte Carlo’nun temeli), ve Uniform’un evrenselliği (\(X = F^{-1}(U)\)) tek bir uniform’dan her dağılımı doğurur. Bu üçü — yoğunluk, LOTUS, inverse-transform — modern üretici ML’in (VAE, normalizing flows, diffusion) omurgasıdır.
13.9 Kontrol Soruları
Cevap: Uzunluk 3, toplam 10 → \(\mathbf{0{,}3}\).
Cevap: \(\int_0^1 x^3 \cdot 1 \, dx = \mathbf{1/4}\).
Cevap: Geçerli (\(\int = 1\)). \(f(0{,}3) = 2\) bir yoğunluk, olasılık değil — zaten 1’i aşıyor. \(P(X = 0{,}3) = 0\).
Cevap: Inverse-transform. \(F(x) = 1 - e^{-\lambda x}\) → \(F^{-1}(u) = -\ln(1-u)/\lambda\). \(X = -\ln(U)/\lambda \sim \text{Exp}(\lambda)\).
13.10 Egzersizler
Egzersiz 1. \(X \sim \text{Unif}(-2, 4)\). (a) PDF, CDF. (b) \(P(0 \le X \le 3)\)? (c) \(E(X)\), \(\text{Var}(X)\).
Egzersiz 2. \(f(x) = cx\), \(0 \le x \le 2\). (a) \(c\)? (b) CDF? (c) \(E(X)\)?
Egzersiz 3. \(U \sim \text{Unif}(0, 1)\), \(Y = U^2\). (a) CDF \(F_Y\). (b) PDF \(f_Y\). (c) \(f_Y(y) \to \infty\) olabilir mi? Neden çelişki değil?
Egzersiz 4. (Python — Varyans + inverse-transform)
Egzersiz 5. (Sonraki ders) Standart Normal PDF: \(\varphi(z) = e^{-z^2/2} / \sqrt{2\pi}\). (a) Kapalı-form CDF’i neden yok? Inverse-transform’u nasıl zorlaştırır? (b) Box-Muller: iki Uniform’dan iki Normal nasıl?
13.11 Sonraki Ders İçin Hazırlık
Ders 13: Normal Dağılım — Gauss integrali, 68-95-99,7, \(\Phi\), Box-Muller.
- Egzersizleri çöz — özellikle 4 ve 5.
- “LOTUS = Monte Carlo” ve “Uniform = her şeyin tohumu” sezgilerini pekiştir.
- Ana cümleyi tekrar oku.
13.12 Anahtar Kavramlar (Cheat Sheet)
| Kavram | Tanım | Blitzstein’de |
|---|---|---|
| \(f \ge 0\), \(\int f = 1\), \(f > 1\) olabilir | 5m13 | |
| CDF | \(F(x) = P(X \le x)\) | 5m13 |
| FTC | \(F = \int f\), \(f = F'\) | 15m28 |
| Varyans | \(E(X^2) - (EX)^2\) | 20m24 |
| Uniform(\(a,b\)) | \(f = 1/(b-a)\), \(E = (a+b)/2\), Var \(= (b-a)^2/12\) | 29m06 |
| LOTUS | \(E[g(X)] = \int g \cdot f\) | 39m38 |
| Var(Unif(0,1)) | \(1/12\) | 39m38 |
| Evrensellik | \(X = F^{-1}(U)\) | 44m07 |
13.13 ML Bağlantıları Özeti
- PDF = yoğunluk → log-likelihood, density estimation; \(f > 1\) olabilir.
- LOTUS → Monte Carlo; \(E[g(X)]\) örneklemle.
- Reparameterization → LOTUS’un kendisi; VAE.
- Evrensellik → inverse-transform, normalizing flows, Gumbel-max.
- Varyans → bias-variance, gradyan gürültüsü, variance reduction.
- CDF türevlenebilirliği → normalizing flows, diffusion.
- Uniform → ağırlık init, keşif/baseline.
Süreklilikte olasılık aralıkta yaşar. Yoğunluk + LOTUS + inverse-transform = modern üretici ML’in (VAE, normalizing flows, diffusion) olasılıksal omurgası.