Populární témata
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Tým Andrewa Nga jednou udělal velkou chybu ve výzkumné práci.
A stalo se to kvůli náhodnému rozdělení dat.
Tady je přesně to, co se stalo (s řešením):
Běžné je generovat množiny trainů a validace pomocí náhodného dělení.
V mnoha případech však může být pro stavbu modelů fatální.
Zvažte vytvoření modelu, který generuje popisky k obrázkům.
Díky přirozené povaze jazyka může mít každý obrázek mnoho různých popisků.
- Obrázek-1 → Titulek-1, Titulek-2, Titulek-3 atd.
- Obrázek-2 → Titulek-1, Titulek-2, Titulek-3 atd.
Podívej se na to 👇

Pokud použijeme náhodné rozdělení, bude v trénovacích a validačních sadách k dispozici stejný datový bod (obrázek).
V důsledku toho nakonec vyhodnotíme model na instancích, na kterých byl natrénován.
Toto je příklad úniku dat (nazývaného také skupinový únik), který má za následek přeučení!

Totéž se stalo v článku Andrewa Nga, kde připravili lékařskou datovou sadu pro detekci zápalu plic.
- Celkový počet obrázků = 112k
- Celkový počet pacientů = 30 tisíc
Díky náhodnému rozdělení byly obrazy stejného pacienta dostupné jak v tréninkových, tak validačních sadách.
To vedlo k úniku dat a validační skóre vypadalo mnohem lépe, než by mělo.
Toto je jejich první článek👇

Skupinové míchání to vyřešilo.
Existují dva kroky:
1) Seskupit všechny tréninkové instance odpovídající jednomu obrázku.
2) Po seskupení musí být CELÁ SKUPINA (všechny příklady jednoho obrázku) náhodně přiřazena k vlaku nebo validační sadě.
To zabrání úniku skupiny.

Pokud používáte Sklearn, GroupShuffleSplit tuto myšlenku implementuje.
Jako příklad uvažujme, že máme následující datovou sadu:
- x1 a x2 jsou tyto vlastnosti.
- y je cílová proměnná.
- skupina označuje kritéria seskupování.
Podívej se na to 👇

Nejprve importujeme GroupShuffleSplit ze sklearn a instancujeme objekt.
Dále metoda split() tohoto objektu umožňuje provést rozdělení skupin. Vrací generátor a můžeme jej rozebrat, abychom získali následující výstup:
- Datové body ve skupinách "A" a "C" jsou společně ve trénovací množině.
- Datové body ve skupině "B" jsou společně v validační/testovací sadě.
Podívej se na to 👇

O několik dní později tým Andrewa Nga aktualizoval článek po použití stejné strategie rozdělení skupin, aby zajistil, že stejní pacienti neskončí v tréninkové i validační sadě.
👉 Předám vám předání: Setkali jste se s tímto problémem už dříve?

11,83K
Top
Hodnocení
Oblíbené

