5.4 Függő képek, seedek és resampling

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

Az előző egységben, az 5.3. Mintavételi bizonytalanság és intervallum alfejezetben a mintavételi bizonytalanságot független, azonos eloszlású (iid) megfigyelésekre vizsgáltuk. A gyakorlati képi adatok azonban gyakran csoportokba rendeződnek: a GlyphLab egy jelenetének két nézete ugyanazt a geometriát tartalmazza, csak a zaj különbözik. Ha ezeket független képként kezeljük, a becslés bizonytalanságát alulbecsülhetjük. Az egység célja a statisztikai elemzés egységének, a páros összehasonlításnak és a klaszterbootstrapnek a bevezetése, valamint az adatminta- és a tanítási seed hatásának szétválasztása.

Előismeret: az 5.3. Mintavételi bizonytalanság és intervallum fogalmai (becslő, standard hiba, lefedettség, konfidenciaintervallum), valamint a 4.4. I. ellenőrző pont: matematika és kód megfelelése alfejezetből a determinisztikus reprodukálhatóság és az 1.4. Tanulási diagnózis és kísérleti napló alfejezetből a seed, illetve futásazonosító megkülönböztetése. Nem tételezünk fel haladó statisztikai elméletet.

Induló kérdés: a GlyphLab tanítóhalmaza 240 képet tartalmaz, de ezek 120 jelenetből származnak, jelenetenként két nézettel. Hány független megfigyelésünk van: 240 vagy 120? A válasz a kérdés feltevésétől függ, és ez az egész egység központi problémája.

5.4.2 Definíció és intuíció: statisztikai egység, klaszter, páros megfigyelés

Definíció (megfigyelési egység és klaszter). Legyen adott egy véges sokaság, amelyből mintát veszünk. A megfigyelési egység az a legkisebb rekord, amelyen a célváltozót mérjük — itt egy kép. A klaszter (csoport, angolul cluster) megfigyelések olyan halmaza, amelyen belül a függetlenség nem indokolt; a mintavételi terv a klaszter egészét választja ki vagy hagyja el. A GlyphLab-ban a klaszter a scene_id: egy jelenet két nézete közös véletlen geometriai konfigurációból származik, ezért a képszintű függetlenség sérül. A kettő közötti különbség nem pusztán formális: ha a jeleneten belüli képek korreláltak, akkor NN kép kevesebb információt hordoz, mint NN független megfigyelés.

Definíció (páros megfigyelés). Két mérés akkor páros, ha ugyanahhoz a klaszterhez tartozik, és a két feltétel közötti különbséget klaszteren belül értelmezzük. A GlyphLab zárótesztjében a clean és a corrupted változat ugyanazt a 60 tesztképet módosítja; a két feltétel képenként párosítható, ezért a pontosságkülönbség páros összehasonlítással elemezhető. A páros elemzés előnye, hogy a klaszterek közötti (jelenetek közötti) szórást kiküszöbölheti a különbségből — hasonlóan ahhoz, ahogy az 5.3. Mintavételi bizonytalanság és intervallum alfejezetben a becslő varianciája a megfigyelések varianciájából származott.

Jelölés. Legyen MM a klaszterek száma, rir_i az ii-edik klaszter elemszáma, r=1M∑irir = \frac1M\sum_i r_i az átlagos klaszterméret, és N=∑iriN = \sum_i r_i a teljes képszám. A GlyphLab tanítóhalmazában M=120M=120, ri=2r_i=2 minden ii-re, N=240N=240. Egy becslőt θ̂\hat\theta-val jelölünk; a bootstrap replikátumait θ̂1*,…,θ̂B*\hat\theta^*_1,\dots,\hat\theta^*_B, ahol BB a replikátumok száma.

Intuíció. Ha egy jelenet két nézete szinte azonos, a második nézet alig ad új információt. A képenkénti elemzés úgy tesz, mintha minden kép független lenne; a jelenetenkénti elemzés a jelenetet tekinti a véletlen mintavétel egységének. A kettő közötti választást nem a kényelem, hanem az adatgeneráló folyamat és a kutatási kérdés határozza meg.

5.4.3 Levezetési kötelezettség: kétcsoportos ellenpélda a képszám és a független egység eltérésére

A következő állítás mutatja meg, hogy a képszám növelése nem feltétlenül csökkenti a becslés varianciáját, ha a klaszterszerkezetet figyelmen kívül hagyjuk.

Lemma (klaszterkorrelált átlag varianciája). Legyen MM klaszter, mindegyikben pontosan rr megfigyelés. Tegyük fel, hogy az XijX_{ij} érték (i=1,…,Mi=1,\dots,M, j=1,…,rj=1,\dots,r) felbontása

Xij=μ+Ui+Eij,X_{ij} = \mu + U_i + E_{ij},

ahol μ\mu konstans, UiU_i és EijE_{ij} független véletlen változók, 𝔼[Ui]=𝔼[Eij]=0\mathbb{E}[U_i]=\mathbb{E}[E_{ij}]=0, Var(Ui)=τ2≥0\mathrm{Var}(U_i)=\tau^2\ge 0, Var(Eij)=σ2>0\mathrm{Var}(E_{ij})=\sigma^2>0. Ekkor a teljes mintaátlag

X‾=1Mr∑i=1M∑j=1rXij\bar X = \frac{1}{Mr}\sum_{i=1}^{M}\sum_{j=1}^{r}X_{ij}

varianciája

Var(X‾)=σ2Mr+τ2M.\mathrm{Var}(\bar X) = \frac{\sigma^2}{Mr} + \frac{\tau^2}{M}.

Bizonyítás. A kovarianciák a felbontásból közvetlenül adódnak. Ha i=i′i=i' és j=j′j=j', akkor Cov(Xij,Xi′j′)=Var(Ui+Eij)=τ2+σ2\mathrm{Cov}(X_{ij},X_{i'j'})=\mathrm{Var}(U_i+E_{ij})=\tau^2+\sigma^2. Ha i=i′i=i', de j≠j′j\ne j', akkor a közös UiU_i miatt a kovariancia τ2\tau^2. Ha i≠i′i\ne i', akkor a függetlenség miatt a kovariancia 00. A variancia a kettős összeg kovarianciáinak összege, osztva (Mr)2(Mr)^2-tel:

Var(X‾)=1(Mr)2∑i,i′,j,j′Cov(Xij,Xi′j′).\mathrm{Var}(\bar X) = \frac{1}{(Mr)^2}\sum_{i,i',j,j'}\mathrm{Cov}(X_{ij},X_{i'j'}).

Az i=i′i=i' esetben MM klaszter van, klaszterenként rr azonos pár és r(r−1)r(r-1) különböző pár. Így

$$\mathrm{Var}(\bar X) = \frac{1}{(Mr)^2}\Bigl[Mr(\tau^2+\sigma^2) + Mr(r-1)\tau^2\Bigr] = \frac{Mr\sigma^2 + Mr^2\tau^2}{(Mr)^2} = \frac{\sigma^2}{Mr}+\frac{\tau^2}{M}.$$

Ezzel az állítást beláttuk. ∎

Kétcsoportos ellenpélda. Legyen M=2M=2 jelenet, jelenetenként r=10r=10 kép, tehát N=20N=20 kép. Válasszunk τ2=25\tau^2=25 és σ2=1\sigma^2=1 értékeket, amelyek azt fejezik ki, hogy a jelenetek közötti szóródás dominál. A lemma szerint a mintaátlag tényleges varianciája

120+252=0.05+12.5=12.55.\frac{1}{20} + \frac{25}{2} = 0.05 + 12.5 = 12.55.

Ha valaki tévesen 2020 független képet feltételez, akkor az iid képlet alapján — amely az 5.3. Mintavételi bizonytalanság és intervallum alfejezetből ismert Var(X‾)=Var(X)/N\mathrm{Var}(\bar X)=\mathrm{Var}(X)/N alak — azt becsülné, hogy

τ2+σ220=2620=1.3,\frac{\tau^2+\sigma^2}{20} = \frac{26}{20} = 1.3,

ami csaknem tízszer kisebb. A képszám tehát valóban 20, de az effektív független egységek száma a variancia szempontjából 2-hez közeli: a τ2/M\tau^2/M tag nem csökken rr növelésével. A levezetés saját; a klaszterkorrelált varianciabontás az [B01] 6. fejezetében tárgyalt variancia- és kovarianciafogalmakra épül, de a konkrét lemma itteni kidolgozás.

5.4.4 Kézi kis példa

Vegyünk két jelenetet, mindegyikből két képet. A mért értékek legyenek az alábbiak.

Jelenet Kép 1 Kép 2
A 10 12
B 20 22

A teljes mintaátlag x‾=(10+12+20+22)/4=16\bar x = (10+12+20+22)/4 = 16. A jelenetenkénti bootstrap a két jelenet közül húz visszatevéssel kettőt, és minden kiválasztott jelenethez mindkét képét hozzáveszi. A lehetséges húzások:

A jelenetalapú replikátumok eloszlása: 11, 16, 16, 21, mindegyik 1/41/4 valószínűséggel. Ebből a bootstrap-átlag várható értéke (11+16+16+21)/4=16(11+16+16+21)/4=16, ami megegyezik a teljes mintaátlaggal, és a szórásnégyzete 14[(11−16)2+0+0+(21−16)2]=12.5\frac14[(11-16)^2+0+0+(21-16)^2]=12.5.

A képenkénti bootstrap ezzel szemben a négy kép közül húz négyet visszatevéssel; a 44=2564^4=256 egyformán valószínű rendezett minta teljes felsorolható. Ennek az eloszlásnak a tartóhalmaza bővebb: olyan minták is keletkeznek, mint (10, 10, 10, 10), átlag 10, vagy (22, 22, 22, 22), átlag 22. A tartóhalmaz szélessége azonban nem a szóródás mértéke: ezek az extrém minták egyenként csak 1/2561/256 valószínűségűek. A szóródást a variancia méri. A visszatevéses empirikus bootstrap átlagának pontos varianciája a populációs (1/N-es) tapasztalati variancia osztva NN-nel: a négy érték négyzetes eltéréseinek összege a 16-os átlag körül 36+16+16+36=10436+16+16+36=104, így

Var*(x‾*)=104/44=6,5,\operatorname{Var}^*(\bar x^*)=\frac{104/4}{4}=6{,}5,

ami a 256 minta felsorolásával pontosan ellenőrizhető. Ettől külön mennyiség a klasszikus plug-in standard hiba, amely az s2=104/3≈34,67s^2=104/3\approx34{,}67 korrigált mintavarianciát használja: s2/N=(104/3)/4≈2,9439\sqrt{s^2/N}=\sqrt{(104/3)/4}\approx2{,}9439. Az összevetés tehát a varianciákon: a képenkénti bootstrap varianciája 6,56{,}5, a jelenetenkéntié 12,512{,}5, vagyis a képenkénti bootstrap szűkebb bizonytalanságot mutat, mert a két nézetet független megfigyelésnek kezeli, és figyelmen kívül hagyja, hogy a jelenetek közötti eltérés (A: 11, B: 21) adja a szóródás nagyobb részét. A jelenetalapú megközelítés a klaszterek közti szórást tükrözi; ez a kis példa azt mutatja, hogy a két bootstrap más bizonytalanságot mér, és a jelenetalapú a helyes, ha a jelenet a független mintavételi egység.

5.4.5 Labor: képenkénti és jelenetenkénti bootstrap a GlyphLab két nézetén

A labor a GlyphLab tanítóhalmazán hasonlítja össze a két bootstrapstratégiát. A becslő az átlagos pixelintenzitás a tanítóképeken; ez egyszerű, és jól mutatja a klaszterhatást, mert ugyanazon jelenet két nézete erősen korrelált. A feladat nem a modellpontosság becslése, hanem a bootstrap egységének szerepe. A kódot CPU-n, NumPy-val futtatjuk; a képek float32 típusúak, a replikátumok float64-ben gyűlnek.

# n020_lab.py — futtatás: python n020_lab.py
# Munkakönyvtár: a projekt gyökere, ahol a lab/data/ elérhető.
import numpy as np
import pandas as pd
from pathlib import Path

data_dir = Path("lab/data")
rng = np.random.default_rng(20261020)  # seed a replikátumokhoz
images = np.load(data_dir / "images.npy")          # (360,1,24,24), float32
labels = np.load(data_dir / "labels.npy")          # (360,), int64
meta = pd.read_csv(data_dir / "metadata.csv")      # index, scene_id, view_id, ...

train = meta[meta["split"] == "train"].reset_index(drop=True)
# train: 240 kép, 120 jelenet, osztályonként 40 jelenet
train_idx = train["index"].to_numpy()              # (240,)
train_images = images[train_idx]                   # (240,1,24,24)

def estimator(imgs: np.ndarray) -> float:
    """Átlagos intenzitás; float64-re konvertálva a stabil összegzéshez."""
    return float(np.asarray(imgs, dtype=np.float64).mean())

B = 2000
# 1) Képenkénti bootstrap: 240 képből 240 húzás visszatevéssel.
boot_img = np.empty(B, dtype=np.float64)
for b in range(B):
    idx = rng.integers(0, len(train_images), size=len(train_images))
    boot_img[b] = estimator(train_images[idx])

# 2) Jelenetenkénti, osztályonként rétegzett bootstrap.
# A GlyphLab generálása osztályonként rögzített jelenetszámot használ;
# a bootstrap ezt a rétegzést megőrzi: osztályonként 40 jelenetet húz.
scenes_by_label = {lab: np.unique(train.loc[train["label"] == lab, "scene_id"])
                   for lab in np.unique(train["label"])}
scene_to_idx = train.groupby("scene_id")["index"].apply(np.array).to_dict()

boot_scene = np.empty(B, dtype=np.float64)
for b in range(B):
    chosen = []
    for lab, scene_ids in scenes_by_label.items():
        drawn = rng.choice(scene_ids, size=len(scene_ids), replace=True)
        for sid in drawn:
            chosen.extend(scene_to_idx[sid])
    sel = np.array(chosen, dtype=np.int64)
    assert len(sel) == len(train_images), "a rétegzett bootstrap mérete sérült"
    boot_scene[b] = estimator(train_images[sel])

ci_img = np.quantile(boot_img, [0.025, 0.975])
ci_scene = np.quantile(boot_scene, [0.025, 0.975])
print(f"train képek száma: {len(train_images)}, jelenetek száma: {train['scene_id'].nunique()}")
print(f"képenkénti bootstrap: átlag={boot_img.mean():.6f}, sd={boot_img.std(ddof=1):.6f}, "
      f"95% percentilis CI=({ci_img[0]:.6f}, {ci_img[1]:.6f})")
print(f"jelenetenkénti bootstrap: átlag={boot_scene.mean():.6f}, sd={boot_scene.std(ddof=1):.6f}, "
      f"95% percentilis CI=({ci_scene[0]:.6f}, {ci_scene[1]:.6f})")
print(f"szórások aránya (jelenet/kép): {boot_scene.std(ddof=1)/boot_img.std(ddof=1):.3f}")

Ellenőrzés és értelmezés. A kód két beépített kontrollt végez: a rétegzett minta mérete minden replikátumban pontosan 240, és a replikátumok átlaga összehasonlítható a teljes tanítóhalmaz átlagával — a bootstrap várható értéke közelíti a mintabeli becslést, de ez önmagában nem garancia. A közölt kimenet számított szemléltetés, nem mért eredmény. A várt mintázat: a jelenetenkénti szórás nagyobb, mint a képenkénti, mert a jeleneten belüli korreláció csökkenti az effektív mintaméretet. A szórások aránya adatspecifikus; a GlyphLab két nézete közös geometriájú, de külön zajú, ezért az arány várhatóan 1-nél nagyobb, de nem extrém. A percentilis CI az [S02]-ben tárgyalt ismételt mintavételi értelmezésű intervallum analogonja, azzal a különbséggel, hogy a bootstrap esetén a lefedettség csak közelítő, és a klaszterek számának növelésével javul.

5.4.6 Feladatok

F1 (fogalmi, nehézség 1). Fogalmazza meg saját szavaival, mi a különbség a megfigyelési egység és a statisztikai mintavételi egység között. Adjon egy olyan konkrét ellenpéldát, amelyben a képszám nagy, de a független egységek száma kicsi.

F2 (levezetési, nehézség 2). A lemmában M=3M=3 klaszter, klaszterenként r=4r=4 megfigyelés, τ2=9\tau^2=9, σ2=1\sigma^2=1 szerepel. Számítsa ki a mintaátlag tényleges varianciáját, a naiv iid képletből adódó értéket, és magyarázza el a különbséget. Minden lépést írjon le a kovarianciaösszegzésig.

F3 (implementációs, nehézség 2). Írjon Python-függvényt cluster_bootstrap(data, clusters, B, rng) néven, ahol data egy (N,) alakú tömb, clusters egy (N,) alakú, klaszterazonosítókat tartalmazó tömb, B a replikátumok száma, és rng egy numpy.random.Generator. A függvény minden replikátumban klasztereket húz visszatevéssel, az összes hozzájuk tartozó elemet megtartja, és a becslő (átlag) replikátumait adja vissza (B,) alakú float64 tömbben. Ellenőrizze egy háromklaszteres, ismert átlagú adaton, hogy a replikátumok átlaga a teljes mintaátlag közelében van (tolerancia 10−310^{-3}).

F4 (hibakeresési, nehézség 2). Tekintse a következő kódrészletet, amely a GlyphLab train képeire bootstrapel:

idx_all = np.arange(len(train_images))
for b in range(B):
    sample = rng.permutation(idx_all)[:len(idx_all)]  # visszatevés nélkül!
    boot[b] = estimator(train_images[sample])

Azonosítsa a két hibát: miért nem jelenetalapú ez a mintavétel, és miért hibás a visszatevés nélküli permutáció? Mi a következményük a konfidenciaintervallumra, és hogyan javítaná a kódot?

F5 (kísérleti transzfer, nehézség 3). Tervezzen kísérletet a GlyphLab clean és corrupted tesztkészletének páros összehasonlítására. Adja meg: a kutatási kérdést, a nullhipotézist, a metrikát, a párosítás egységét, a bootstrap protokollt (jelenetalapú, rétegzett), a szükséges modellválasztási korlátot (a corrupted teszt nem használható modellválasztásra), és egy lehetséges következtetési korlátot. Nem kell futtatnia, de a tervnek végrehajthatónak kell lennie az 1.3. Adatfelosztás és a megfigyelési egység alfejezetben rögzített split és a GlyphLab séma szerint.

5.4.7 Megoldások és indoklás

F1 megoldás. A megfigyelési egység a mérés legkisebb rekordja: itt egy kép. A statisztikai mintavételi egység az a szint, amelyen a függetlenség feltételezhető, és amelyet a bootstrapben visszatevéssel húzunk: itt a jelenet. A kettő akkor tér el, ha több megfigyelés származik ugyanabból a klaszterből. Ellenpélda: 1000 képet készítünk egyetlen jelenetből kismértékű zajvariációval. A képszám 1000 nagy, de a független egységek száma 1; az átlagos intenzitás konfidenciaintervalluma nem szűkül a képszám növelésével arányosan, mert a jelenethatás közös minden képen. Megfigyelési egység és mintavételi egység tehát nem felcserélhető fogalom.

F2 megoldás. A lemma képlete szerint M=3M=3, r=4r=4, így

Var(X‾)=σ2Mr+τ2M=112+93=0.0833+3=3.0833.\mathrm{Var}(\bar X)=\frac{\sigma^2}{Mr}+\frac{\tau^2}{M}=\frac{1}{12}+\frac{9}{3}=0.0833+3=3.0833.

A naiv iid képlet az összes N=12N=12 megfigyelést függetlennek tekinti, és a per-megfigyelés varianciát τ2+σ2=10\tau^2+\sigma^2=10-nek veszi:

Varnaiv(X‾)=1012=0.8333.\mathrm{Var}_{\text{naiv}}(\bar X)=\frac{10}{12}=0.8333.

A valódi variancia tehát 3.0833/0.8333≈3.73.0833/0.8333 \approx 3.7-szerese a naiv értéknek. A levezetés a lemma bizonyításának mintájára: az i=i′i=i' esetben Mr=12M r = 12 azonos pár és Mr(r−1)=3⋅4⋅3=36M r(r-1)=3\cdot4\cdot3=36 különböző, azonos klaszterbe tartozó pár van; a keresztklaszteres párok kovarianciája nulla. Az összeg 12(τ2+σ2)+36τ2=12⋅10+36⋅9=44412(\tau^2+\sigma^2)+36\tau^2 = 12\cdot10+36\cdot9=444; osztva (Mr)2=144(Mr)^2=144-gyel: 444/144=3.0833444/144=3.0833. Ez az ellenőrzés megerősíti a képletet.

F3 megoldás. A függvény:

import numpy as np

def cluster_bootstrap(data, clusters, B, rng):
    data = np.asarray(data, dtype=np.float64)
    clusters = np.asarray(clusters)
    unique_clusters = np.unique(clusters)
    result = np.empty(B, dtype=np.float64)
    for b in range(B):
        drawn = rng.choice(unique_clusters, size=len(unique_clusters), replace=True)
        mask = np.isin(clusters, drawn)
        result[b] = data[mask].mean()
    return result

Ellenőrzés: legyen három klaszter, mindegyik két elemmel, értékek rendre 1,1, 2,2, 3,3. A teljes átlag 2. rng = np.random.default_rng(0) mellett B=5000B=5000 replikátum átlaga 2±10−32\pm10^{-3} közelében kell legyen; a klaszterek húzása visszatevéses, ezért a replikátumok mindig hat eleműek, és az átlaguk a három klaszterátlag (1, 2, 3) újramintavételezett átlaga. Az elvárt átlag pontosan 2, a numerikus tolerancia 10−310^{-3} indokolt a véges BB mintavételi hibája miatt. Szélsőeset: ha minden klaszter mérete 1, a klaszterbootstrap a szokásos iid bootstrapre redukálódik, mert np.isin minden húzott elemhez egy értéket rendel; az ellenőrző teszt ezt is lefedi.

F4 megoldás. Az első hiba: a kód a képek indexeit keveri, nem a jeleneteket, ezért az azonos scene_id-hez tartozó két nézet szétválasztható, és a replikátumban a klaszterstruktúra megszűnik. A második hiba: a rng.permutation visszatevés nélküli permutáció, így minden replikátum pontosan az eredeti képek egy átrendezése; a bootstrap becslő ingadozása eltűnik, mert az átlag permutációinvariáns — a replikátumok mind azonosak lesznek, a CI nulla szélességű. A következmény: a képenkénti és visszatevés nélküli mintavétel együtt drasztikusan alulbecsli a bizonytalanságot. Javítás: a replikátumon belül először a jelenetazonosítókból húzunk visszatevéssel, majd a kiválasztott jelenetek összes képét válogatjuk be; a jelenetek húzása rng.choice(scene_ids, size=len(scene_ids), replace=True) legyen. A javított változatot ellenőrizzük: egy replikátumban sem szerepelhet egy jelenetnek csak az egyik nézete, és a replikátumok szórása nullától különböző.

F5 megoldás. Kérdés: mennyivel romlik a modell pontossága a korrupt tesztváltozaton a tiszta teszthez képest? Nullhipotézis: a modell várható pontossága a két feltételen azonos; a különbség 0. Metrika: páronkénti pontosságkülönbség, azaz képenként dj=𝟏[ŷjclean=yj]−𝟏[ŷjcorrupt=yj]d_j = \mathbf{1}[\hat y_j^{\text{clean}}=y_j] - \mathbf{1}[\hat y_j^{\text{corrupt}}=y_j]; a becslő a 60 páron vett átlag. A párosítás egysége a kép, de a bootstrap egysége a jelenet: a 30 tesztjelenetből húzunk visszatevéssel 30-at, osztályonként rétegzetten (osztályonként 10 jelenet), és minden kiválasztott jelenet mindkét view-ját, clean és corrupt változatát együtt tartjuk. A modellt csak a train/val adaton szabad kiválasztani; a corrupted teszt kizárólag a végső, befagyasztott modell kiértékelésére szolgál. A 95%-os percentilis CI a jelenetalapú replikátumokból számítható. Következtetési korlát: a GlyphLab szintetikus és kicsi, ezért a robusztussági következtetés nem vihető át valós képi adatra; továbbá a bootstrap a modellválasztási bizonytalanságot nem tartalmazza, mert ugyanazt a betanított modellt értékeljük újra.

5.4.8 Tipikus tévedés és ellenpélda

Tévedés: „Ha több tanítási seeddel futtatom ugyanazt a modellt ugyanazon az adaton, akkor a kapott pontosságok szórása a valódi adatfelvétel bizonytalanságát méri.” Ez hibás. A seed az inicializálást, a minibatch-sorrendet és az esetleges dropout-maszkokat változtatja meg; az adateloszlás és a minta rögzített marad. A több seedből származó szórás a tanítási algoritmus sztochasztikusságát méri. Az adatminta bizonytalanságát csak új, független minta vagy a jelenetalapú bootstrap közelítheti, és ez utóbbi is feltételezi, hogy a jelenetek reprezentatív mintái a sokaságnak. A két komponens össze is adódhat: a teljes variancia közelítő dekompozíciója Varössz≈Varadat+Varseed\mathrm{Var}_{\text{össz}} \approx \mathrm{Var}_{\text{adat}} + \mathrm{Var}_{\text{seed}}, de ez csak közelítés, és a kereszthatást külön vizsgálni kell. Konkrét ellenpélda: 5 különböző seed futtatása 240 képen mind 0.91 és 0.93 közötti val pontosságot adhat, miközben a jelenetalapú bootstrap CI 0.85–0.97; a seed-szórás önmagában a széles adatbizonytalanságot nem mutatja meg.

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

Ellenőrző kérdések: (1) Mi a bootstrap mintavételi egysége a GlyphLab esetén, és miért? (2) Mi a különbség a páros és a független csoportos összehasonlítás között a varianciakomponensek szempontjából? (3) Melyik 5.3. Mintavételi bizonytalanság és intervallum alfejezetbeli fogalom adja a konfidenciaintervallum ismételt mintavételi értelmezését? (4) Miért nem elegendő egy seed a tanítási sztochasztikusság jellemzésére, és miért nem azonos ez az adatminta újrahúzásával?

Válaszok röviden: (1) a jelenet, mert a két nézet közös geometriájú, korrelált; (2) a páros elemzés a klaszterek közötti szórást kiejtheti a különbségből, ezért gyakran kisebb standard hibát ad; (3) a lefedettség fogalma; (4) a seed csak az algoritmus véletlenjét változtatja, az adatot nem, ezért a kettő két külön varianciaforrás. A visszahívás a 4.4. I. ellenőrző pont: matematika és kód megfelelése alfejezetből: a gradiensellenőrzés determinisztikus numerikus protokollt követ; itt a statisztikai szórás más természetű, és nem keverhető a lebegőpontos hibával. Az 1.4. Tanulási diagnózis és kísérleti napló alfejezetből: a seed a generátor állapota, a futásazonosító a napló kulcsa; a többseed-kísérletben mindkettőt rögzíteni kell.

5.4.10 Rövid összefoglaló

A megfigyelési egység és a statisztikai mintavételi egység akkor tér el, ha képek klaszterekbe, például jelenetekbe rendeződnek. A klaszteren belüli korreláció miatt a mintaátlag varianciája σ2/(Mr)+τ2/M\sigma^2/(Mr)+\tau^2/M, ahol MM a jelenetek, rr a képek száma; a képszám növelése a τ2/M\tau^2/M tagot nem csökkenti. A jelenetalapú bootstrap a teljes klasztereket húzza visszatevéssel, és szélesebb konfidenciaintervallumot adhat, mint a képenkénti. A páros összehasonlítás a klaszteren belüli különbséget elemzi. A tanítási seed ismétlése az algoritmus, nem az adatminta bizonytalanságát méri; a kettőt külön kísérleti tervben kell kezelni.

5.4.11 Következő alkalmazás

A 6.1. Objektív, reguláris tag és gradienslépés alfejezetben az empirikus kockázat és a gradienslépés következik. A jelenetalapú bootstrap és a páros gondolat a későbbi modellértékelésben, a 23.3. Páros összehasonlítás és csoportszintű intervallum alfejezetben tér vissza csoportszintű intervallumokkal.

5.4.12 Források