8  Kumarbazın İflası ve Rastgele Değişkenler

First-step analysis, fark denklemi, Bernoulli, Binom

NotBölüm bilgisi

8.1 Bu Derste Ne Var?

Koşullamadan kursun ikinci büyük temasına geçiş. Blitzstein’e göre dönemin iki büyük fikri koşullama ve rastgele değişkenler.

  1. Kumarbazın iflası: iki kumarbaz, $1’lık bahisler. First-step analysis + fark denklemi.
  2. Rastgele değişken: örnek uzaydaki sonuçları sayılara eşleyen bir fonksiyon.
  3. Bernoulli ve Binom — ilk iki önemli dağılım.

“the two most important ideas for the entire semester … conditioning and random variables and their distributions.” — Blitzstein, 0:23

İpucuBuilder Notu — ML Köprüleri
  • First-step analysis = Bellman denklemi. \(p_i = p \cdot p_{i+1} + q \cdot p_{i-1}\) özyinelemesi RL’deki value iteration’ın iskeleti.
  • Random walk = SGD’nin gürültülü gezintisi; difüzyon ileri süreci; MCMC. Drift (\(p \ne q\)) = küçük biasın uzun ufukta nasıl biriktiği.
  • Fark denklemi = linear RNN / karakteristik kök; vanishing/exploding olgusunun ayrık kardeşi.
  • Rastgele değişken = verinin fonksiyonu. Feature, istatistik, loss — hepsi RV. Bernoulli = dropout maskesi / ikili etiket; Binom = başarı sayısı.

8.2 Kumarbazın İflası: Random Walk Olarak

İki kumarbaz A ve B, $1’lık bahisler oynar. Her turda A, \(p\) olasılıkla kazanır, \(q = 1 - p\) kaybeder. A elinde $\(i\), B elinde $\((N-i)\). Oyun biri iflas edene kadar.

Random walk olarak: parçacık \(i\)’de başlar, \(p\) ile sağa, \(q\) ile sola. \(0\) ve \(N\) yutucu durum (absorbing state).

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(7)
N = 20
i0 = 10
p = 0.5

def yol(i0, N, p, max_adim=500):
    yol = [i0]
    while 0 < yol[-1] < N and len(yol) < max_adim:
        adim = 1 if np.random.random() < p else -1
        yol.append(yol[-1] + adim)
    return yol

fig, ax = plt.subplots(figsize=(11, 5))
for _ in range(10):
    y = yol(i0, N, p)
    sonuc = y[-1]
    renk = '#2C5282' if sonuc == N else '#A51C30'
    ax.plot(range(len(y)), y, color=renk, alpha=0.7, linewidth=1.5)

ax.axhline(0, color='#A51C30', linewidth=3, label='B iflas eşiği')
ax.axhline(N, color='#2C5282', linewidth=3, label='A kazanır eşiği')
ax.axhline(i0, color='#9CA3AF', linestyle=':', label=f'başlangıç i={i0}')
ax.set_xlabel('tur', fontsize=12)
ax.set_ylabel('A\'nın sermayesi', fontsize=12)
ax.set_title(f'Random walk: 10 ayrı kaçış, A=\\${i0}, N={N}, p=0,5', fontsize=12)
ax.legend(loc='upper right', fontsize=10)
ax.grid(True, alpha=0.3)
ax.set_ylim(-1, N + 1)
plt.tight_layout()
plt.show()
Şekil 8.1
İpucuBuilder Notu — Random Walk Her Yerde

Random walk ML’in her yerinde: SGD parametre uzayında gürültülü yürüyüş; diffusion’ın ileri süreci; MCMC örnekleyiciler. “Yutucu durum” kavramı erken durdurma, mutlak bariyerler ve RL’de terminal state ile aynı sezgi.

8.3 First-Step Analysis: Fark Denklemi

\(p_i\) = A’nın $\(i\) ile başlayıp tüm oyunu kazanma olasılığı. İlk adıma koşulla (first-step analysis):

\[ p_i = p\,p_{i+1} + q\,p_{i-1}, \qquad 1 \le i \le N-1 \]

Sınır koşulları:

\[ p_0 = 0, \qquad p_N = 1 \]

“first step analysis.” — Blitzstein, 11:48

ÖnemliBuilder Notu — Bellman Denklemi

\(p_i = p \cdot p_{i+1} + q \cdot p_{i-1}\) denklemi, RL’deki Bellman denkleminin birebir iskeleti: bir durumun değeri = komşu durumların değerlerinin olasılıkla ağırlıklı ortalaması. First-step analysis = dinamik programlamada “bir adım aç, gerisini özyineleme bırak”. Value iteration ve TD öğrenmenin temeli.

8.4 Fark Denklemini Çözmek

Tahmin: \(p_i = x^i\). Denkleme koy, \(x^{i-1}\)’e böl:

\[ px^2 - x + q = 0 \]

\(q = 1 - p\) olduğundan \(1 - 4pq = (2p - 1)^2\). Kökler:

\[ x = 1, \qquad x = \frac{q}{p} \]

\(p \ne q\) için sınır koşullarıyla:

\[ p_i = \frac{1 - (q/p)^i}{1 - (q/p)^N} \]

Adil oyunda (\(p = q = 1/2\)), L’Hôpital:

\[ p_i = \frac{i}{N} \]

İpucuBuilder Notu — Karakteristik Kök

\(px^2 - x + q = 0\) bir karakteristik denklem. Doğrusal bir fark denklemini (ve linear RNN’i) köklerle çözmenin yolu budur. Köklerin büyüklüğü kararlılığı belirler: \(|\text{kök}| < 1\) söner, \(> 1\) patlar — kaybolan/patlayan gradyan olgusunun ayrık kardeşi.

8.5 Moral: Minik Bias Felakettir

Adil oyun (\(p = q\)): \(P(\text{A kazanır}) = i/N\) = sermaye payı.

Adaletsiz oyun: çarpıcı. Eşit başlangıçla (\(i = N/2\)) ve \(p = 0{,}49\) (turda %1 dezavantaj):

import numpy as np
import matplotlib.pyplot as plt

def p_kazanir(i, N, p):
    if abs(p - 0.5) < 1e-12:
        return i / N
    q = 1 - p
    return (1 - (q/p)**i) / (1 - (q/p)**N)

Ns = np.array([20, 50, 100, 200, 500])
p_degerler = [0.45, 0.49, 0.50, 0.51, 0.55]

fig, ax = plt.subplots(figsize=(10, 5))
renkler = ['#A51C30', '#DD6B20', '#1f2937', '#2C5282', '#15803d']
for p_val, c in zip(p_degerler, renkler):
    sonuclar = [p_kazanir(N // 2, N, p_val) for N in Ns]
    ax.plot(Ns, sonuclar, 'o-', linewidth=2.2, markersize=8, color=c, label=f'p = {p_val}')

ax.set_xscale('log')
ax.set_xlabel('Toplam para N (log)', fontsize=12)
ax.set_ylabel('P(A kazanır | i = N/2)', fontsize=12)
ax.set_title('Eşit başlangıç: minik bir dezavantaj N büyüdükçe felakete dönüşür',
             fontsize=12)
ax.legend(loc='center right', fontsize=11, title='A\'nın tur başına kazanma olasılığı')
ax.grid(True, which='both', alpha=0.3)
ax.set_ylim(0, 1.05)
plt.tight_layout()
plt.show()
Şekil 8.2

Las Vegas’ta kasa hem daha çok paraya sahip (büyük \(N\)) hem oyunlar gerçekten hafifçe aleyhinedir.

Salınım yok: \(P(\text{A kazanır}) + P(\text{B kazanır}) = i/N + (N-i)/N = 1\). Oyunun sonsuza dek sürmesi olasılık 0.

İpucuBuilder Notu — Risk of Ruin ve Kelly

“Minik bias uzun ufukta felaket” dersi: ML’de yansız (unbiased) kestiriciler ve dikkatli adım boyutlarının önemi. “Risk of ruin” sezgisi → bankroll yönetimi, Kelly kriteri, RL’de keşif/risk dengesi. Küçük sürekli dezavantajla yeterince uzun oynayan bir ajan neredeyse kesin iflas eder.

8.6 Rastgele Değişken Nedir?

Yaygın (ve işe yaramaz) tanım: “rastgele değerler alan değişken.” Doğru tanım: bir fonksiyon

\[ X : S \to \mathbb{R} \]

Deneyin her sonucu \(s\)’yi bir sayıya eşler. Deneyin bir yönünün sayısal özeti.

“the idea is that we should think of a random variable just as a numerical summary … of an aspect of the experiment.” — Blitzstein, 41:08

Rastlantı deneyden gelir: deneyi yaparız, \(s\) gözleriz, \(X\) onu bir sayıya götürür.

İpucuBuilder Notu — Loss Bir RV’dir

“RV = (rastgele) verinin fonksiyonu” tanımı ML’in temelini netleştirir: bir feature, bir istatistik, hatta loss \(L(\theta; \text{batch})\) bile rastgele girdinin fonksiyonudur — birer rastgele değişkendir. “Loss bir RV’dir” demek, onun beklenen değeri ve varyansı hakkında düşünebilmenin (sonraki dersler) anahtarıdır.

8.7 Bernoulli ve Binom Dağılımları

Bernoulli(\(p\)). En basit RV: yalnızca \(0\) ve \(1\). \(P(X = 1) = p\), \(P(X = 0) = 1 - p\).

Binom(\(n, p\)). \(n\) bağımsız Bernoulli(\(p\)) denemesindeki başarı sayısı. PMF:

\[ P(X = k) = \binom{n}{k}\, p^k\, (1-p)^{n-k}, \qquad k = 0, 1, \ldots, n \]

Nereden geliyor? \(k\) başarı + \(n-k\) başarısızlık içeren belirli bir dizinin olasılığı \(p^k(1-p)^{n-k}\); başarıların yerini seçmenin \(\binom{n}{k}\) yolu var.

Kapanış özelliği (bağımsız binomlar):

\[ X \sim \text{Bin}(n, p), \;\; Y \sim \text{Bin}(m, p) \;\;\text{bağımsız} \;\Rightarrow\; X + Y \sim \text{Bin}(n+m, p) \]

Story proof: \(n + m\) bağımsız Bernoulli(\(p\)) denemesi → toplam başarı \(X + Y \sim \text{Bin}(n+m, p)\).

import math
import numpy as np
import matplotlib.pyplot as plt

n = 20
ps = [0.2, 0.4, 0.5, 0.7]
ks = np.arange(0, n + 1)

fig, ax = plt.subplots(figsize=(10, 5))
renkler = ['#A51C30', '#DD6B20', '#1f2937', '#2C5282']
for p, c in zip(ps, renkler):
    pmf = [math.comb(n, k) * p**k * (1 - p)**(n - k) for k in ks]
    ax.plot(ks, pmf, 'o-', linewidth=2, markersize=7, color=c, label=f'p = {p}')

ax.set_xlabel('k (başarı sayısı)', fontsize=12)
ax.set_ylabel('P(X = k)', fontsize=12)
ax.set_title(f'Binom(n=20, p) PMF — p değiştikçe tepe konumu np civarında kayar',
             fontsize=12)
ax.legend(loc='upper right', fontsize=11)
ax.grid(True, alpha=0.3)
ax.set_xticks(ks[::2])
plt.tight_layout()
plt.show()
Şekil 8.3
ÖnemliBuilder Notu — Dropout, Binary Cross-Entropy

Bernoulli = dropout maskesi (her birim \(p\) olasılıkla tutulur), ikili sınıf etiketi, gösterge değişkeni. Binom = başarı sayısı; Binom/Bernoulli’nin log-olabilirliği tam olarak binary cross-entropy loss’tur. Bağımsız binomların toplamının kapalılığı, iki batch’in başarı sayımlarını birleştirmek gibi pratik durumlarda işine yarar — Ders 2 Vandermonde’un olasılıksal yüzü.

8.8 Bu Dersin Özeti

  1. Kumarbazın iflası: A $\(i\), B $\((N-i)\). Random walk (\(0, N\) yutucu).
  2. First-step analysis: \(p_i = p \cdot p_{i+1} + q \cdot p_{i-1}\); \(p_0 = 0, p_N = 1\).
  3. Çözüm: \(p_i = x^i\) → kökler \(1\) ve \(q/p\). \(p \ne q\): \(p_i = (1 - (q/p)^i)/(1 - (q/p)^N)\); \(p = q\): \(p_i = i/N\).
  4. Moral: adil oyunda kazanma = sermaye payı; minik dezavantaj büyük \(N\)’de felaket. Salınım olasılığı 0.
  5. Rastgele değişken: fonksiyon \(X: S \to \mathbb{R}\); deneyin sayısal özeti.
  6. Bernoulli(\(p\)): \(\{0, 1\}\). Binom(\(n, p\)): \(n\) bağımsız Bernoulli’de başarı sayısı; bağımsız toplam yine Binom.
ÖnemliTek bir cümle

Bir adıma koşullayıp özyineleme bırakmak (first-step analysis) kumarbazın iflasını bir fark denklemine indirger; rastgele değişken örnek uzayı sayılara eşleyen bir fonksiyon olarak, önümüzdeki tüm dağılım dünyasını açar.

8.9 Kontrol Soruları

Cevap: \(p_i = i/N\). \(i = 30, N = 40 \to 30/40 = \mathbf{3/4}\). Adil oyunda kazanma = sermaye payı.

Cevap: Aynı yapı: durumun değeri = komşu değerlerin geçiş olasılıklarıyla ağırlıklı ortalaması. First-step analysis = value iteration + TD. Sınır koşulları terminal state değerlerine karşılık.

Cevap: \(X \sim \text{Bin}(10, 1/2)\). \(P(X = 3) = \binom{10}{3}/2^{10} = 120/1024 \approx \mathbf{0{,}117}\).

Cevap: Her nöron Bernoulli(\(p\)), bağımsız. Aktif sayı = toplam = \(\text{Binom}(n, p)\). Beklenen aktif \(np\) (sonraki ders).

8.10 Egzersizler

Egzersiz 1. Adil oyun: A=$1, B=$9. A kazanma olasılığı? Sonucun küçüklüğüne dikkat.

Egzersiz 2. Adaletsiz: \(p = 0{,}6\), A=$5, N=10. \(q/p = 2/3\), formülü kullan.

Egzersiz 3. Zar atışı + \(X\) = atılan sayının karesi. (a) \(S\)? (b) \(X\) her sonucu neye eşler? (c) \(X\) değerleri kümesi?

Egzersiz 4. (Python — kumarbazın iflası simülasyonu)

import random
random.seed(0)

def kumar(i, N, p):
    para = i
    while 0 < para < N:
        para += 1 if random.random() < p else -1
    return para == N

i, N, p = 5, 10, 0.5
N_dene = 100_000
oran = sum(kumar(i, N, p) for _ in range(N_dene)) / N_dene
print(f"simülasyon: {oran:.4f}   (teori i/N = {i/N})")

Egzersiz 5. (Sonraki ders) Binom PMF toplamının \(1\) olduğunu binom teoremiyle göster: \(\sum_k \binom{n}{k} p^k (1-p)^{n-k} = (p + (1-p))^n = 1\).

8.11 Sonraki Ders İçin Hazırlık

Ders 8: Rastgele Değişkenler ve Dağılımları

PMF ve CDF, hipergeometrik dağılım, RV bağımsızlığı.

UyarıDers 8 öncesi yapılacak
  • Egzersizleri çöz — özellikle 4 (kumar simülasyon).
  • “First-step analysis = Bellman” + “RV = fonksiyon” sezgilerini pekiştir.
  • Ana cümleyi tekrar oku: “Bir adıma koşullayıp özyineleme bırakmak…”

8.12 Anahtar Kavramlar (Cheat Sheet)

Kavram Tanım Blitzstein’de
Kumarbazın iflası A $\(i\), B $\((N-i)\); kazanma olasılığı 2m42
Random walk \(0\) ve \(N\) yutucu durum 7m43
First-step analysis İlk tura koşulla → özyineleme 11m48
Fark denklemi \(p_i = p \cdot p_{i+1} + q \cdot p_{i-1}\) 15m52
Çözüm (\(p \ne q\)) \((1 - (q/p)^i)/(1 - (q/p)^N)\) 24m04
Çözüm (\(p = q\)) \(i/N\) 26m56
Rastgele değişken \(X: S \to \mathbb{R}\) fonksiyon 39m55
Bernoulli(\(p\)) \(\{0, 1\}, P(X=1)=p\) 43m06
Binom(\(n, p\)) \(\binom{n}{k} p^k (1-p)^{n-k}\) 46m01
PMF \(P(X = k)\); ayrık dağılım tarifi 49m49
Binom toplamı Bin(\(n,p\)) + Bin(\(m,p\)) = Bin(\(n+m,p\)) 50m47

8.13 ML Bağlantıları Özeti

İpucu7 köprü
  1. First-step analysisBellman denklemi, value iteration, TD.
  2. Random walkSGD, diffusion ileri süreci, MCMC.
  3. Fark denklemi → linear RNN, karakteristik kök, vanishing/exploding.
  4. Minik bias birikir → yansız kestirici, Kelly, risk of ruin.
  5. RV = veri fonksiyonu → feature, istatistik, loss birer RV.
  6. Bernoulli → dropout, ikili etiket, binary cross-entropy.
  7. Binom → başarı sayısı, batch birleştirme, Vandermonde olasılıksal yüzü.
ÖnemliTek bir şey alıp gideceksen

Zor bir özyinelemeli problemi ilk adıma koşullayarak bir fark denklemine indir (Bellman’ın atası); rastgele değişkeni “değer alan değişken” değil, örnek uzayı sayılara eşleyen bir fonksiyon olarak gör.