Reprezentace kategorií a redukce rozměrnosti

Hashovací trik

Hashing trick je způsob prevodu velkého nebo otevřeného slovníka prvků do vektora pevnej délky pomocí hashovacej funkce. Každý token, kategorie nebo příznak se mapuje do jednoho z předem určených košů, případně i se znamienkom, a jeho hodnota se v daném koši pripočíta. Metoda nepotřebuje uchovávat kompletný slovník a ví zpracovat nové hodnoty, ale různé prvky mohou skončit v stejném koši. Tyto kolíze jsou nevratné a při příliš malém počtu rozměrů snižují rozlišovaci schopnost. Hashing trick se nesmí zamieňat s kryptografickým hashováním.

Poslední odborná revize
7. srpna 2026
Odborný garant
Miroslav Schmiedt
ID
AI-GEO-H-10

Odborná definice

Odborná definice

Hashing trick je způsob prevodu velkého nebo otevřeného slovníka prvků do vektora pevnej délky pomocí hashovacej funkce. Každý token, kategorie nebo příznak se mapuje do jednoho z předem určených košů, případně i se znamienkom, a jeho hodnota se v daném koši pripočíta. Metoda nepotřebuje uchovávat kompletný slovník a ví zpracovat nové hodnoty, ale různé prvky mohou skončit v stejném koši. Tyto kolíze jsou nevratné a při příliš malém počtu rozměrů snižují rozlišovaci schopnost. Hashing trick se nesmí zamieňat s kryptografickým hashováním.

Srozumitelné vysvětlení

Srozumitelné vysvětlení

Představte si milión možných slov, ale pouze stotisíc očíslovaných zásuviek. Hash funkce určí zásuvku pro každé slovo. Nemusíte vést seznam všech slov a nové slovo lze okamžitě uložit, ale dvě odlišné slova mohou dostat stejné číslo. Model potom vidí jejich společný součet a neví jejich spetne oddělit. Při dostatočnom počtu zásuviek se kolíze rozptýlia a úspora paměti může být velmi výhodná. Tato technika však neskrýva identitu bezpečným způsobem. Útočník může skúšat kandidátne vstupy a sledovat, do kterých košů se mapují.

Časté otázky

Časté otázky

Jakou výhodu má hashing trick oproti one-hot encodingu?

Rozměr vektora je pevný a netreba zostavit ani uložit slovník kategorií. To pomáhá při streamoch, velmi velkém počtu hodnot a neznámých kategóriách, které se objeví až po nasazení.

Jak se volí počet hashovacích košů?

Vyšší počet snižuje kolíze, ale zvyšuje paměť a výpočty. Volba se ověřuje na validačních datech podle výkonu modelu, rychlosti a distribuce aktívnych příznaků, ne pouze podle počtu unikátnych tokenů.

K čemu slouží signed hashing?

Druhá hashovace informace přiřadí příspěvku plus nebo mínus. Opačné znamienka částečně rušia systematický bias kolízií a lépe zachovávají vnitřní součiny v očakávaní.

Lze z hashovaného vektora obnovit původní token?

Ne jednoznačne, protože více vstupů může zdielat stejný kůš a slovník se neuchováva. Pokud je množina kandidátů malá, lze skúšáním zjistit pravdepodobné mapování, takže nejde o anonymizaci.

Kdy hashing trick není vhodný?

Když potrebujete vysvetlit váhu konkrétní kategorie, spetne zobrazit název prvku nebo garantovat oddělení citlivých hodnot. Nevhodný je i při malém slovníku, kde explicitní mapování přináší lepší interpretovatelnost.

Související pojmy

Související pojmy

Zdroje a redakční stopa

Zdroje a redakční stopa

  • Google ML Crash Course, categorical data and hashing (developers.google.com)
  • scikit-learn, FeatureHasher (scikit-learn.org)

Definícia je autorská odborná syntéza. Pri právnych a regulačných rozhodnutiach má prednosť aktuálne oficiálne znenie predpisu a posúdenie konkrétneho prípadu.