Hyperparametry v klasifikaci

Dokončeno

Hyperparametry si můžete představit jako nastavení použitá pro trénování. Můžeme se například rozhodnout, že se bude trénovat pomalu nebo rychle. Hyperparametry ovlivňují trénování, takže ovlivňují konečný výkon modelu. Přesně to, které hyperparametry jsou k dispozici, závisí na druhu modelu, který trénujeme. Obvykle experimentujeme s hyperparametry za účelem optimalizace výkonu modelu.

Příklad náhodných doménových struktur

Náhodné doménové struktury mají k dispozici různé druhy hyperparametrů. U náhodných doménových struktur může být přímka mezi hyperparametry rozhodnutí o architektuře rozmazaná. Důvodem je to, že hyperparametry nemají vliv jenom na parametry uvnitř modelu, ale také na strukturování stromů a doménové struktury.

Vzpomeňte si, že na začátku tréninku každého rozhodovacího stromu je k dispozici mnoho vzorků, například 100 gymnastů, z nichž někteří získali medaile. Musíme vytvořit strom, který postupně rozděluje tyto vzorky do menších podskupin sportovců. Cílem je, aby tyto podskupiny obsahovaly sportovce, kteří jsou stejní, například v rámci každé podskupiny, všichni sportovci vyhráli medaile nebo ne. Pojďme se podívat na některé hyperparametry, které můžou ovlivnit tento proces trénování.

Kritéria pro rozdělení

Během trénování se optimalizátor musí rozhodnout, kdy se má uzel rozdělit. Existují různé způsoby, jak lze učinit rozhodnutí, a která metoda je zvolena, se nazývá hyperparametr. Různé metody v podstatě odkazují na různé způsoby vyhodnocení, jak je podobný vzorek.

Běžné metody rozdělují uzly na základě teorie informací. Tuto ukázku si můžete zhruba představit jako rozdělení vzorku tak, aby dvě výsledné podsamply byly "čistější" než původní. Dostupné metody se mírně liší a mohou vést k mírným rozdílům ve výsledném stromu, velmi podobně jako funkce nákladů používané pro gradientní sestup mohou poskytovat různé konečné modely. V další sadě cvičení experimentujeme se dvěma kritérii.

Minimální snížení nečistot

Kritérium použité k rozdělení uzlů můžete dále přizpůsobit. Například nastavení minimální čistoty pokles znamená, že uzel může být rozdělen pouze v případě, že zlepší model o určitou velikost nebo více. Existuje několik souvisejících hyperparametrů, které můžou blokovat vytváření nových uzlů, například maximální hloubku nebo minimální počet vzorků v uzlu.

Důvodem, proč omezujeme příliš daleko rostoucí strom, je vyhnout se přeurčení. Větší stromy jsou lepší při porovnávání trénovací datové sady, ale můžou se tak naladit na tuto trénovací sadu, aby přestaly fungovat pro jiná data. Jinými slovy, omezení toho, jak složitý strom se stane, může snížit jeho tendenci k převlékání.

Maximální počet funkcí

Když se stromy v náhodné doménové struktuře vytvoří, zobrazí se jim podmnožina trénovacích dat, která se mají přizpůsobit, a seznam funkcí, které se mají použít. Důležité je, že každý strom může přijímat různé kolekce funkcí. Jeden strom může například používat tloušťku a výšku, zatímco jiný používá výšku a věk.

Zvýšení maximálního počtu funkcí, které může každý strom obdržet, pravděpodobně zlepší, jak dobře může každý strom přizpůsobit trénovací sadě, protože jsou k dispozici další informace. Zda tato pomůcka nebo negativně ovlivňuje její schopnosti v testovací sadě, může vyžadovat experimentování. Důvodem je to, že vždy poskytování mnoha funkcí může znamenat, že stromy v doménové struktuře skončí více podobně jako u sebe, což snižuje výhodu náhodného doménového struktury nad jednoduchým rozhodovacím stromem. Nalezení rovnováhy mezi těmito extrémními hodnotami obvykle vyžaduje určité experimentování.

Setí

Přizpůsobení modelu obvykle v určitém okamžiku spoléhá na náhodná čísla. Počítače negenerují skutečně náhodná čísla, ale obsahují pravidla, která uvádějí, jak vytvořit seznam náhodných čísel vzhledem k počátečnímu číslu nazývanému náhodné počáteční počáteční číslo.

Pokud je například naše počáteční hodnota 10 a vezme první tři "náhodná" čísla, může počítač vytvořit 0,75, 0,13, 0,68. I když se tato čísla zobrazují náhodně, při každém počátečním odsadu od 10 získáme stejnou sadu čísel.

Ve strojovém učení používáme náhodná čísla k inicializaci parametrů modelu nebo k rozdělení datových sad na trénovací a testovací sady. Pokud je nastavená náhodná počáteční hodnota, náhodné hodnoty použité během trénovacího procesu budou při každém opětovném spuštění kódu stejné, což znamená, že při každém opětovném spuštění kódu přiřadíme stejná data k testovacím nebo trénovacím sadám a trénujeme modely se stejným stavem inicializace (počáteční parametry).

Pokud naopak nenastavíme počáteční hodnoty, počítač pro nás vybere jedno (například na základě času), což znamená, že spuštění našeho trénování dvakrát může dát mírně odlišné výsledky.

Náhodné počáteční hodnoty nejsou výhradně hyperparametry, ale zde uvádíme, že tento externí parametr může hrát roli při efektivitě trénování. I když je to obvykle menší, pokud je model velmi složitý a/nebo množství dostupných dat je malé, lze výkon testovací sady modelu výrazně lišit, pokud se použijí dvě různá semena. V takových situacích často platí spustit trénování s několika různými semeny, aby posoudil, do jaké míry je návrh modelu adekvátní a do jaké míry je výkon jednoduše "slepé štěstí".