import numpy as np
rng = np.random.default_rng(0)
N = 500_000
# Log-normal: medyan vs ortalama
Y = np.exp(rng.standard_normal(N))
print(f"Log-normal medyan ≈ {np.median(Y):.3f} (e^0=1); ortalama ≈ {Y.mean():.3f} (e^(1/2)={np.exp(0.5):.3f})")
# 2 Uniform toplamı tepe = 1
T = rng.uniform(0,1,N) + rng.uniform(0,1,N)
print(f"P(0.95 < X+Y < 1.05) yoğunluk ≈ {np.mean((T > 0.95) & (T < 1.05))/0.1:.3f} (teori 1)")
# Max-Cut: 6 düğümlü çevrim
edges = [(0,1),(1,2),(2,3),(3,4),(4,5),(5,0)]
g = rng.integers(0, 2, size=(N, 6))
cut = sum(g[:, a] != g[:, b] for a, b in edges)
print(f"E(kesilen) ≈ {cut.mean():.3f} (teori m/2 = {len(edges)/2})")23 Dönüşümler ve Konvolüsyonlar
Change of variables, Jacobian, log-normal, olasılıksal yöntem
- Blitzstein’in videosu: YouTube — Lecture 22: Transformations and Convolutions (≈48 dk)
- Okuma süresi: ≈35 dk
23.1 Bu Derste Ne Var?
- Hipergeometrik Var: \(\frac{N-n}{N-1} npq\) — sonlu-popülasyon düzeltmesi.
- Change of variables: \(f_Y = f_X |dx/dy|\), çok boyutta Jacobian.
- Log-normal: \(Y = e^Z\) (\(Z\) Normal).
- Konvolüsyon: bağımsız \(X + Y\) → \(\int f_X(x) f_Y(t-x) dx\).
- Olasılıksal yöntem: varlık ispatı.
“Convolution is just the fancy word for sums.” — Blitzstein, 27:02
- Change of variables + log-det Jacobian → normalizing flows (RealNVP, Glow) tam log-likelihood.
- Log-normal → çarpımsal gürültü, pozitif sağa-çarpık (fiyat, gelir, gecikme); log-dönüşüm ön işleme.
- Konvolüsyon → CNN, diffusion gürültü, MGF/Fourier uzayında çarpıma döner.
- Olasılıksal yöntem → Shannon kodlama, Johnson-Lindenstrauss, randomized algoritmalar.
23.2 Hipergeometrik Varyansı
\[ \text{Var}(X) = \frac{N - n}{N - 1}\, np(1-p) \]
\(np(1-p)\) = binom; öndeki \(\frac{N-n}{N-1}\) = sonlu-popülasyon düzeltmesi. \(N \gg n\) → ≈ binom.
23.3 Change of Variables (1D)
\(Y = g(X)\), \(g\) türevlenebilir + kesin monoton:
\[ f_Y(y) = f_X(x)\left|\frac{dx}{dy}\right|, \quad x = g^{-1}(y) \]
İspat (CDF + zincir kuralı): \(F_Y(y) = F_X(g^{-1}(y))\), türev al.
23.4 Log-Normal
\(Y = e^Z\), \(Z \sim N(0,1)\). \(z = \ln y\), \(|dz/dy| = 1/y\):
\[ f_Y(y) = \frac{1}{y\sqrt{2\pi}}\, e^{-(\ln y)^2/2}, \quad y > 0 \]
Çarpımsal CLT: bağımsız pozitif faktörlerin çarpımı → log normal.
Log-normal çarpımsal süreçlerin dağılımı: fiyatlar, gelirler, dosya boyutları, gecikme süreleri. ML’de log1p ön işlemesi yaygın.
23.5 Çok Boyutlu (Jacobian)
\[ f_{\mathbf{Y}}(\mathbf{y}) = f_{\mathbf{X}}(\mathbf{x}) \left|\det \frac{\partial \mathbf{x}}{\partial \mathbf{y}}\right| \]
\(\log f_Y(y) = \log f_X(x) + \log|\det J|\). RealNVP, Glow, coupling layers tam olarak bu log-det Jacobian’ı verimli (üçgensel matris → köşegen) hesaplayacak şekilde tasarlanır. Üretici modellemede tam log-likelihood’u mümkün kılan tek araç (VAE/GAN aksine).
23.6 Konvolüsyon
Bağımsız \(T = X + Y\):
Kesikli: \(P(T = t) = \sum_x P(X = x) P(Y = t - x)\).
Sürekli:
\[ f_T(t) = \int_{-\infty}^{\infty} f_X(x)\, f_Y(t - x)\, dx \]
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(0)
N = 500_000
S2 = rng.uniform(0, 1, N) + rng.uniform(0, 1, N)
S5 = sum(rng.uniform(0, 1, N) for _ in range(5))
fig, axes = plt.subplots(1, 2, figsize=(10, 4.5))
ax = axes[0]
ax.hist(S2, bins=80, density=True, color='#A51C30', alpha=0.7, edgecolor='#6B0E1B')
# Teorik üçgen
t = np.linspace(0, 2, 200)
y_theo = np.where(t <= 1, t, 2 - t)
ax.plot(t, y_theo, color='#1f2937', linewidth=2.5, label='Üçgen teori')
ax.set_title('2 Uniform toplamı = üçgen', fontsize=11)
ax.legend(fontsize=10); ax.grid(True, alpha=0.3)
ax = axes[1]
ax.hist(S5, bins=80, density=True, color='#2C5282', alpha=0.7, edgecolor='#1e3a5f')
xs = np.linspace(0, 5, 200)
from scipy.stats import norm
ax.plot(xs, norm.pdf(xs, 2.5, np.sqrt(5/12)), color='#1f2937', linewidth=2.5,
label='Normal yaklaşımı (CLT)')
ax.set_title('5 Uniform → Normal\'a yakın (CLT)', fontsize=11)
ax.legend(fontsize=10); ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()MGF/Fourier uzayında konvolüsyon = çarpım (convolution theorem). Ders 17 MGF çarpımı konvolüsyon integralinden kaçınmanın yolu. Diffusion ileri süreci konvolüsyondur; CNN’lerin adı buradan.
23.7 Olasılıksal Yöntem
Yöntem 1: \(P(A) > 0 \Rightarrow \exists \omega : A\).
Yöntem 2 (ortalama): Skoru \(\ge E(X)\) olan bir nesne vardır (hepsi altında olamaz).
“you can use probability to prove existence” — Blitzstein, 33:38
Örnek — Max-Cut: m kenarlı graf, köşeleri rastgele iki gruba böl. Bir kenarın kesilme olasılığı \(1/2\). \(E(\text{kesilen}) = m/2\) → kesilen \(\ge m/2\) olan bir bölme var = randomized 1/2-yaklaşım.
Shannon kodlama teoremi: “iyi kod var”ı rastgele kod seçerek kanıtlar. Johnson-Lindenstrauss rastgele projeksiyonun boyut indirgemeyi koruduğunu gösterir. Randomized algoritmalar, LSH, random search hiperparametre optimizasyonu hep bu fikre dayanır.
23.8 Bu Dersin Özeti
- HGeom Var: binom × \((N-n)/(N-1)\).
- CoV (1D): \(f_Y = f_X |dx/dy|\).
- Çok boyut: \(|\det J|\).
- Log-normal: \(Y = e^Z\).
- Konvolüsyon: \(\int f_X(x) f_Y(t-x) dx\).
- Olasılıksal yöntem: \(P > 0\) veya \(E \ge\) eşik.
Change of variables (\(f_Y = f_X \cdot |J|\)) bir dönüşümün tüm dağılımını verir — normalizing flows’un kalbi. Konvolüsyon bağımsız toplam (MGF’in çarpıma çevirdiği). Olasılıksal yöntem nesneyi bulmadan varlığı kanıtlar (Shannon kodlama, JL).
23.9 Kontrol Soruları
Cevap: \(u = e^{-y}, |du/dy| = e^{-y}\). \(f_Y = e^{-y}\) Exp(1) (inverse-transform).
Cevap: \(f_Y(y) = \frac{1}{a\sqrt{2\pi}} e^{-(y-b)^2/(2a^2)} = N(b, a^2)\).
Cevap: Üçgen: \(t\) (0≤t≤1), \(2-t\) (1≤t≤2).
Cevap: \(E = m/2\). Max-Cut \(\ge m/2\) olan bölme var = randomized 1/2-yaklaşım.
23.10 Egzersizler
Egzersiz 1. \(X \sim\) Exp(1), \(Y = X^2\). PDF (Weibull).
Egzersiz 2. \(X, Y \sim\) Exp(1) bağımsız. \(X + Y\) PDF (Gamma(2, 1)).
Egzersiz 3. \(X, Y \sim N(0,1)\) bağımsız. Kutupsal: \(R^2, \theta\) — Box-Muller.
Egzersiz 4. (Python — CoV + Convolution + Max-Cut)
Egzersiz 5. (Sonraki ders) Beta(\(a, b\)) PDF \(\propto x^{a-1}(1-x)^{b-1}\), \([0,1]\). Uniform = Beta(1,1)? Laplace ardışıklık posteriorı Beta?
23.11 Sonraki Ders İçin Hazırlık
Ders 23: Beta Dağılımı — \([0,1]\), Beta-Binom eşleniği.
- Egzersiz 5 (Beta sezgisi) çöz.
- Laplace ardışıklık (Ders 17) hatırla.
23.12 Anahtar Kavramlar (Cheat Sheet)
| Kavram | Tanım | Blitzstein’de |
|---|---|---|
| HGeom Var | \((N-n)/(N-1) \cdot npq\) | 5m13 |
| CoV 1D | \(f_Y = f_X \|dx/dy\|\) | 10m12 |
| Jacobian | \(f_X \|\det J\|\) | 25m02 |
| Log-normal | \(Y = e^Z\) | 16m38 |
| Konvolüsyon | \(\int f_X(x) f_Y(t-x) dx\) | 27m02 |
| Olasılıksal yöntem | \(P > 0 \Rightarrow \exists\) | 35m05 |
| Ortalama | Skor \(\ge E\) olan var | 37m51 |
23.13 ML Bağlantıları Özeti
- CoV + Jacobian → normalizing flows.
- Log-normal → çarpımsal süreçler, log1p.
- Konvolüsyon → CNN, diffusion.
- MGF ↔︎ konvolüsyon → convolution theorem.
- Olasılıksal yöntem → Shannon, JL, randomized algoritma.
- Max-Cut → randomized approximation.
- HGeom düzeltmesi → yerine koymadan örnekleme.
CoV / Jacobian = normalizing flows’un matematiği. Konvolüsyon = bağımsız toplam. Olasılıksal yöntem = nesneyi bulmadan varlık ispatı (Shannon, JL).