5.1 Esemény, feltétel és véletlen változó

5.1.1 Cél, előismeret és induló kérdés

Ebben az egységben a valószínűségszámítás azon alapfogalmait építjük fel, amelyek a későbbi neurálisháló-veszteségek, likelihood-ok és kiértékelési intervallumok nyelvét adják. Feltételezzük a 3.4. Sajátérték, SVD és spektrális határ lineáris algebrai és a 4.1. Függvény, határérték és derivált határérték-fogalmait; mértékelméleti előismeret nem szükséges. A cél kettős: véges mintatéren pontosan tudjunk feltételes valószínűséggel és Bayes-tétellel számolni, folytonos esetben pedig a sűrűségfüggvényt területként értelmezni.

Induló kérdés: egy osztályozó a tesztképek 90%-ában helyesen ismeri fel a vertical osztályt, és csak 5%-ban téveszti verticalnak a horizontal képet. Ha a teszthalmazon 20% a vertical képek aránya, és az osztályozó egy képre verticalt mond, mekkora a valószínűsége, hogy tényleg az? Első becslésként sokan 90%-ot válaszolnak; a helyes érték a Bayes-tételből körülbelül 0,8180{,}818, ahogyan az alábbiakban levezetjük.

5.1.2 Esemény és valószínűség

Definíció (véges valószínűségi modell). Legyen Ω\Omega egy véges, nem üres halmaz, a mintatér. Egy P:Ω→[0,1]P:\Omega\to[0,1] függvényt valószínűségnek nevezünk, ha

∑ω∈ΩP(ω)=1.\sum_{\omega\in\Omega} P(\omega)=1 .

Egy tetszőleges A⊆ΩA\subseteq\Omega részhalmazt eseménynek hívunk, és valószínűségét

P(A)=∑ω∈AP(ω)P(A)=\sum_{\omega\in A}P(\omega)

definiálja. Az üres eseményre P(∅)=0P(\emptyset)=0, a biztos eseményre P(Ω)=1P(\Omega)=1. A komplementer eseményre

P(A‾)=1−P(A),P(\bar A)=1-P(A),

mert Ω=A∪A‾\Omega=A\cup\bar A diszjunkt unió. Két tetszőleges A,BA,B eseményre az addíciós szabály

P(A∪B)=P(A)+P(B)−P(A∩B).P(A\cup B)=P(A)+P(B)-P(A\cap B).

A A∩BA\cap B metszet az az esemény, hogy mindkettő bekövetkezik; a kivonás azért szükséges, mert a metszetet kétszer számoltuk.

Példa (kockadobás). Ω={1,…,6}\Omega=\{1,\dots,6\}, minden kimenetelre P(ω)=1/6P(\omega)=1/6. Az A={páros}={2,4,6}A=\{\text{páros}\}=\{2,4,6\} és B={hatos}={6}B=\{\text{hatos}\}=\{6\} eseményekre P(A)=3/6=1/2P(A)=3/6=1/2, P(B)=1/6P(B)=1/6.

A gépi tanulásban az Ω\Omega gyakran egy megfigyelés összes lehetséges értékének halmaza: például a GlyphLab egy képénél Y∈{0,1,2}Y\in\{0,1,2\} az orientációs címke, és a P(Y=k)P(Y=k) valószínűségek adják az osztályok eloszlását.

5.1.3 Feltételes valószínűség, függetlenség és Bayes-tétel

A feltételes valószínűség azt méri, hogyan változik egy esemény esélye, ha egy másik esemény bekövetkezését már ismerjük.

Definíció (feltételes valószínűség). Legyen A,B⊆ΩA,B\subseteq\Omega és P(B)>0P(B)>0. Az AA esemény BB-re vonatkozó feltételes valószínűsége

P(A∣B)=P(A∩B)P(B).P(A\mid B)=\frac{P(A\cap B)}{P(B)}.

A feltétel lényege, hogy az eredeti Ω\Omega helyett a BB által meghatározott részhalmazra szűkítünk, majd azon belül nézzük AA részarányát. A P(B)>0P(B)>0 feltétel elengedhetetlen: nullvalószínűségű eseményre nem oszthatunk.

Példa. A kockánál P(B∣A)=P({6}∣{2,4,6})=1/61/2=1/3P(B\mid A)=P(\{6\}\mid\{2,4,6\})=\frac{1/6}{1/2}=1/3: ha tudjuk, hogy párosat dobtunk, a hatos esélye 1/31/3.

Definíció (függetlenség). Az AA és BB események függetlenek, ha

P(A∩B)=P(A)P(B).P(A\cap B)=P(A)P(B).

Ha P(B)>0P(B)>0, ez ekvivalens azzal, hogy P(A∣B)=P(A)P(A\mid B)=P(A): a BB ismerete nem változtat AA valószínűségén. A függetlenség nem keverendő össze a diszjunktsággal; két diszjunkt, pozitív valószínűségű esemény soha nem független, mert P(A∩B)=0≠P(A)P(B)P(A\cap B)=0\neq P(A)P(B).

Tétel (Bayes-tétel és teljes valószínűség tétele, véges mintatéren). Legyen AA esemény P(A)>0P(A)>0 valószínűséggel, és legyen B1,…,BnB_1,\dots,B_n az Ω\Omega egy partíciója, azaz a BiB_i-k páronként diszjunktak és ⋃i=1nBi=Ω\bigcup_{i=1}^n B_i=\Omega, valamint P(Bi)>0P(B_i)>0 minden ii-re. Ekkor

P(Bi∣A)=P(A∣Bi)P(Bi)∑j=1nP(A∣Bj)P(Bj).P(B_i\mid A)=\frac{P(A\mid B_i)P(B_i)}{\sum_{j=1}^n P(A\mid B_j)P(B_j)}.

Bizonyítás. Először a feltételes valószínűség definícióját alkalmazzuk kétszer. Egyrészt

P(A∩Bi)=P(A∣Bi)P(Bi),P(A\cap B_i)=P(A\mid B_i)P(B_i),

másrészt ugyanez a metszet felírható

P(A∩Bi)=P(Bi∣A)P(A)P(A\cap B_i)=P(B_i\mid A)P(A)

alakban is. A két kifejezést egyenlővé téve és P(A)>0P(A)>0-val osztva kapjuk a Bayes-formula magját:

P(Bi∣A)=P(A∣Bi)P(Bi)P(A).P(B_i\mid A)=\frac{P(A\mid B_i)P(B_i)}{P(A)}. \tag{1}

Most a nevezőt fejezzük ki az ismert mennyiségekkel. Mivel a BjB_j-k partíciót alkotnak, az AA esemény felbomlik diszjunkt metszetekre:

A=⋃j=1n(A∩Bj).A=\bigcup_{j=1}^n (A\cap B_j).

Az additivitás miatt

P(A)=∑j=1nP(A∩Bj)=∑j=1nP(A∣Bj)P(Bj).P(A)=\sum_{j=1}^n P(A\cap B_j)=\sum_{j=1}^n P(A\mid B_j)P(B_j). \tag{2}

A (2) kifejezést az (1) nevezőjébe helyettesítve adódik a tétel állítása. ▫\square

A (2) összefüggés önmagában is fontos, és teljes valószínűség tételének nevezzük: a teljes P(A)P(A) valószínűséget a partíció elemein keresztül súlyozott feltételes valószínűségek összegeként kapjuk meg. A bizonyítás lépései: (i) a metszet kétféle feltételes felírása, (ii) diszjunkt felbontás, (iii) additivitás. A tétel feltételei között szerepel P(A)>0P(A)>0 és P(Bj)>0P(B_j)>0; ha valamelyik nulla, a megfelelő feltételes valószínűség nem definiált, és a formula nem alkalmazható.

5.1.4 Diszkrét eloszlások: Bernoulli és kategorikus

Definíció (diszkrét véletlen változó). Egy X:Ω→ℝX:\Omega\to\mathbb R függvényt véletlen változónak hívunk; diszkrét, ha értékkészlete véges vagy megszámlálhatóan végtelen. Ekkor az eloszlását a pX(x)=P(X=x)p_X(x)=P(X=x) valószínűségi tömegfüggvény adja, amelyre pX(x)≥0p_X(x)\ge0 és ∑xpX(x)=1\sum_x p_X(x)=1.

A neurális hálózatokban két diszkrét eloszlás alapvető.

Definíció (Bernoulli-eloszlás). Az XX véletlen változó Bernoulli-eloszlású p∈[0,1]p\in[0,1] paraméterrel, ha X∈{0,1}X\in\{0,1\} és

P(X=1)=p,P(X=0)=1−p.P(X=1)=p,\qquad P(X=0)=1-p.

Ez a bináris osztályozás célváltozója: például „vertical vagy nem vertical”. A pp paraméter a pozitív osztály valószínűsége.

Definíció (kategorikus eloszlás). Az YY véletlen változó kategorikus eloszlású KK osztállyal és π=(π0,…,πK−1)\pi=(\pi_0,\dots,\pi_{K-1}) paraméterrel, ha Y∈{0,…,K−1}Y\in\{0,\dots,K-1\} és

P(Y=k)=πk,πk≥0,∑k=0K−1πk=1.P(Y=k)=\pi_k,\qquad \pi_k\ge0,\quad \sum_{k=0}^{K-1}\pi_k=1.

A π\pi vektor tehát valószínűségi vektor: elemei nemnegatívak és összegük 1. A többosztályos kép-osztályozásban K=3K=3, a GlyphLab címkéi 00 (vertical), 11 (horizontal), 22 (diagonal). Egy NN elemű minibatch címkevektora y∈{0,…,K−1}Ny\in\{0,\dots,K-1\}^N, ahogyan a jelölési szerződés rögzíti. A modell egy π̂\hat\pi valószínűségi vektort becsül minden képre; ezt a softmax réteg állítja elő a későbbi 7.2. Softmax és többosztályos cross-entropy egységben.

5.1.5 Folytonos eloszlás: sűrűség és Riemann-integrál

Ha a véletlen változó értékkészlete egy folytonos intervallum, az egyes pontok valószínűsége nullává válik, ezért intervallumok valószínűségével dolgozunk. Ehhez a határozott integrált mint területet használjuk, amelyet a 4.1. Függvény, határérték és derivált alfejezetben megismert határérték-fogalommal Riemann-összegek határaként értelmezünk.

Definíció (Riemann-összeg). Legyen f:[a,b]→ℝf:[a,b]\to\mathbb R korlátos függvény. Az [a,b][a,b] intervallumot nn egyenlő részre osztjuk, Δx=(b−a)/n\Delta x=(b-a)/n lépésközzel. Az

Sn=∑i=1nf(xi)ΔxS_n=\sum_{i=1}^n f(x_i)\Delta x

összeget Riemann-összegnek nevezzük, ahol xi=a+iΔxx_i=a+i\Delta x (jobb végpontos választás) vagy xi=a+(i−1)Δxx_i=a+(i-1)\Delta x (bal végpontos választás). Ha a határérték limn→∞Sn\lim_{n\to\infty}S_n létezik és független a közbülső pontok választásától, akkor ff Riemann-integrálható, és a határértéket

∫abf(x)dx\int_a^b f(x)\,dx

jelöli. Ez a határozott integrál mint előjeles terület: a görbe alatti területet pozitív, a tengely alatti területet negatív előjellel számoljuk. Sűrűségfüggvényekre f≥0f\ge0, ezért ott a valószínűség közönséges terület.

Definíció (sűrűségfüggvény). Egy f:ℝ→[0,∞)f:\mathbb R\to[0,\infty) függvény valószínűségi sűrűségfüggvény, ha

∫−∞∞f(x)dx=1,\int_{-\infty}^{\infty}f(x)\,dx=1,

ahol az improper integrált a szokásos határátmenettel értjük. Ekkor egy XX véletlen változó eloszlását ez a sűrűség adja, ha tetszőleges a≤ba\le b esetén

P(a≤X≤b)=∫abf(x)dx.P(a\le X\le b)=\int_a^b f(x)\,dx.

A normalizálási feltétel garantálja, hogy a teljes valószínűség 1. A sűrűség értéke egyetlen pontban nem valószínűség; csak intervallumra integrálva kapunk valószínűséget.

Tétel (egyenletes eloszlás normalizálása és intervallum-valószínűsége). Legyen a<ba<b valós szám, és definiáljuk

f(x)={1b−a,ha a≤x≤b,0,különben.f(x)=\begin{cases}\frac{1}{b-a},& \text{ha }a\le x\le b,\\0,&\text{különben}.\end{cases}

Ekkor ff sűrűségfüggvény, és bármely [c,d]⊆[a,b][c,d]\subseteq[a,b] intervallumra

P(c≤X≤d)=d−cb−a.P(c\le X\le d)=\frac{d-c}{b-a}.

Bizonyítás. A normalizáláshoz elegendő az [a,b][a,b]-n integrálni, mert a függvény azon kívül nulla:

∫−∞∞f(x)dx=∫ab1b−adx=1b−a∫ab1dx=1b−a[x]ab=1b−a(b−a)=1.\int_{-\infty}^{\infty}f(x)\,dx=\int_a^b \frac{1}{b-a}\,dx=\frac{1}{b-a}\int_a^b 1\,dx=\frac{1}{b-a}\big[x\big]_a^b=\frac{1}{b-a}(b-a)=1.

Az első egyenlőségnél kihasználtuk, hogy a sűrűség tartóján kívüli integrál nulla, a harmadiknál pedig az 11 konstans függvény primitív függvénye xx. Az intervallum valószínűsége hasonlóan:

P(c≤X≤d)=∫cd1b−adx=1b−a[x]cd=d−cb−a.P(c\le X\le d)=\int_c^d \frac{1}{b-a}\,dx=\frac{1}{b-a}\big[x\big]_c^d=\frac{d-c}{b-a}.

A ▫\square jelöli a bizonyítás végét. A levezetés csak az alapintegrálokat és a határozott integrál linearitását használja, ezért a feltételek között szerepel az a<ba<b rendezés; a formula a [c,d][c,d] intervallum hosszának és a teljes [a,b][a,b] hosszának arányát adja.

Példa. X∼U[0,1]X\sim U[0,1] esetén f(x)=1f(x)=1 a [0,1][0,1]-en. Ekkor P(0,25≤X≤0,5)=0,25P(0{,}25\le X\le0{,}5)=0{,}25, miközben f(0,5)=1f(0{,}5)=1. Látjuk a lényegi különbséget: a sűrűség magas értéke nem jelenti azt, hogy az adott pont valószínűsége magas; a pont valószínűsége nulla, mert ∫0,50,5f(x)dx=0\int_{0,5}^{0,5}f(x)\,dx=0.

5.1.6 Kézi példa és numerikus labor

5.1.6.1 Osztályozási példa abszolút esetszámokkal

Vegyünk egy 100 elemű tesztmintát a fenti arányokkal: 20 vertical és 80 horizontal kép. Az osztályozó a következőket teszi:

Az abszolút gyakoriságokat kontingenciatáblába rendezzük:

Valós  Predikált vertical horizontal Összesen
vertical 18 2 20
horizontal 4 76 80
Összesen 22 78 100

A kérdés: P(valós v∣predikált v)P(\text{valós }v\mid \text{predikált }v). A táblázatból közvetlenül: 22 predikált vertical esetből 18 valóban az, tehát 18/22≈0,81818/22\approx0{,}818. Ugyanez a Bayes-tétellel, A={Ŷ=v}A=\{\hat Y=v\}, B1={Y=v}B_1=\{Y=v\}, B2={Y=h}B_2=\{Y=h\} partícióval:

P(Y=v∣Ŷ=v)=P(Ŷ=v∣Y=v)P(Y=v)P(Ŷ=v∣Y=v)P(Y=v)+P(Ŷ=v∣Y=h)P(Y=h)P(Y=v\mid \hat Y=v)=\frac{P(\hat Y=v\mid Y=v)P(Y=v)}{P(\hat Y=v\mid Y=v)P(Y=v)+P(\hat Y=v\mid Y=h)P(Y=h)}

=0,9⋅0,20,9⋅0,2+0,05⋅0,8=0,180,22≈0,81818.=\frac{0{,}9\cdot0{,}2}{0{,}9\cdot0{,}2+0{,}05\cdot0{,}8}=\frac{0{,}18}{0{,}22}\approx0{,}81818.

A két út — esetszámokból és feltételes valószínűségekből — ugyanarra az eredményre vezet, mert a nevező 0,220{,}22 éppen a predikált vertical esetek aránya.

5.1.6.2 Numerikus területösszeg sűrűségre

Legyen f(x)=2xf(x)=2x a [0,1][0,1] intervallumon. Ez normalizált, mert

∫012xdx=[x2]01=1.\int_0^1 2x\,dx=\big[x^2\big]_0^1=1.

Számítsuk ki a [0,25,0,5][0{,}25,0{,}5] intervallum valószínűségét analitikusan:

P(0,25≤X≤0,5)=∫0,250,52xdx=[x2]0,250,5=0,25−0,0625=0,1875.P(0{,}25\le X\le0{,}5)=\int_{0{,}25}^{0{,}5}2x\,dx=\big[x^2\big]_{0{,}25}^{0{,}5}=0{,}25-0{,}0625=0{,}1875.

Ezt ellenőrizzük Riemann-összeggel. A kód determinisztikus, float64 pontosságú, CPU-n fut.

import numpy as np

def riemann_probability(f, a, b, n, endpoint="right"):
    """Jobb vagy bal végpontos Riemann-összeg."""
    dx = (b - a) / n
    if endpoint == "right":
        x = a + np.arange(1, n + 1) * dx
    elif endpoint == "left":
        x = a + np.arange(0, n) * dx
    else:
        raise ValueError("endpoint legyen 'left' vagy 'right'")
    return np.sum(f(x)) * dx

def f(x):
    # float64, CPU, determinisztikus
    return 2.0 * x

# Normalizálás ellenőrzése
print("Normalizálás, pontos érték: 1.0")
for n in [10, 100, 1000, 10000]:
    approx = riemann_probability(f, 0.0, 1.0, n)
    print(f"  n={n:5d}  jobb={approx:.6f}  hiba={abs(approx-1.0):.2e}")

# Intervallum valószínűsége, pontos érték: 0.1875
print("\nP(0.25<=X<=0.5), pontos érték: 0.1875")
for n in [100, 1000, 10000]:
    approx = riemann_probability(f, 0.25, 0.5, n)
    print(f"  n={n:5d}  jobb={approx:.6f}  hiba={abs(approx-0.1875):.2e}")

A kimenet várhatóan azt mutatja, hogy a jobb végpontos közelítés hibája n=10000n=10000 esetén 10−410^{-4} nagyságrendű, mert a lépésköz 10−410^{-4}; a hiba lineárisan csökken. A függvény monoton növekvő, ezért a jobb összeg felülről, a bal összeg alulról közelít. Ez a labor a determinisztikus összegzés miatt pontosan reprodukálható; nincs szükség seedre vagy GPU-ra.

5.1.7 Feladatok

Az alábbi feladatok mindegyike a fenti fogalmakra épül. A nehézség 1 = közvetlen alkalmazás, 2 = több fogalom összekapcsolása, 3 = nyitott tervezési döntés.

F1 (fogalmi, nehézség 1). Adjon egy konkrét, négyelemű egyenletes Ω\Omega mintateret és két A,BA,B eseményt úgy, hogy P(A∣B)=1/2P(A\mid B)=1/2, de P(B∣A)=1P(B\mid A)=1. Magyarázza el szavakkal, miért lehetséges, hogy a két feltételes valószínűség különbözik, pedig ugyanaz a metszet szerepel bennük.

F2 (levezetési, nehézség 2). Vezesse le lépésről lépésre a teljes valószínűség tételét két elemű {B1,B2}\{B_1,B_2\} partícióra, majd alkalmazza a fenti osztályozó példára. Számolja ki P(Y=v∣Ŷ=v)P(Y=v\mid\hat Y=v) értékét a P(Y=v)=0,2P(Y=v)=0{,}2, P(Ŷ=v∣Y=v)=0,9P(\hat Y=v\mid Y=v)=0{,}9, P(Ŷ=v∣Y=h)=0,05P(\hat Y=v\mid Y=h)=0{,}05 adatokból, és ellenőrizze, hogy a nevező valóban 0,220{,}22.

F3 (implementációs, nehézség 2). Egészítse ki a fenti kódot a bal végpontos közelítéssel is. Futtassa n=10,100,1000n=10,100,1000 értékekre az f(x)=2xf(x)=2x sűrűség [0,1][0,1]-re vett normalizálási integráljára, és mindkét módszerre írja ki a hibát. Magyarázza meg, miért ad a bal összeg monoton növekvő függvénynél alsó, a jobb összeg felső becslést.

F4 (hibakeresési, nehézség 2). Egy hallgató a Bayes-tételt így kódolta:

P_hat_v_given_y_v = 0.9
P_y_v = 0.2
P_y_h = 0.8
P_hat_v = 0.9 * 0.2   # hiba itt
P_y_v_given_hat_v = P_hat_v_given_y_v * P_y_v / P_hat_v
print(P_y_v_given_hat_v)

Lokalizálja a hibát, magyarázza el, miért helytelen a P(Ŷ=v)P(\hat Y=v) számítás, és adja meg a javított kódot, amely 0,818180{,}81818-ot ad. Ellenőrizze a javítást abszolút esetszámokból kiindulva is (18 és 4, majd 22).

F5 (kísérleti/transzfer, nehézség 3). Tervezzen egy reprodukálható kísérletet annak mérésére, hogy egy rögzített CNN-osztályozó predikciós konfidenciája mennyire megbízható különböző osztályarányú teszthalmazokon. Használja a GlyphLab adatszerződést: a teszteléshez mesterségesen állítson be három arányt (például 80/10/10, 33/33/34, 10/80/10) úgy, hogy a scene_id függetlenségi egységet megtartja. Adja meg a használt modellt, a metrikát (például expected calibration error), a kiértékelési protokollt és legalább két érvényességi korlátot. Konkrét eredményt nem várunk; a terv legyen végrehajtható.

5.1.8 Megoldások és indoklás

F1 megoldás. Legyen Ω={1,2,3,4}\Omega=\{1,2,3,4\} egyenletes eloszlással, P(ω)=1/4P(\omega)=1/4. Válasszuk A={1}A=\{1\} és B={1,2}B=\{1,2\}. Ekkor P(A)=1/4P(A)=1/4, P(B)=1/2P(B)=1/2, P(A∩B)=P({1})=1/4P(A\cap B)=P(\{1\})=1/4. A feltételes valószínűségek:

P(A∣B)=1/41/2=12,P(B∣A)=1/41/4=1.P(A\mid B)=\frac{1/4}{1/2}=\frac12,\qquad P(B\mid A)=\frac{1/4}{1/4}=1.

A két érték azért különbözik, mert az AA-ra szűkített mintatérben a BB biztos esemény, míg a BB-re szűkített mintatérben az AA csak a BB felét fedi le. Ugyanaz a metszet, de más nevezővel osztunk.

F2 megoldás. A levezetés a főszövegben szereplő bizonyítás két elemű speciális esete. Mivel {B1,B2}\{B_1,B_2\} partíció, A=(A∩B1)∪(A∩B2)A=(A\cap B_1)\cup(A\cap B_2) diszjunkt unió. Az additivitásból:

P(A)=P(A∩B1)+P(A∩B2)=P(A∣B1)P(B1)+P(A∣B2)P(B2).P(A)=P(A\cap B_1)+P(A\cap B_2)=P(A\mid B_1)P(B_1)+P(A\mid B_2)P(B_2).

Itt A={Ŷ=v}A=\{\hat Y=v\}, B1={Y=v}B_1=\{Y=v\}, B2={Y=h}B_2=\{Y=h\}. Behelyettesítve:

P(Ŷ=v)=0,9⋅0,2+0,05⋅0,8=0,18+0,04=0,22.P(\hat Y=v)=0{,}9\cdot0{,}2+0{,}05\cdot0{,}8=0{,}18+0{,}04=0{,}22.

A Bayes-formulával:

P(Y=v∣Ŷ=v)=0,9⋅0,20,22=0,180,22=1822=911≈0,81818.P(Y=v\mid\hat Y=v)=\frac{0{,}9\cdot0{,}2}{0{,}22}=\frac{0{,}18}{0{,}22}=\frac{18}{22}=\frac{9}{11}\approx0{,}81818.

A nevező ellenőrzése megtörtént, és megegyezik az esetszámokból kapott 22-vel (100 képből).

F3 megoldás. A kiegészített kód:

import numpy as np

def riemann_probability(f, a, b, n, endpoint="right"):
    dx = (b - a) / n
    if endpoint == "right":
        x = a + np.arange(1, n + 1) * dx
    else:
        x = a + np.arange(0, n) * dx
    return np.sum(f(x)) * dx

def f(x):
    return 2.0 * x

for n in [10, 100, 1000]:
    left = riemann_probability(f, 0.0, 1.0, n, "left")
    right = riemann_probability(f, 0.0, 1.0, n, "right")
    print(f"n={n:4d}  bal hiba={left-1.0:+.6f}  jobb hiba={right-1.0:+.6f}")

A bal összeg hibája negatív, a jobbé pozitív, mert ff monoton növekvő: minden részintervallumon a bal végponti érték kisebb vagy egyenlő a függvényértékeknél, így a bal összeg alulbecsli az integrált; a jobb végponti érték nagyobb, így felülbecsli. Ahogy nn nő, mindkettő az 1 pontos értékhez tart.

F4 megoldás. A hiba a P(Ŷ=v)P(\hat Y=v) számításában van: a hallgató csak a P(Ŷ=v∣Y=v)P(Y=v)P(\hat Y=v\mid Y=v)P(Y=v) tagot vette figyelembe, és elhagyta a P(Ŷ=v∣Y=h)P(Y=h)P(\hat Y=v\mid Y=h)P(Y=h) tagot, tehát a nevező nem a teljes valószínűséget adja. A javított kód:

P_hat_v_given_y_v = 0.9
P_hat_v_given_y_h = 0.05
P_y_v = 0.2
P_y_h = 0.8
P_hat_v = P_hat_v_given_y_v * P_y_v + P_hat_v_given_y_h * P_y_h
P_y_v_given_hat_v = P_hat_v_given_y_v * P_y_v / P_hat_v
print(P_y_v_given_hat_v)  # 0.8181818181818181

Esetszámokból: 20 vertical képből 18 kap vertical predikciót; 80 horizontal képből 4 kap tévesen verticalt. Összes vertical predikció 18+4=2218+4=22, ebből helyes 1818, arány 18/22≈0,81818/22\approx0{,}818. A numerikus tolerancia itt nem szükséges, mert a számok racionálisak, de lebegőpontos kimenetnél 10−1210^{-12} relatív hiba alatt elfogadható.

F5 megoldás. Egy lehetséges terv: rögzítsünk egy betanított CNN-t a GlyphLab train részén, a val részen válasszuk ki a legjobb checkpointot. A teszteléshez a meglévő test splitet ne változtassuk, hanem hozzunk létre három mesterségesen módosított tesztváltozatot: mindegyikben tartsuk meg a scene_id szerinti csoportosítást, de változtassuk az osztályok súlyát úgy, hogy az adott arányokat kapjuk (a képek és címkék párosítása változatlan maradjon). Mindegyik változatra számoljuk ki a modell softmax-konfidenciáját, és mérjük az expected calibration error-t: a konfidencia-intervallumokba sorolt predikciók átlagos konfidenciája és a tényleges pontosság közötti súlyozott eltérést. Hipotézis: a kalibráció romlik, ha a teszthalmaz osztályaránya eltér a tanítási aránytól. Érvényességi korlát: a GlyphLab kis, procedurális adat, ezért az eredmény nem általánosítható természetes képekre; továbbá a mesterséges arányok megváltoztatják a prior eloszlást, ami önmagában is befolyásolja a konfidencia értelmezését, ezért a mérést rögzített modell súlyokkal kell végezni.

5.1.9 Tipikus tévedés és ellenpélda

Két gyakori hiba kapcsolódik ehhez az anyaghoz.

1. P(A∣B)P(A\mid B) és P(B∣A)P(B\mid A) felcserélése. A fenti osztályozó példában P(Ŷ=v∣Y=v)=0,9P(\hat Y=v\mid Y=v)=0{,}9, míg P(Y=v∣Ŷ=v)≈0,818P(Y=v\mid\hat Y=v)\approx0{,}818. Ugyanannak a feltételes kapcsolatnak a két iránya különböző, mert a nevezőben más esemény valószínűsége áll. A felcserélés a klasszikus „orvosi teszt” paradoxon forrása is: egy ritka betegség nagy szenzitivitású tesztje esetén a pozitív teszteredmény ellenére is alacsony lehet a betegség utólagos valószínűsége, mert a hamis pozitívak száma nagy a ritka betegség populációjában.

2. A sűrűség pontbeli értékét valószínűségként értelmezni. Tekintsük az U[0,1]U[0,1] egyenletes eloszlást. Itt f(0,5)=1f(0{,}5)=1, tehát a sűrűség értéke meghaladhatja az 1-et is (például U[0,0,1]U[0,0{,}1] esetén f=10f=10), miközben P(X=0,5)=0P(X=0{,}5)=0. A hiba következménye: ha valaki egy modell predikciójának sűrűségét egyetlen pontban nézi, tévesen magas vagy alacsony valószínűséget tulajdonít egy konkrét érték bekövetkezésének. Helyesen mindig intervallumra kell integrálni.

5.1.10 Önellenőrzés és korábbi fogalom visszahívása

Ellenőrző kérdések a tanuláshoz: (1) Az általam használt partíció elemei lefedik-e a teljes Ω\Omega-t és páronként diszjunktak-e? (2) A feltételes valószínűség nevezője pozitív-e? (3) A sűrűségfüggvényem integrálja 1-et ad-e a teljes tartón? (4) A Bayes-tétel alkalmazásakor a nevező a teljes valószínűség tételéből származik-e?

A 4.1. Függvény, határérték és derivált egységben a deriváltat a differenciahányados határértékeként definiáltuk. Most ugyanezt a határérték-szemléletet alkalmaztuk a Riemann-összegre: a numerikus közelítés finomítása a pontos integrálhoz konvergál, és a hiba a lépésközzel arányosan csökken. Az 1.1. Modell, tanulás és felhasználási szerződés modellfogalmából pedig a kategorikus eloszlás az, amely a többosztályos cél változóját írja le: a modell nem egyetlen determinisztikus címkét, hanem egy π\pi valószínűségi vektort becsül.

5.1.11 Rövid összefoglaló

A véges mintatéren az esemény valószínűsége a kimenetelek valószínűségeinek összege. A feltételes valószínűség az A∩BA\cap B metszetet a BB esemény valószínűségéhez viszonyítja, és a Bayes-tétel ebből a definícióból, valamint egy partíció diszjunkt felbontásából vezethető le. A Bernoulli- és kategorikus eloszlás a bináris, illetve többosztályos címkék alapmodellje. Folytonos esetben a sűrűségfüggvény normalizált, integrálja 1, és egy intervallum valószínűségét a görbe alatti terület adja; a Riemann-összeg ezt a területet közelíti numerikusan. A sűrűség pontbeli értéke nem valószínűség, és a feltételes valószínűség két iránya általában nem cserélhető fel.

5.1.12 Következő alkalmazás

A következő egység, 5.2. Várható érték, variancia és likelihood, a várható értéket, varianciát és likelihood-ot vezeti be; ott a sűrűség és eloszlás fogalmát használjuk a veszteségfüggvények valószínűségi értelmezéséhez.

5.1.13 Források