Odborná definícia
Význam a odborné vymedzenie pojmu
Hashing trick je spôsob prevodu veľkého alebo otvoreného slovníka prvkov do vektora pevnej dĺžky pomocou hashovacej funkcie. Každý token, kategória alebo príznak sa mapuje do jedného z vopred určených košov, prípadne aj so znamienkom, a jeho hodnota sa v danom koši pripočíta. Metóda nepotrebuje uchovávať kompletný slovník a vie spracovať nové hodnoty, no rôzne prvky môžu skončiť v rovnakom koši. Tieto kolízie sú nevratné a pri príliš malom počte rozmerov znižujú rozlišovaciu schopnosť. Hashing trick sa nesmie zamieňať s kryptografickým hashovaním.
Zrozumiteľné vysvetlenie
Ako sa pojem používa v praxi
Predstavte si milión možných slov, ale iba stotisíc očíslovaných zásuviek. Hash funkcia určí zásuvku pre každé slovo. Nemusíte viesť zoznam všetkých slov a nové slovo možno okamžite uložiť, no dve odlišné slová môžu dostať rovnaké číslo. Model potom vidí ich spoločný súčet a nevie ich spätne oddeliť. Pri dostatočnom počte zásuviek sa kolízie rozptýlia a úspora pamäte môže byť veľmi výhodná. Táto technika však neskrýva identitu bezpečným spôsobom. Útočník môže skúšať kandidátne vstupy a sledovať, do ktorých košov sa mapujú.
Časté otázky
Otázky, ktoré spresňujú význam
Akú výhodu má hashing trick oproti one-hot encodingu?
Rozmer vektora je pevný a netreba zostaviť ani uložiť slovník kategórií. To pomáha pri streamoch, veľmi veľkom počte hodnôt a neznámych kategóriách, ktoré sa objavia až po nasadení.
Ako sa volí počet hashovacích košov?
Vyšší počet znižuje kolízie, ale zvyšuje pamäť a výpočty. Voľba sa overuje na validačných dátach podľa výkonu modelu, rýchlosti a distribúcie aktívnych príznakov, nie iba podľa počtu unikátnych tokenov.
Načo slúži signed hashing?
Druhá hashovacia informácia priradí príspevku plus alebo mínus. Opačné znamienka čiastočne rušia systematický bias kolízií a lepšie zachovávajú vnútorné súčiny v očakávaní.
Dá sa z hashovaného vektora obnoviť pôvodný token?
Nie jednoznačne, pretože viac vstupov môže zdieľať rovnaký kôš a slovník sa neuchováva. Ak je množina kandidátov malá, možno skúšaním zistiť pravdepodobné mapovanie, takže nejde o anonymizáciu.
Kedy hashing trick nie je vhodný?
Keď potrebujete vysvetliť váhu konkrétnej kategórie, spätne zobraziť názov prvku alebo garantovať oddelenie citlivých hodnôt. Nevhodný je aj pri malom slovníku, kde explicitné mapovanie prináša lepšiu interpretovateľnosť.
Súvisiace pojmy
Významové a tematické súvislosti
Pojem v rozhodovaní
Odborné články, ktoré tento pojem používajú v praxi
Zdroje a redakčná stopa
Použité východiská a odborná revízia
- 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.
