Хитрість хитрості - що насправді відбувається


12

Коли алгоритми ML, наприклад, Vowpal Wabbit або хтось із механізмів факторизації, що виграють змагання за швидкість натискання ( Kaggle ), згадують, що функції "хешировані", що це насправді означає для моделі? Скажімо, існує змінна, яка представляє ідентифікатор інтернет-добудови, яка приймає такі значення, як "236BG231". Тоді я розумію, що ця функція хеширована до випадкового цілого числа. Але моє питання:

  • Чи використовується тепер ціле число в моделі, як ціле число (числове) АБО
  • чи хешированное значення насправді все ще трактується як категорична змінна та закодована одним гарячим? Таким чином, хеш-хитрість полягає лише в тому, щоб якось заощадити місце з великими даними?

Відповіді:


7

Друга куля - це значення в хешуваннях функцій. Хеширование та одне гаряче кодування для розріджених даних економить місце. Залежно від хеш-альго, ви можете мати різний ступінь зіткнення, що діє як певне зменшення розмірності.

Крім того, у конкретному випадку хешування функцій Kaggle та одне гаряче кодування допомагають розширити / інженерію функцій, беручи всі можливі кортежі (як правило, лише другого порядку, але іноді й треті) функцій, які потім хешируються зіткненнями, які явно створюють взаємодії, які часто прогнозують тоді як індивідуальних особливостей немає.

У більшості випадків ця методика у поєднанні з підбором особливостей та регуляризацією еластичної сітки в LR дуже схожа на один прихований шар NN, тому вона досить добре виступає на змаганнях.


Таким чином, кодування з одним гарячим режимом все ще використовується, лише на хешованих значеннях *, що, як ви кажете, економить простір і може спричинити зменшення розмірності (задані колізії). Це правильно?
B_Miner

1
Кодування одного хоста не є обов'язковою частиною хеш-функцій, але часто використовується поряд з тим, що допомагає гарний біт із прогнозованою потужністю. Один із способів думати про одне гаряче кодування - це перетворення функції з набору N дискретних значень у набір N двійкових питань. Можливо, для мене не важливо знати, чи функція J 2 або 3 лише те, що вона не є 4. One Hot робить це відмінність специфічним. Це дуже допомагає для лінійних моделей, тоді як ансамблеві підходи (наприклад, РФ) сканують точки перелому в функції, щоб знайти цю відмінність.
cwharland
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.