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.
